/* Church 2026 — “Living Sanctuary” visual system. */
:root{--sanctuary:#0b1230;--sanctuary-2:#151f4d;--cobalt:#3155d9;--cobalt-soft:#dbe4ff;--candle:#f4bd51;--ivory:#f7f4ec;--choir:#59c7ba;--revival-line:rgba(15,25,63,.14);--revival-shadow:0 24px 70px rgba(11,18,48,.14)}
body:not(.manage-body){background:var(--ivory)}
body:not(.manage-body) .site-header{height:84px;padding-inline:clamp(20px,5vw,72px);background:linear-gradient(180deg,rgba(8,15,43,.92),rgba(8,15,43,.12));border:0;color:#fff}
body:not(.manage-body) .site-header .brand{color:#fff}body:not(.manage-body) .site-header nav a,body:not(.manage-body) .site-header .text-button{color:rgba(255,255,255,.78)}
body:not(.manage-body) .hero{min-height:100svh;padding:150px clamp(24px,7vw,110px) 170px;background:var(--sanctuary)}
body:not(.manage-body) .hero>img{inset:-4%;width:108%;height:108%;filter:saturate(.82) contrast(1.08);animation:sanctuaryDrift 18s ease-in-out infinite alternate}
body:not(.manage-body) .hero-shade{background:linear-gradient(90deg,rgba(6,11,34,.98) 0%,rgba(6,11,34,.84) 42%,rgba(6,11,34,.18) 78%),linear-gradient(0deg,rgba(6,11,34,.82),transparent 48%)}
body:not(.manage-body) .hero-copy{z-index:4;max-width:870px}body:not(.manage-body) .hero h1{font-size:clamp(5.2rem,10vw,10.8rem);line-height:.77;letter-spacing:-.075em}body:not(.manage-body) .hero h1 em{color:var(--candle);text-shadow:0 0 45px rgba(244,189,81,.2)}
body:not(.manage-body) .hero-copy>p:not(.kicker){max-width:520px;font-size:clamp(1rem,1.4vw,1.26rem);color:rgba(255,255,255,.68)}
.sanctuary-window{position:absolute;z-index:3;right:7vw;top:18%;width:min(32vw,480px);aspect-ratio:1;border:1px solid rgba(255,255,255,.28);border-radius:50%;overflow:hidden;box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 120px rgba(49,85,217,.23);animation:windowBreathe 7s ease-in-out infinite}.sanctuary-window:before,.sanctuary-window:after{content:"";position:absolute;background:rgba(255,255,255,.23)}.sanctuary-window:before{left:50%;top:0;width:1px;height:100%}.sanctuary-window:after{left:0;top:50%;width:100%;height:1px}.sanctuary-window span{position:absolute;inset:8%;border-radius:50%;border:1px solid rgba(244,189,81,.38)}.sanctuary-window span:nth-child(2){inset:21%;border-color:rgba(89,199,186,.5)}.sanctuary-window span:nth-child(3){inset:34%;background:rgba(49,85,217,.22)}.sanctuary-window span:nth-child(4){inset:46%;background:var(--candle);box-shadow:0 0 60px rgba(244,189,81,.65)}.sanctuary-window b{position:absolute;left:50%;bottom:14%;transform:translateX(-50%);color:#fff;font-size:.65rem;letter-spacing:.2em;text-align:center;line-height:1.5}
.service-ribbon{position:absolute;z-index:5;left:0;right:0;bottom:0;display:flex;align-items:center;gap:28px;min-height:64px;padding:12px clamp(24px,6vw,92px);overflow:hidden;border-top:1px solid rgba(255,255,255,.13);background:rgba(7,13,38,.78);color:rgba(255,255,255,.72);backdrop-filter:blur(16px);font-size:.76rem;white-space:nowrap}.service-ribbon>span{padding:8px 12px;border-radius:4px;background:var(--candle);color:var(--sanctuary);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.service-ribbon i{width:4px;height:4px;border-radius:50%;background:var(--choir)}
body:not(.manage-body) .visit-strip{background:var(--ivory)}body:not(.manage-body) .events-section{background:#fff}body:not(.manage-body) .give-section{background:var(--sanctuary)}body:not(.manage-body) .connect-section{background:var(--cobalt);color:#fff}
body:not(.manage-body) .section-index{color:var(--cobalt);font-weight:700}body:not(.manage-body) .pill-button.amber{background:var(--candle);color:var(--sanctuary)}
@keyframes sanctuaryDrift{to{transform:scale(1.035) translate3d(-.8%,.5%,0)}}@keyframes windowBreathe{50%{transform:scale(1.025);box-shadow:0 0 0 42px rgba(255,255,255,.018),0 0 150px rgba(49,85,217,.34)}}

/* Management cockpit */
.manage-body{--night:var(--sanctuary);--amber:var(--candle);--teal:var(--cobalt);--paper:var(--ivory);--line:var(--revival-line);background:#eef1f8;color:var(--sanctuary)}
.manage-login{background:var(--ivory)}.login-image{background-image:linear-gradient(0deg,rgba(7,13,38,.93),rgba(7,13,38,.16)),url('./assets/church-hero-v1.webp');overflow:hidden}.login-image:after{content:"";position:absolute;right:-14%;top:12%;width:55%;aspect-ratio:1;border:70px solid rgba(244,189,81,.18);border-radius:50%}.login-image>*{position:relative;z-index:1}.login-panel{background:linear-gradient(145deg,#fff,var(--ivory))}.login-panel h2{font-size:clamp(3.4rem,5vw,5.6rem);line-height:.84}.login-panel input{border-radius:5px;background:#fff}.login-panel .pill-button{border-radius:5px}
.manage-shell{grid-template-columns:278px 1fr;transition:grid-template-columns .28s ease}.manage-shell.sidebar-collapsed{grid-template-columns:82px 1fr}.manage-sidebar{z-index:80;padding:24px 16px;background:linear-gradient(180deg,#0b1230,#111a41);transition:width .28s ease,padding .28s ease}.manage-sidebar .brand{min-height:65px}.manage-sidebar nav{gap:4px}.manage-sidebar nav button{min-height:48px;border-radius:5px}.manage-sidebar nav button i{flex:0 0 32px;border-radius:4px;font-size:.9rem}.manage-sidebar nav button.active{background:var(--cobalt);box-shadow:0 10px 24px rgba(49,85,217,.3)}.manage-sidebar nav button.active i{background:var(--candle)}.manage-sidebar footer{border-color:rgba(255,255,255,.1)}
.sidebar-collapse{display:flex;align-items:center;gap:9px;margin:0 8px 20px;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:5px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.64);font-size:.7rem;cursor:pointer}.sidebar-collapse span{display:grid;place-items:center;width:27px;height:27px;border-radius:4px;background:rgba(255,255,255,.08);font-size:1.25rem}.manage-shell.sidebar-collapsed .manage-sidebar{padding-inline:10px}.manage-shell.sidebar-collapsed .manage-sidebar .brand>span:last-child,.manage-shell.sidebar-collapsed .manage-sidebar nav button span,.manage-shell.sidebar-collapsed .manage-sidebar footer,.manage-shell.sidebar-collapsed .sidebar-collapse small{display:none}.manage-shell.sidebar-collapsed .manage-sidebar .brand{justify-content:center;padding-inline:0}.manage-shell.sidebar-collapsed .manage-sidebar nav button{justify-content:center;padding:8px}.manage-shell.sidebar-collapsed .sidebar-collapse{justify-content:center;margin-inline:3px}.manage-shell.sidebar-collapsed .sidebar-collapse span{transform:rotate(180deg)}
.manage-main{padding-inline:clamp(20px,3vw,48px)}.manage-top{position:sticky;z-index:50;top:0;margin-inline:calc(clamp(20px,3vw,48px)*-1);padding:18px clamp(20px,3vw,48px);background:rgba(238,241,248,.9);border-bottom:1px solid rgba(15,25,63,.08);backdrop-filter:blur(18px)}.manage-top h1{font-size:clamp(1.65rem,2.6vw,2.45rem)}.church-select,.metric-card,.panel,.manage-card,.table-wrap,.demographic-summary-card{border-radius:5px}.metric-card{min-height:148px;padding:23px;border:0;box-shadow:0 8px 28px rgba(18,29,70,.06)}.metric-card:first-child{background:var(--sanctuary);color:#fff}.metric-card:first-child small{color:rgba(255,255,255,.55)}.metric-card:first-child i{background:var(--candle);color:var(--sanctuary)}.panel{border:0;box-shadow:0 8px 28px rgba(18,29,70,.055)}.giving-panel{background:linear-gradient(145deg,var(--sanctuary),var(--sanctuary-2))}.notify-peek{background:linear-gradient(145deg,var(--cobalt),#233d9c)}
.giving-split{grid-template-columns:repeat(3,minmax(0,1fr))}.giving-split article{border-radius:5px}.giving-split article:nth-child(2){background:var(--cobalt)}
.notification-trigger{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--revival-line);border-radius:5px;background:#fff;color:var(--sanctuary);font-size:1.25rem;cursor:pointer}.notification-trigger b{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #eef1f8;border-radius:50%;background:var(--candle);font-size:.62rem}.notification-trigger b:empty,.notification-trigger b[data-count="0"]{display:none}
.notification-drawer{position:fixed;z-index:120;inset:0 0 0 auto;display:flex;flex-direction:column;width:min(450px,100%);padding:26px;background:#fff;box-shadow:-30px 0 80px rgba(7,13,38,.2);transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.notification-drawer.open{transform:none}.notification-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--revival-line)}.notification-drawer h2{margin:5px 0 0;font-size:2.3rem}.notification-drawer header button{border:0;background:none;font-size:2rem;cursor:pointer}.notification-feed{flex:1;overflow:auto;padding-block:10px}.live-notification{display:grid;grid-template-columns:44px 1fr;gap:13px;padding:16px 0;border-bottom:1px solid var(--revival-line)}.live-notification>i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cobalt-soft);color:var(--cobalt);font-style:normal;font-weight:700}.live-notification.contribution>i{background:#fff1cf;color:#8c5d00}.live-notification b,.live-notification small{display:block}.live-notification p{margin:5px 0;color:#5f667c;font-size:.78rem}.live-notification small{font-size:.65rem;color:#8a8fa0}.notification-drawer>footer{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid var(--revival-line);font-size:.7rem}.notification-drawer footer button{border:0;background:none;color:var(--cobalt);font-weight:700;cursor:pointer}.notification-scrim{position:fixed;z-index:110;inset:0;visibility:hidden;background:rgba(7,13,38,.48);opacity:0;transition:.25s}.notification-scrim.open{visibility:visible;opacity:1}.activity-toast{position:fixed;z-index:150;right:22px;bottom:22px;display:grid;grid-template-columns:42px 1fr;gap:12px;width:min(370px,calc(100% - 32px));padding:15px;border-radius:5px;background:var(--sanctuary);color:#fff;box-shadow:var(--revival-shadow);animation:activityIn .35s ease}.activity-toast i{display:grid;place-items:center;border-radius:50%;background:var(--candle);color:var(--sanctuary);font-style:normal}.activity-toast small{display:block;color:rgba(255,255,255,.6);margin-top:4px}@keyframes activityIn{from{opacity:0;transform:translateY(14px)}}

/* Intelligence */
.intelligence-hero{display:grid;grid-template-columns:1fr 230px;align-items:center;gap:50px;min-height:310px;padding:clamp(30px,5vw,70px);overflow:hidden;border-radius:5px;background:linear-gradient(125deg,var(--sanctuary),#1e2f78);color:#fff}.intelligence-hero h2{margin:14px 0;font-size:clamp(2.9rem,5vw,5.7rem);line-height:.86;letter-spacing:-.06em}.intelligence-hero h2 em{color:var(--candle);font-style:normal}.intelligence-hero p{max-width:650px;color:rgba(255,255,255,.65);line-height:1.6}.intelligence-pulse{position:relative;display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(255,255,255,.26);border-radius:50%}.intelligence-pulse:before,.intelligence-pulse span{content:"";position:absolute;inset:13%;border:1px solid rgba(244,189,81,.5);border-radius:50%;animation:pulseRing 3s ease-out infinite}.intelligence-pulse span{inset:27%;animation-delay:1s}.intelligence-pulse b{font-size:3.4rem}.intelligence-pulse small{margin-top:-55px;color:rgba(255,255,255,.55)}@keyframes pulseRing{70%,100%{opacity:0;transform:scale(1.22)}}.intelligence-controls{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.intelligence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.intelligence-stat{padding:22px;border-radius:5px;background:#fff;box-shadow:0 8px 28px rgba(18,29,70,.055)}.intelligence-stat small{color:#777f94;font-size:.65rem;letter-spacing:.1em}.intelligence-stat strong{display:block;margin:18px 0 6px;font-size:2.3rem}.intelligence-stat span{font-size:.72rem;color:var(--cobalt)}.intelligence-deep-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px}.live-chip{padding:6px 9px;border-radius:4px;background:#e4f8f3;color:#147568;font-size:.62rem;font-weight:700}.intelligence-bars{display:flex;align-items:flex-end;gap:8px;height:230px;padding-top:30px}.intelligence-bar{position:relative;flex:1;min-height:8px;border-radius:3px 3px 0 0;background:linear-gradient(var(--cobalt),#7390f5)}.intelligence-bar:hover:after{content:attr(data-value);position:absolute;left:50%;top:-27px;transform:translateX(-50%);padding:4px 6px;border-radius:3px;background:var(--sanctuary);color:#fff;font-size:.6rem}.signal-list{display:grid;margin-top:12px}.signal-item{display:grid;grid-template-columns:auto 1fr;gap:11px;padding:13px 0;border-bottom:1px solid var(--revival-line)}.signal-item i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff1cf;color:#8c5d00;font-style:normal}.signal-item p{margin:4px 0 0;color:#6d7386;font-size:.76rem}.intelligence-table-panel{margin-top:12px}

/* Settings wizard */
.settings-shell{display:grid;grid-template-columns:265px 1fr;min-height:680px;border-radius:5px;background:#fff;box-shadow:0 8px 30px rgba(18,29,70,.06);overflow:hidden}.settings-steps{padding:28px 18px;background:var(--sanctuary);color:#fff}.settings-steps>.section-index{display:block;margin:0 10px 22px;color:var(--candle)}.settings-steps button{display:grid;grid-template-columns:34px 1fr;gap:11px;width:100%;padding:13px 10px;border:0;border-radius:5px;background:transparent;color:rgba(255,255,255,.55);text-align:left;cursor:pointer}.settings-steps button>i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);font-style:normal;font-size:.62rem}.settings-steps button span{display:flex;flex-direction:column;gap:2px}.settings-steps button small{font-size:.62rem}.settings-steps button.active{background:var(--cobalt);color:#fff}.settings-steps button.active>i{background:var(--candle);border-color:var(--candle);color:var(--sanctuary)}.settings-content{padding:clamp(28px,5vw,65px)}.settings-pane{display:none}.settings-pane.active{display:block;animation:manageViewIn .3s ease}.settings-pane>h2{margin:10px 0;font-size:clamp(2.5rem,4vw,4.7rem);letter-spacing:-.06em}.settings-pane>p{max-width:700px;margin-bottom:34px;color:#687086;line-height:1.6}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-form-grid .wide{grid-column:1/-1}.settings-pane label,.credit-topup label{display:grid;gap:8px;margin-bottom:15px;font-size:.72rem;font-weight:700}.settings-pane input,.settings-pane select,.settings-pane textarea,.credit-topup input,.credit-topup select{width:100%;padding:13px;border:1px solid var(--revival-line);border-radius:5px;background:#f8f9fc;outline:0}.settings-pane input:focus,.settings-pane select:focus,.settings-pane textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(49,85,217,.12)}.security-block{margin:20px 0;padding:22px;border:1px solid var(--revival-line);border-radius:5px}.security-block h3{margin-top:0}.setting-toggle{display:flex!important;align-items:center;justify-content:space-between;padding:16px;border-radius:5px;background:#f4f6fb}.setting-toggle span{display:grid;gap:3px}.setting-toggle small{color:#747b8e}.setting-toggle input,.automation-cards header input{width:45px;height:24px;accent-color:var(--cobalt)}.automation-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.automation-cards article{padding:20px;border:1px solid var(--revival-line);border-radius:5px}.automation-cards header{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin-bottom:20px}.automation-cards header>i{display:grid;place-items:center;width:38px;height:38px;border-radius:5px;background:var(--cobalt-soft);color:var(--cobalt);font-style:normal;font-size:.7rem;font-weight:700}.automation-cards h3{margin:0}.automation-cards small{color:#777f94}.credit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.credit-card{padding:24px;border-radius:5px;background:var(--sanctuary);color:#fff}.credit-card:nth-child(2){background:var(--cobalt)}.credit-card small{color:rgba(255,255,255,.55);letter-spacing:.1em}.credit-card strong{display:block;margin:18px 0 4px;font-size:3.2rem}.credit-card span{font-size:.72rem;color:var(--candle)}.credit-topup{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-top:18px;padding:20px;border-radius:5px;background:#f2f4fa}.credit-topup label{margin:0}.credit-topup button{min-height:44px}

/* Guided first-login tour */
.onboarding{position:fixed;z-index:200;inset:0;background:rgba(5,9,28,.64);pointer-events:none}.onboarding:not([hidden]){display:block}.onboarding-spotlight{position:absolute;border-radius:8px;box-shadow:0 0 0 9999px rgba(5,9,28,.72);transition:.38s cubic-bezier(.2,.8,.2,1)}.onboarding article{position:absolute;right:30px;bottom:30px;width:min(410px,calc(100% - 32px));padding:26px;border-radius:5px;background:#fff;color:var(--sanctuary);box-shadow:var(--revival-shadow);pointer-events:auto}.onboarding article>span{color:var(--cobalt);font-size:.66rem;font-weight:700;letter-spacing:.12em}.onboarding h2{margin:10px 0;font-size:2rem;line-height:1}.onboarding p{color:#687086;line-height:1.55}.onboarding article>div{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.onboarding .pill-button{border-radius:5px}

@media(max-width:1100px){.intelligence-grid{grid-template-columns:repeat(2,1fr)}.automation-cards{grid-template-columns:1fr}.intelligence-deep-grid{grid-template-columns:1fr}}
@media(max-width:760px){body:not(.manage-body) .hero{padding-bottom:150px}.sanctuary-window{right:-30%;top:21%;width:82vw;opacity:.58}.service-ribbon{gap:14px;overflow-x:auto}.manage-shell.sidebar-collapsed{display:block}.sidebar-collapse{display:none}.notification-trigger{width:40px;height:40px}.intelligence-hero{grid-template-columns:1fr;padding:30px 24px}.intelligence-pulse{width:170px}.intelligence-controls{align-items:flex-start;flex-direction:column;gap:12px}.intelligence-grid{grid-template-columns:1fr 1fr}.settings-shell{grid-template-columns:1fr}.settings-steps{display:flex;gap:5px;padding:10px;overflow-x:auto}.settings-steps>.section-index{display:none}.settings-steps button{min-width:145px}.settings-content{padding:28px 18px}.settings-form-grid,.credit-grid,.credit-topup,.giving-split{grid-template-columns:1fr}.settings-form-grid .wide{grid-column:auto}.onboarding article{right:16px;bottom:16px}.onboarding-spotlight{display:none}}
@media(max-width:480px){body:not(.manage-body) .hero h1{font-size:4.4rem}.intelligence-grid{grid-template-columns:1fr}.notification-drawer{padding:20px}.admin-chip{display:none}}
@media(prefers-reduced-motion:reduce){.sanctuary-window,.sanctuary-window span,body:not(.manage-body) .hero>img{animation:none!important}}
