:root{
  color-scheme:light;font-size:calc(16px * var(--app-font-scale,1));font-family:var(--app-font-family,Inter,'Segoe UI',Arial,sans-serif);
  --forest:var(--brand-light-primary,#173c36);--accent:var(--brand-light-accent,#ffae00);--on-primary:var(--brand-light-on-primary,#fff);--on-accent:var(--brand-light-on-accent,#111);
  --sidebar:var(--brand-light-sidebar,#0e3f30);--sidebar-text:var(--brand-light-on-sidebar,#fff);--sidebar-gradient:var(--brand-light-sidebar-gradient,linear-gradient(to top,#000000,#0e3f30));
  --cream:var(--brand-light-background,#f7f7f2);--paper:var(--brand-light-surface,#ffffff);--mint:var(--brand-light-soft,#edf2e9);--surface-text:var(--brand-light-on-surface,#111);
  --ink:color-mix(in srgb,var(--surface-text) 88%,var(--paper));--muted:color-mix(in srgb,var(--ink) 70%,var(--paper));--line:color-mix(in srgb,var(--ink) 15%,var(--paper));--forest2:color-mix(in srgb,var(--forest) 88%,var(--ink));
}
html[data-theme=dark]{
  color-scheme:dark;--forest:var(--brand-dark-primary,#ffffff);--accent:var(--brand-dark-accent,#ffae00);--on-primary:var(--brand-dark-on-primary,#111);--on-accent:var(--brand-dark-on-accent,#111);
  --sidebar:var(--brand-dark-sidebar,#0e3f30);--sidebar-text:var(--brand-dark-on-sidebar,#fff);--sidebar-gradient:var(--brand-dark-sidebar-gradient,linear-gradient(to top,#000000,#0e3f30));
  --cream:var(--brand-dark-background,#000000);--paper:var(--brand-dark-surface,#060e13);--mint:var(--brand-dark-soft,#000000);--surface-text:var(--brand-dark-on-surface,#fff);--shadow:0 12px 40px #0002;
}
html,body{background:var(--cream);color:var(--ink)}.topbar{height:auto;min-height:76px;padding-block:10px}.theme-toggle{color:var(--forest);flex-shrink:0;border:1px solid var(--line);min-width:40px;min-height:40px;background:var(--paper)}
.sidebar,.mobile-menu{background-color:var(--sidebar);background-image:var(--sidebar-gradient);color:var(--sidebar-text)}
.brand,.nav-button,.brand small,.church small,.nav-label,.profile-row small,.local-info p,.mobile-menu .role-label,.mobile-menu .icon-btn{color:var(--sidebar-text)}
.brand small,.church small,.nav-label,.profile-row small,.local-info p,.mobile-menu .role-label{color:color-mix(in srgb,var(--sidebar-text) 70%,transparent)}
.nav-button:hover,.mobile-menu .icon-btn:hover{color:var(--sidebar-text);background:color-mix(in srgb,var(--sidebar-text) 9%,transparent)}
.nav-button.active{background:var(--accent);color:var(--on-accent)}.nav-button.active .count{background:color-mix(in srgb,var(--on-accent) 9%,transparent)}
.church,.local-info{border-color:color-mix(in srgb,var(--sidebar-text) 16%,transparent);background:color-mix(in srgb,var(--sidebar-text) 4%,transparent)}
.profile-row{border-color:color-mix(in srgb,var(--sidebar-text) 18%,transparent)}.mobile-menu .role-label select{background:var(--sidebar);color:var(--sidebar-text)}
.avatar{background:var(--accent);color:var(--on-accent)}.church-icon{color:var(--accent)}
.hero{background:var(--sidebar);color:var(--sidebar-text)}.hero h2,.hero .person-role b{color:var(--sidebar-text)}
.hero .eyebrow,.hero-date,.hero .person-role,.hero-side p{color:color-mix(in srgb,var(--sidebar-text) 76%,transparent)}
.hero .btn,.btn.gold{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.hero-side .text-btn{color:var(--sidebar-text)}
.hero-side{border-color:color-mix(in srgb,var(--sidebar-text) 15%,transparent);background:color-mix(in srgb,var(--sidebar-text) 3%,transparent)}
.btn.primary,.chip.active,.calendar-day.today .day-number{color:var(--on-primary)}.btn.primary:hover{color:var(--on-primary)}
.btn:hover,.icon-btn:hover,.result-button:hover{background:var(--mint)}.btn.primary:hover{background:var(--forest2)}
.tile-icon,.quick-link .tile-icon,.date-tile,.bottom-nav button.active{background:var(--mint);color:var(--forest)}
th,.calendar-weekdays,.calendar-day.off-month{background:var(--mint);border-color:var(--line)}
.search,.field input,.field select,.field textarea,.toolbar>select,.toolbar input[type=date]{background:var(--paper);color:var(--ink);border-color:var(--line)}
.search input{color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted)}
.list-row,.mini-announcement,.card-bottom,td,.calendar-day,.result-button{border-color:var(--line)}
.breadcrumb svg,.calendar-weekdays span,.calendar-day .day-number,.resource-link-host,.footer,.verse,.verse small{color:var(--muted)}
.topbar .global-search{background:#f1f0e9;border-color:#dedfd8;color:#69736e}.topbar .global-search input{color:#253b34}.topbar .global-search input::placeholder{color:#69736e}.topbar .global-search kbd{border-color:#d8d9d1;color:#69736e}
html[data-theme=dark] .topbar .global-search{background:#29332f;border-color:#425149;color:#bdcbc2}html[data-theme=dark] .topbar .global-search input{color:#e1e9e3}html[data-theme=dark] .topbar .global-search input::placeholder{color:#bdcbc2}html[data-theme=dark] .topbar .global-search kbd{border-color:#425149;color:#bdcbc2}
.global-search kbd{border-color:var(--line)}.toast{color:var(--on-primary)}
.drawer .form-section>summary{background:transparent;color:var(--accent);font-weight:400;padding:13px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:44px}
.drawer .form-section>summary svg{color:var(--muted)}
.rota-health-nugget{border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.rota-health-nugget h3{color:var(--accent);font-size:1rem;font-weight:400;margin:0 0 14px}
.drawer .form-section>summary:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
.settings-tabs{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.settings-tabs .chip{display:flex;align-items:center;gap:8px;font-size:.9375rem}.settings-tabs svg{width:16px;height:16px}
.appearance-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.appearance-columns .panel{min-width:0}
#appearance-form fieldset{border:0;margin:0;padding:0;min-width:0}.appearance-help{font-size:.9375rem;color:var(--muted);margin:20px 0 0}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.theme-choice{display:flex;gap:13px;align-items:center;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:18px;text-align:left;min-width:0}
.theme-choice.active{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest);background:var(--mint)}.theme-choice>svg{width:23px;height:23px;color:var(--forest)}.theme-choice strong{display:block;font-size:1rem}.theme-choice small{display:block;color:var(--muted);font-size:.875rem;margin-top:5px;line-height:1.5}
.colour-setting{display:grid;grid-template-columns:minmax(0,1fr) 44px 74px;align-items:center;gap:12px;margin:17px 0;font-size:.9375rem}
.colour-setting input{width:44px;min-height:36px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--paper);cursor:pointer}.colour-setting code{font-size:.875rem;color:var(--muted)}
.appearance-divider{padding-top:18px;margin:22px 0 16px;border-top:1px solid var(--line);font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.appearance-preview{display:grid;grid-template-columns:1fr 1.1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:24px;font-family:var(--preview-font-family);font-size:calc(12px * var(--preview-scale));min-height:210px;background:var(--preview-background)}
.appearance-preview-nav{display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px 12px;background-color:var(--preview-sidebar);background-image:var(--preview-sidebar-gradient);color:var(--preview-on-sidebar);overflow-wrap:anywhere}
.appearance-preview-nav strong{font-size:1.1em}.appearance-preview-nav span{padding:8px;border-radius:6px;font-size:.9em}.appearance-preview .preview-active{background:var(--preview-accent);color:var(--preview-on-accent)}.appearance-preview-nav small{margin-top:auto;font-size:.8em}
.appearance-preview-page{padding:12px;display:grid;place-items:center;color:var(--preview-on-surface);min-width:0}.preview-card{background:var(--preview-surface);padding:16px 12px;border-radius:9px;overflow-wrap:anywhere;width:100%}
.preview-card strong{font-size:1em}.preview-card p{font-size:.8em;margin:6px 0 13px}.preview-button{display:block;background:var(--preview-primary);color:var(--preview-on-primary);padding:8px;border-radius:5px;font-size:.8em;text-align:center}.preview-soft{display:block;background:var(--preview-soft);color:var(--preview-on-soft);padding:8px;margin-top:10px;font-size:.75em;border-radius:5px;text-align:center}
.appearance-actions{position:sticky;bottom:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:17px 20px;display:flex;justify-content:space-between;gap:18px;align-items:center;z-index:3;box-shadow:var(--shadow)}
.appearance-actions>span{font-size:.875rem;color:var(--muted);line-height:1.6}.appearance-actions>div{display:flex;flex-wrap:wrap;gap:8px}.appearance-actions .btn{font-size:.875rem}
html[data-theme=dark] .notice{background:#382f20;border-color:#635135;color:#e6d2ac}html[data-theme=dark] .notice .text-btn{color:#e6d2ac}
html[data-theme=dark] .notice.blue{background:#223c2c;border-color:#41654c;color:#d2e9d6}
html[data-theme=dark] .tag,html[data-theme=dark] .tag.sample{background:#293b30;color:#c8decc}html[data-theme=dark] .tag.amber,html[data-theme=dark] .tile-icon.amber{background:#443923;color:#efd4a0}
html[data-theme=dark] .tag.green{background:#25452e;color:#d0eecf}html[data-theme=dark] .tag.violet,html[data-theme=dark] .tile-icon.violet{background:#39303f;color:#dac4e7}
html[data-theme=dark] .tag.red,html[data-theme=dark] .form-error{background:#452c25;border-color:#785044;color:#ffd7c6}html[data-theme=dark] .btn.danger{color:#f2b49c}
html[data-theme=dark] .calendar-entry{background:#25452e;color:#d0eecf;border-color:#79a76e}html[data-theme=dark] .calendar-entry.meeting{background:#39303f;color:#dac4e7;border-color:#9c83a7}html[data-theme=dark] .calendar-entry.prayer{background:#443923;color:#efd4a0;border-color:#c4a26b}
@media(max-width:1040px){.appearance-columns{grid-template-columns:1fr}.topbar{gap:12px}.appearance-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){.topbar{min-height:66px;padding-block:10px;gap:8px}.theme-toggle{min-width:36px;min-height:36px}.global-search{max-width:150px}.appearance-actions{position:static}.theme-options{gap:10px}.theme-choice{padding:13px;align-items:flex-start}}
@media(max-width:560px){.global-search{max-width:115px;padding-inline:3px;gap:5px}.breadcrumb{white-space:normal}.appearance-columns{gap:0}.appearance-preview{min-height:200px}.theme-options{grid-template-columns:1fr}.appearance-actions{padding:14px}.colour-setting{gap:8px;grid-template-columns:minmax(0,1fr) 38px 66px}.colour-setting input{width:38px}.colour-setting code{font-size:.875rem}}

:root{--ink:#253b34;--muted:#6b7970;--line:#e1e5dc}html[data-theme=dark]{--ink:#e1e9e3;--muted:#afbeb3;--line:#35473d;--on-primary:#111111}

/* The date number follows the selected highlight colour throughout the hub. */
.date-badge .date-badge-number,.rota-month-card .date-badge .date-badge-number{color:var(--accent)}
