.manage-body{background:#f1f0eb}.manage-login{min-height:100dvh;grid-template-columns:1.2fr .8fr;background:var(--paper)}.manage-login:not([hidden]){display:grid}.manage-login[hidden]{display:none!important}.login-image{position:relative;display:flex;justify-content:space-between;flex-direction:column;padding:45px 55px;background:linear-gradient(0deg,rgba(10,13,34,.82),rgba(10,13,34,.1)),url('./assets/church-hero-v1.png') 63% center/cover;color:#fff}.login-image>div>span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--amber2)}.login-image h1{font-size:clamp(55px,6vw,90px);line-height:.88;letter-spacing:-.07em}.login-image h1 em{color:var(--amber);font-weight:400}.login-panel{display:flex;justify-content:center;flex-direction:column;padding:60px clamp(30px,7vw,100px)}.login-panel>a{position:absolute;top:32px;color:var(--muted);font-size:12px}.login-panel h2{margin:14px 0 0;font-size:52px;letter-spacing:-.055em}.login-panel>p,.login-panel form>p{color:var(--muted);line-height:1.6}.login-panel label{display:flex;flex-direction:column;gap:7px;margin:16px 0;font-size:12px;font-weight:700}.login-panel input{padding:15px;border:1px solid var(--line);border-radius:13px;outline:none}.manage-shell{min-height:100dvh;grid-template-columns:245px 1fr}.manage-shell:not([hidden]){display:grid}.manage-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:27px 18px;background:var(--night);color:#fff}.manage-sidebar .brand{padding:0 10px 30px}.manage-sidebar nav{display:grid;gap:5px}.manage-sidebar nav button{display:flex;align-items:center;gap:13px;padding:13px;border-radius:13px;background:transparent;color:rgba(255,255,255,.62);text-align:left}.manage-sidebar nav button i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.06);font-style:normal}.manage-sidebar nav button.active{background:rgba(255,255,255,.1);color:#fff}.manage-sidebar nav button.active i{background:var(--amber);color:var(--night)}.manage-sidebar footer{display:grid;gap:10px;margin-top:auto;padding:17px 10px 0;border-top:1px solid rgba(255,255,255,.12);font-size:11px}.manage-sidebar footer button{padding:0;background:none;color:rgba(255,255,255,.6);text-align:left}.manage-main{min-width:0;padding:0 clamp(20px,4vw,54px) 60px}.manage-top{display:flex;align-items:center;gap:20px;padding:27px 0 24px}.manage-top>div:first-of-type{flex:1}.manage-top small{font-size:8px;letter-spacing:.15em;color:var(--muted)}.manage-top h1{margin:3px 0;font-size:30px;letter-spacing:-.04em}.menu-toggle{display:none;background:none;font-size:22px}.admin-chip{display:flex;align-items:center;gap:10px}.admin-chip>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--night);color:var(--amber);font-weight:700}.admin-chip>div{display:flex;flex-direction:column}.admin-chip small{font-size:9px}.manage-view{display:none}.manage-view.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-card{position:relative;padding:21px;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.metric-card small{font-size:8px;letter-spacing:.1em;color:var(--muted)}.metric-card strong{display:block;margin-top:18px;font-size:31px;letter-spacing:-.04em}.metric-card i{position:absolute;right:15px;top:15px;display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:#edf1ee;color:var(--teal);font-style:normal}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;margin-top:12px}.dashboard-grid.lower{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.panel{padding:23px;border:1px solid var(--line);border-radius:22px;background:#fff}.panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.panel header small,.notify-peek>small{font-size:8px;letter-spacing:.13em;color:var(--muted)}.panel h2{margin:5px 0;font-size:22px}.panel header button{background:none;color:var(--teal);font-weight:700}.giving-panel{background:var(--night);color:#fff}.giving-panel header span{padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.09);color:var(--amber)}.giving-panel header small{color:rgba(255,255,255,.5)}.giving-panel h2{font-size:32px}.bar-chart{height:180px;display:flex;align-items:flex-end;gap:12px;padding-top:25px}.bar-chart i{flex:1;border-radius:7px 7px 2px 2px;background:rgba(255,255,255,.13)}.bar-chart i.active{background:var(--amber)}.giving-panel footer{display:flex;justify-content:space-between;color:rgba(255,255,255,.4);font-size:9px}.round-add{display:grid!important;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--amber)!important;color:var(--night)!important;font-size:19px}.compact-list{display:grid;margin-top:16px}.compact-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.compact-item:last-child{border:0}.compact-item>i{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#edf1ee;color:var(--teal);font-style:normal;font-weight:700}.compact-item>div{display:flex;flex-direction:column}.compact-item small{color:var(--muted)}.compact-item>span{text-align:right;font-size:11px}.notify-peek{background:linear-gradient(145deg,var(--teal),#155d58);color:#fff}.notify-peek>small{color:var(--amber2)}.notify-peek h2{font-size:32px}.notify-peek p{color:rgba(255,255,255,.62);line-height:1.6}.view-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.view-actions>p,.view-actions>span{color:var(--muted)}.search-box{min-width:300px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.search-box input{width:100%;padding:13px 0;border:0;outline:none}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:15px;text-align:left;border-bottom:1px solid var(--line);font-size:12px}th{background:#f7f5ef;color:var(--muted);font-size:8px;letter-spacing:.11em;text-transform:uppercase}td small{display:block;color:var(--muted);margin-top:3px}.status-dot{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:99px;background:#e7f4f0;color:var(--teal);font-size:9px;font-weight:700}.status-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.manage-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.manage-card{padding:12px;border:1px solid var(--line);border-radius:20px;background:#fff}.manage-card img{width:100%;aspect-ratio:1.7;object-fit:cover;border-radius:14px}.manage-card>div{padding:12px 4px 4px}.manage-card small{color:var(--teal);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.manage-card h3{margin:7px 0;font-size:19px}.manage-card p{color:var(--muted);font-size:11px;line-height:1.5}.manage-card footer{display:flex;justify-content:space-between;margin-top:12px;font-size:10px}.manage-card footer b{color:var(--teal)}.manage-card .mini-progress{height:5px;margin:12px 0;border-radius:5px;background:#ece8df;overflow:hidden}.manage-card .mini-progress i{display:block;height:100%;background:var(--amber)}.manage-card-grid.campaigns{margin-bottom:20px}.notify-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px}.notify-compose h2{font-size:38px}.notify-compose label{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:11px;font-weight:700}.notify-compose select,.notify-compose textarea{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}.message-meta{display:flex;justify-content:space-between;margin:-5px 0 16px;color:var(--muted);font-size:9px}.manage-shell .modal label{margin:12px 0}.manage-sidebar.open{transform:none}
.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:90;background:rgba(10,13,34,.5);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s ease}
.manage-view{animation:manageViewIn .32s ease}
@keyframes manageViewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.metric-card,.panel,.manage-card,.demographic-summary-card{transition:transform .2s ease,box-shadow .2s ease}
.metric-card:hover,.panel:hover,.manage-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,20,45,.08)}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.manage-card-grid{grid-template-columns:repeat(2,1fr)}.notify-layout{grid-template-columns:1fr}}
@media(max-width:760px){.manage-login{grid-template-columns:1fr}.login-image{min-height:340px;padding:30px 20px}.login-image h1{font-size:50px}.login-panel{padding:60px 20px}.manage-shell:not([hidden]){display:block}.manage-sidebar{position:fixed;z-index:100;left:0;width:245px;transform:translateX(-105%);transition:transform .3s ease}.manage-main{padding:0 14px 90px}.menu-toggle{display:block}.admin-chip>div{display:none}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:16px}.metric-card strong{font-size:24px}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.manage-card-grid{grid-template-columns:1fr}.view-actions{align-items:flex-start;flex-direction:column}.search-box{min-width:0;width:100%}.notify-layout{grid-template-columns:1fr}
  /* Top bar: title, church switcher and admin chip must wrap instead of
     forcing the whole page wider than the viewport — the select and chip
     don't shrink on their own, so without wrapping the row overflows. */
  .manage-top{flex-wrap:wrap;row-gap:12px;padding:18px 0 16px}
  .manage-top>div:first-of-type{min-width:0;flex:1 1 auto}
  .manage-top h1{font-size:22px}
  .church-select-wrapper{order:3;flex:1 1 auto;min-width:0}
  .church-select{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .admin-chip{order:2}
  .manage-shell:not([hidden]) .sidebar-backdrop{display:block}
  .sidebar-backdrop.open{opacity:1;pointer-events:auto}
  .demographic-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.login-image{background-image:linear-gradient(0deg,rgba(10,13,34,.82),rgba(10,13,34,.1)),url('./assets/church-hero-v1.webp')}
.giving-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:22px}.giving-split article{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:22px;background:var(--night);color:#fff}.giving-split article:last-child{background:var(--amber);color:var(--night)}.giving-split small{font-size:9px;letter-spacing:.13em}.giving-split strong{font-size:clamp(24px,3vw,38px);letter-spacing:-.05em}
@media(max-width:640px){.giving-split{grid-template-columns:1fr}}
.church-select-wrapper{display:flex;align-items:center}
.church-select{padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:700;color:var(--night);outline:none;cursor:pointer}

/* Demographic badges & filters */
.demographic-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
.demographic-summary-card{padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:6px}
.demographic-summary-card small{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.demographic-summary-card strong{font-size:24px;letter-spacing:-.03em;color:var(--night)}
.demographic-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.demographic-pills::-webkit-scrollbar{display:none}
.demo-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:600;color:var(--night);cursor:pointer;white-space:nowrap;transition:all .2s ease}
.demo-pill span{padding:2px 7px;border-radius:999px;background:#edf1ee;font-size:10px;font-weight:700;color:var(--teal)}
.demo-pill.active{background:var(--night);color:#fff;border-color:var(--night)}
.demo-pill.active span{background:var(--amber);color:var(--night)}

.demo-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.demo-tag.children{background:#fef3c7;color:#92400e}
.demo-tag.youth{background:#e0e7ff;color:#3730a3}
.demo-tag.adults{background:#dcfce7;color:#166534}
.demo-tag.elders{background:#f3e8ff;color:#6b21a8}

/* Filters & Actions */
.search-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.sub-select{padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:12px;font-weight:600;color:var(--night);outline:none;cursor:pointer}
.action-btn-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.sub-nav-tabs{display:flex;gap:6px;background:rgba(0,0,0,.04);padding:4px;border-radius:14px}
.sub-tab{padding:8px 16px;border-radius:10px;border:0;background:transparent;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .2s ease}
.sub-tab.active{background:#fff;color:var(--night);box-shadow:0 2px 6px rgba(0,0,0,.05)}

/* File drop zone & modal helpers */
.file-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:34px 20px;border:2px dashed var(--line);border-radius:18px;background:#faf9f6;cursor:pointer;text-align:center;transition:border-color .2s ease}
.file-drop-zone:hover{border-color:var(--teal);background:#f4f8f6}
.modal-wide{max-width:850px;width:95vw}
.td-btn-group{display:flex;gap:6px}
.btn-mini{padding:4px 9px;border-radius:8px;font-size:10px;font-weight:700;border:1px solid var(--line);background:#fff;cursor:pointer}
.btn-mini.danger{color:#dc2626;border-color:#fecaca}
.giving-rhythm-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f3e8df;color:#8b4d35;font-size:9px;font-weight:800;letter-spacing:.02em}.giving-rhythm-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.giving-rhythm-status.regular{background:#dcfce7;color:#166534}.giving-rhythm-status.never{background:#fee2e2;color:#991b1b}.giving-rhythm-status.new{background:#e0e7ff;color:#3730a3}

.pill-button.teal{background:var(--teal);color:#fff}
.pill-button.teal:hover{background:#0d5e59}
.role-badge{display:inline-block;padding:4px 8px;border-radius:6px;background:var(--night);color:var(--amber);font-size:9.5px;font-weight:700;text-transform:uppercase}

/* ---------------------------------------------------------------
   Wizard-style section separators — used inside merged views
   (Team & Members, Ministries & Communities, Posts & Events) to
   visually divide the two combined sections on a single page.
   --------------------------------------------------------------- */
.wizard-section{margin-bottom:8px}
.wizard-section:last-child{margin-bottom:0}
.wizard-divider{display:flex;align-items:center;gap:14px;margin:6px 0 26px}
.wizard-step{display:flex;align-items:center;gap:10px;flex-shrink:0}
.wizard-num{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--night);color:var(--amber);font-weight:700;font-size:12px}
.wizard-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink,#0a0d22);font-weight:700;white-space:nowrap}
.wizard-step.muted .wizard-num{background:#ece8df;color:var(--muted)}
.wizard-step.muted .wizard-label{color:var(--muted)}
.wizard-track{flex:1;min-width:24px;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}
.wizard-section:first-of-type .wizard-divider{margin-top:0}
@media(max-width:760px){.wizard-divider{gap:8px;margin:4px 0 18px}.wizard-label{font-size:9px}.wizard-num{width:24px;height:24px;font-size:11px}.wizard-track{min-width:16px}}
/* Managed contribution payment confirmation */
.manage-payment-state{min-height:490px;place-content:center;justify-items:center;text-align:center}.manage-payment-state:not([hidden]){display:grid}.manage-payment-state>.pay-orb{position:relative;display:grid;place-items:center;width:92px;height:92px;border-radius:30px;background:var(--wine,#3b2028);color:#fff;font-size:25px;font-weight:700}.manage-payment-state>.pay-orb i{position:absolute;inset:-9px;border:2px solid var(--copper,#d98f5c);border-right-color:transparent;border-radius:35px;animation:spin 1.2s linear infinite}.manage-payment-state>small,.manage-payment-state>b{margin-top:24px;color:#9a5939;font-size:9px;letter-spacing:.12em}.manage-payment-state h3{margin:24px 0 8px;font-size:34px;color:var(--wine,#3b2028)}.manage-payment-state p{max-width:390px;color:var(--muted,#776b6d);line-height:1.6}.manage-payment-state .payment-line{width:min(340px,100%);height:6px;margin:20px;background:#e4dfd5;border-radius:8px;overflow:hidden}.manage-payment-state .payment-line i{display:block;width:14%;height:100%;background:var(--copper,#d98f5c);transition:.5s}.manage-payment-state.failed>.pay-orb{background:#8d3034}.manage-payment-state.complete>.pay-orb{background:#346b54}.manage-payment-actions{display:flex;align-items:center;gap:15px;margin-top:15px}@media(max-width:600px){.manage-payment-actions{width:100%;flex-direction:column}.manage-payment-actions>*{width:100%}}
