@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root { --ink:#20153b; --muted:#756c8b; --purple:#6d28d9; --purple-deep:#4c1d95; --violet:#8b5cf6; --lavender:#ede9fe; --line:rgba(109,40,217,.13); --glass:rgba(255,255,255,.72); --white:#fff; --success:#087d62; --danger:#c13e67; --shadow:0 22px 55px rgba(57,24,114,.12); font-family:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); }
*{box-sizing:border-box} [hidden]{display:none!important} html{min-height:100%;background:#f7f5ff} body{margin:0;min-height:100vh;background:radial-gradient(circle at 5% 0,#f1eaff 0,transparent 29rem),radial-gradient(circle at 95% 40%,#e6ddff 0,transparent 28rem),#f8f7fc;font-size:14px;line-height:1.45} button,input,select,textarea{font:inherit} button{cursor:pointer} button:disabled{cursor:not-allowed;opacity:.55} a{color:inherit;text-decoration:none}.glass{background:var(--glass);border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.ambient{position:fixed;border-radius:100%;filter:blur(4px);pointer-events:none;z-index:-1;opacity:.75}.ambient-one{height:33rem;width:33rem;background:rgba(196,181,253,.35);top:-17rem;right:7%}.ambient-two{height:20rem;width:20rem;background:rgba(221,214,254,.6);bottom:4rem;left:-8rem}.ambient-three{height:12rem;width:12rem;background:rgba(167,139,250,.18);bottom:-5rem;right:15%}
.auth-view{display:grid;place-items:center;min-height:100vh;padding:2rem}.auth-view[hidden],.app[hidden]{display:none!important}.auth-card{width:min(100%,440px);padding:2.15rem;border-radius:30px;position:relative}.brand-lockup{display:flex;align-items:center;gap:.72rem}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;background:linear-gradient(135deg,#8b5cf6,#4c1d95);border:1px solid rgba(255,255,255,.6);border-radius:12px;color:#fff;font-family:Georgia,serif;font-weight:bold;font-size:21px;box-shadow:0 6px 18px rgba(76,29,149,.25)}.brand-lockup b{display:block;font-size:16px;letter-spacing:.04em}.brand-lockup small{display:block;margin-top:-2px;color:var(--muted);font-size:10px;letter-spacing:.05em}.auth-panel{padding-top:2.8rem}.eyebrow{font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.16em;color:var(--purple);margin:0 0 .55rem}.auth-panel h1{font-size:31px;letter-spacing:-.045em;line-height:1.05;margin:0 0 .7rem}.muted{color:var(--muted);margin:0}.stack-form{display:grid;gap:1rem;margin-top:1.8rem}.stack-form label,.form-grid label{display:grid;gap:.42rem;color:#4d4561;font-size:12px;font-weight:700}.stack-form label span{color:var(--muted);font-weight:500}.stack-form input,.form-grid input,.form-grid select,.form-grid textarea,.table-controls input,.table-controls select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.76);border-radius:12px;color:var(--ink);outline:0;padding:.78rem .85rem;transition:border .2s,box-shadow .2s}.stack-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.table-controls input:focus,.table-controls select:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(139,92,246,.13)}.button{border:0;border-radius:12px;padding:.8rem 1rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-1px)}.button.primary{background:linear-gradient(115deg,var(--purple),var(--purple-deep));color:#fff;box-shadow:0 10px 22px rgba(91,33,182,.23)}.button.secondary{color:var(--purple-deep);background:#ede9fe}.button.ghost{background:transparent;color:var(--purple-deep);border:1px solid var(--line)}.button.small{padding:.55rem .75rem;border-radius:10px;font-size:12px}.auth-foot{text-align:center;color:var(--muted);font-size:11px;margin:2rem 0 0}.notice{padding:.8rem 1rem;border-radius:11px;margin-top:1rem}.notice.error{color:#8c2446;background:#fff0f4;border:1px solid #ffd0dd}
.app{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr);gap:1.25rem;padding:1rem;max-width:1680px;margin:auto}.sidebar{border-radius:24px;padding:1.2rem;display:flex;flex-direction:column;min-height:calc(100vh - 2rem);position:sticky;top:1rem}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:0 .35rem}.main-nav{margin-top:2.25rem;display:grid;gap:.3rem}.nav-link{border:0;background:transparent;width:100%;text-align:left;color:#665d77;padding:.74rem .85rem;border-radius:12px;display:flex;align-items:center;gap:.8rem;font-weight:700;transition:.18s}.nav-link i{font-style:normal;color:#8b5cf6;font-size:17px;width:17px;text-align:center}.nav-link:hover{background:rgba(237,233,254,.72);color:var(--purple-deep)}.nav-link.active{color:var(--purple-deep);background:linear-gradient(100deg,#ede9fe,rgba(237,233,254,.34));box-shadow:inset 3px 0 var(--purple)}.nav-separator{height:1px;background:var(--line);margin:.65rem .55rem}.sidebar-bottom{margin-top:auto;padding-top:1rem}.sidebar-user{display:flex;gap:.65rem;align-items:center;padding:.8rem .7rem;margin-bottom:.4rem;background:rgba(255,255,255,.35);border-radius:14px}.sidebar-user .initial{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#ddd6fe;color:#5b21b6;font-weight:800}.sidebar-user b,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user b{font-size:12px}.sidebar-user small{color:var(--muted);font-size:10px}.logout{color:#a5405e}.logout i{color:#c13e67}.workspace{min-width:0}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 .65rem 0 1.1rem}.topbar h1{font-size:25px;letter-spacing:-.04em;line-height:1;margin:0}.topbar .eyebrow{margin-bottom:.35rem}.topbar-actions{display:flex;align-items:center;gap:.7rem}.branch-control{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.8);border-radius:12px;padding:.38rem .55rem .38rem .75rem;color:var(--muted);font-size:11px;font-weight:700}.branch-control select{max-width:180px;border:0;background:transparent;color:var(--ink);font-weight:800;outline:0}.avatar,.icon-button{border:0;background:rgba(255,255,255,.72);color:var(--purple-deep);box-shadow:0 5px 15px rgba(55,29,111,.07)}.avatar{width:38px;height:38px;border-radius:13px;font-weight:900}.icon-button{width:38px;height:38px;border-radius:11px;font-size:20px}.mobile-only{display:none}.page-content{padding:0 .65rem 1rem}.page-loading{min-height:60vh;display:grid;place-items:center;color:var(--muted);gap:.7rem}.spinner{display:inline-block;width:20px;height:20px;border:2px solid #ddd6fe;border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.page-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:0 0 1.25rem}.page-head h2{font-size:19px;letter-spacing:-.025em;margin:0}.page-head p{margin:.3rem 0 0;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.stat-card{padding:1.1rem;border-radius:18px;min-width:0;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:75px;height:75px;border:1px solid rgba(109,40,217,.1);right:-28px;top:-28px;border-radius:50%}.stat-label{font-size:11px;color:var(--muted);font-weight:750}.stat-value{font-size:25px;font-weight:800;letter-spacing:-.05em;margin:.42rem 0 .18rem}.stat-meta{font-size:10px;color:#8d84a0}.stat-glyph{position:absolute;right:1rem;bottom:1rem;color:#7c3aed;background:#f0ebff;width:29px;height:29px;border-radius:10px;display:grid;place-items:center;font-size:14px}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:1rem;margin-top:1rem}.panel{border-radius:18px;padding:1.25rem;min-width:0}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.panel-title h3{font-size:14px;margin:0;letter-spacing:-.01em}.panel-title span{font-size:11px;color:var(--muted)}.trend-chart{height:170px;display:flex;gap:.8rem;align-items:end;padding:1.5rem .15rem .15rem;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent,transparent 57px,rgba(109,40,217,.08) 58px)}.trend-column{flex:1;min-width:28px;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:.55rem}.trend-bar{width:min(34px,100%);border-radius:8px 8px 3px 3px;min-height:4px;background:linear-gradient(#a78bfa,#6d28d9);box-shadow:0 3px 9px rgba(109,40,217,.2)}.trend-column small{font-size:10px;color:var(--muted)}.activity-list{display:grid;gap:.15rem}.activity-item{display:flex;gap:.65rem;padding:.68rem 0;border-bottom:1px solid rgba(109,40,217,.08)}.activity-item:last-child{border:0}.activity-icon{flex:0 0 27px;height:27px;border-radius:9px;background:#f0ebff;color:#6d28d9;display:grid;place-items:center}.activity-item b{display:block;font-size:11px}.activity-item p{font-size:11px;color:var(--muted);margin:.08rem 0}.activity-item time{font-size:10px;color:#938b9f}.empty-state{text-align:center;color:var(--muted);padding:2.6rem 1rem}.empty-state .empty-icon{width:45px;height:45px;margin:auto auto .8rem;background:#f0ebff;color:#7c3aed;border-radius:15px;display:grid;place-items:center;font-size:20px}.empty-state h3{font-size:14px;color:var(--ink);margin:0 0 .3rem}.empty-state p{margin:0 0 1rem;font-size:12px}
@media(min-width:1121px){.stats-grid .stat-card{padding:1.3rem;min-height:126px}.stats-grid .stat-label{font-size:12px}.stats-grid .stat-value{font-size:28px;margin:.55rem 0 .24rem}.stats-grid .stat-meta{font-size:11px}.stats-grid .stat-glyph{width:33px;height:33px}}
.pastor-welcome{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem;border-radius:18px;margin:-.25rem 0 1rem;background:linear-gradient(110deg,rgba(255,255,255,.85),rgba(237,233,254,.7))}.pastor-welcome h2{font-size:18px;letter-spacing:-.035em;margin:0 0 .25rem}.pastor-welcome p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px;max-width:590px}.pastor-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pastor-actions .button{white-space:nowrap}
.table-panel{border-radius:18px;padding:1.2rem;overflow:hidden}.table-controls{display:flex;align-items:center;gap:.65rem;justify-content:space-between;margin-bottom:1rem}.control-group{display:flex;gap:.55rem;align-items:center;min-width:0}.table-controls input{width:220px;padding:.63rem .75rem}.table-controls select{width:auto;min-width:115px;padding:.63rem .75rem}.table-scroll{overflow:auto;border:1px solid rgba(109,40,217,.08);border-radius:13px}.data-table{border-collapse:collapse;width:100%;min-width:710px}.data-table th{text-align:left;font-size:10px;color:#81778f;letter-spacing:.08em;text-transform:uppercase;font-weight:800;background:rgba(237,233,254,.33);padding:.75rem .85rem;white-space:nowrap}.data-table td{padding:.82rem .85rem;border-top:1px solid rgba(109,40,217,.075);vertical-align:middle;font-size:12px}.data-table td strong{display:block;font-size:12px}.data-table td small{display:block;color:var(--muted);margin-top:2px}.table-actions{display:flex;gap:.35rem;justify-content:flex-end}.text-button{border:0;background:transparent;color:var(--purple);font-weight:800;padding:.25rem}.badge{display:inline-flex;align-items:center;border-radius:20px;padding:.23rem .55rem;font-size:10px;font-weight:800;text-transform:capitalize}.badge.active{color:#087d62;background:#d9f4eb}.badge.inactive,.badge.archived{color:#9b3d57;background:#fee8ee}.badge.tithe{color:#5740a4;background:#eae5ff}.badge.offering{color:#9a5b0d;background:#fff1d5}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:.9rem;color:var(--muted);font-size:11px}.pagination-actions{display:flex;gap:.4rem}.summary-strip{display:flex;flex-wrap:wrap;gap:.6rem;margin:-.15rem 0 1rem}.summary-chip{padding:.6rem .8rem;background:#f6f3ff;border-radius:11px;color:#564c67;font-size:11px}.summary-chip b{color:var(--purple-deep);font-size:13px;margin-left:.2rem}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.report-bars{display:grid;gap:.65rem}.report-row{display:grid;grid-template-columns:minmax(70px,.8fr) 2fr auto;gap:.65rem;align-items:center;font-size:11px}.report-track{height:8px;background:#efeaff;border-radius:10px;overflow:hidden}.report-fill{height:100%;background:linear-gradient(90deg,#a78bfa,#6d28d9);border-radius:inherit}.report-row strong{font-size:11px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.form-card{border-radius:18px;padding:1.25rem}.form-card h3{margin:0 0 .35rem;font-size:15px}.form-card p{font-size:12px;color:var(--muted);margin:0 0 1.15rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.form-grid .full{grid-column:1/-1}.form-grid textarea{min-height:90px;resize:vertical}.form-actions{margin-top:1.15rem;display:flex;justify-content:flex-end;gap:.6rem}
.modal-layer{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem;background:rgba(33,17,60,.34);backdrop-filter:blur(5px);animation:fade .15s}.modal{width:min(100%,620px);max-height:calc(100vh - 2rem);overflow:auto;background:#fbfaff;border:1px solid rgba(255,255,255,.9);box-shadow:0 28px 85px rgba(35,15,77,.28);border-radius:22px;padding:1.35rem}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.15rem}.modal-head h2{font-size:18px;letter-spacing:-.03em;margin:0}.modal-head p{margin:.25rem 0 0;color:var(--muted);font-size:12px}.modal-close{border:0;background:#f0ebff;color:#6d28d9;border-radius:10px;width:30px;height:30px;font-size:18px}.toast-region{position:fixed;right:1rem;bottom:1rem;z-index:100;display:grid;gap:.6rem}.toast{padding:.8rem 1rem;border-radius:13px;background:#29213c;color:#fff;box-shadow:0 14px 36px rgba(25,13,51,.22);font-size:12px;animation:toastin .2s}.toast.success{background:#086b57}.toast.error{background:#a83759}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes toastin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.inbox-button{position:relative;width:auto;min-width:92px;padding:0 .7rem;font-size:11px;font-weight:800}.notification-count{position:absolute;top:-7px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:12px;display:grid;place-items:center;background:#c13e67;color:#fff;font-size:9px}.inbox-list{display:grid;gap:.75rem}.inbox-message{padding:1rem;border:1px solid rgba(109,40,217,.12);border-radius:14px;background:rgba(255,255,255,.66)}.inbox-message h3{margin:.2rem 0 .55rem;font-size:15px}.inbox-message p:not(.eyebrow){white-space:pre-wrap;margin:.4rem 0 .7rem;color:var(--ink);font-size:13px;line-height:1.55}.inbox-message small{color:var(--muted)}
.mobile-scrim{display:none}.hide{display:none!important}@media(max-width:1120px){.stats-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.app{grid-template-columns:225px minmax(0,1fr)}}@media(max-width:780px){body{font-size:13px}.app{display:block;padding:0}.sidebar{position:fixed;left:.7rem;top:.7rem;bottom:.7rem;z-index:30;min-height:0;width:min(280px,calc(100vw - 1.4rem));transform:translateX(calc(-100% - 1rem));transition:transform .22s}.app.menu-open .sidebar{transform:none}.app.menu-open .mobile-scrim{display:block;position:fixed;inset:0;background:rgba(24,12,47,.32);z-index:25}.mobile-only{display:inline-grid;place-items:center}.topbar{height:77px;padding:0 1rem;gap:.65rem}.topbar>div:nth-child(2){margin-right:auto}.topbar h1{font-size:21px}.topbar-actions{gap:.35rem}.branch-control{padding:.35rem}.branch-control span{display:none}.branch-control select{max-width:125px}.page-content{padding:0 1rem 1rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.stat-card{padding:.9rem}.stat-value{font-size:22px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:1rem}.page-head .button{width:100%}.table-panel{padding:.85rem}.table-controls{align-items:stretch;flex-direction:column}.control-group{width:100%;flex-wrap:wrap}.table-controls input{width:100%;flex:1}.table-controls select{flex:1}.table-controls .button{margin-left:auto}.report-grid,.settings-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.auth-view{padding:1rem}.auth-card{padding:1.5rem;border-radius:24px}.auth-panel{padding-top:2.2rem}.auth-panel h1{font-size:27px}.modal{padding:1.05rem;border-radius:18px}.trend-chart{height:145px}.sidebar-user{margin-top:auto}}
@media(max-width:390px){.stats-grid{grid-template-columns:1fr 1fr}.branch-control{max-width:120px;overflow:hidden}.topbar-actions .avatar{width:34px;height:34px}.report-row{grid-template-columns:65px 1fr auto}}
.filter-bar{display:flex;align-items:end;gap:.55rem;padding:.65rem .75rem;border-radius:15px;margin:-.25rem 0 1rem;flex-wrap:wrap}.filter-bar select,.filter-bar input{border:1px solid var(--line);background:rgba(255,255,255,.68);border-radius:9px;padding:.5rem .6rem;color:var(--ink);outline:0;font-size:11px}.filter-bar label{display:grid;gap:.2rem;font-size:10px;color:var(--muted);font-weight:800}.filter-label{font-size:10px;font-weight:900;color:var(--purple);letter-spacing:.08em;text-transform:uppercase;margin-right:.25rem;padding-bottom:.5rem}@media(max-width:780px){.filter-bar{align-items:stretch}.filter-label{width:100%;padding:0}.filter-bar select,.filter-bar label,.filter-bar input,.filter-bar .button{width:100%}}
@media(max-width:780px){.pastor-welcome{display:block;padding:1rem}.pastor-actions{justify-content:stretch;margin-top:1rem}.pastor-actions .button{flex:1 1 100%}}
.profile-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.sidebar-user .profile-image{flex:0 0 31px;width:31px;height:31px;border-radius:10px}.avatar{overflow:hidden;padding:0}.avatar .profile-image{width:100%;height:100%;border-radius:13px}.profile-upload{display:flex;align-items:center;gap:1rem}.profile-photo-large{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#a78bfa,#5b21b6);color:#fff;font-size:27px;font-weight:900;box-shadow:0 10px 20px rgba(91,33,182,.2)}.profile-photo-large img{width:100%;height:100%;object-fit:cover}.profile-upload>div:last-child{display:grid;gap:.65rem}.file-picker{display:grid;gap:.28rem;color:#4d4561;font-size:12px;font-weight:800;cursor:pointer}.file-picker input{font-size:11px;color:var(--muted);max-width:100%}.file-picker span{font-size:10px;font-weight:500;color:var(--muted)}@media(max-width:450px){.profile-upload{align-items:flex-start}.profile-upload .button{width:100%}}
@media(max-width:780px){.topbar-actions{max-width:196px}.topbar-actions .branch-control{min-width:0;padding:.32rem}.topbar-actions .branch-control select{max-width:76px;font-size:10px}.topbar-actions .avatar{flex:0 0 34px}.topbar>div:nth-child(2){min-width:0}.topbar>div:nth-child(2) h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.brand-mark {
    width: 41px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0px;
}

.brand-mark img {
    width: 100%;
    height: 100%;
    object-fit: fill;
}
.form-section{padding:.2rem 0 1.15rem;border-bottom:1px solid rgba(109,40,217,.1);margin-bottom:1rem}.form-section:last-of-type{border-bottom:0}.form-section h3{margin:.1rem 0 .85rem;font-size:13px;color:var(--purple-deep)}.choice-field{display:flex!important;align-items:center;gap:.55rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.5);font-size:12px!important}.choice-field input{width:auto!important;margin:0}.import-guidance{display:grid;gap:.7rem;margin-bottom:1rem}.import-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.import-preview h3{margin:0 0 .3rem}.import-preview p{margin:.2rem 0 .8rem;color:var(--muted);font-size:12px}.import-errors{color:#9b3d57;font-weight:700}.import-valid{color:var(--success);font-weight:800}.inbox-list{display:grid;gap:.65rem}.inbox-item{padding:.75rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.5)}.inbox-item strong{display:block;font-size:12px}.inbox-item p{margin:.25rem 0;font-size:12px}.inbox-item small{color:var(--muted);font-size:10px}.text-button.danger{color:var(--danger)}
.theme-dark{--ink:#eee8ff;--muted:#b7accd;--purple:#b69aff;--purple-deep:#d1c0ff;--violet:#c9b4ff;--lavender:#30254d;--line:rgba(216,199,255,.18);--glass:rgba(32,23,54,.83);--white:#241a3c;--success:#54d7b0;--danger:#ff9ab7;--shadow:0 22px 55px rgba(0,0,0,.34)}.theme-dark html,.theme-dark body{background:radial-gradient(circle at 5% 0,#37205f 0,transparent 29rem),radial-gradient(circle at 95% 40%,#251942 0,transparent 28rem),#171122}.theme-dark .glass,.theme-dark .modal{background:rgba(35,25,57,.9);border-color:rgba(255,255,255,.12)}.theme-dark .stack-form input,.theme-dark .form-grid input,.theme-dark .form-grid select,.theme-dark .form-grid textarea,.theme-dark .table-controls input,.theme-dark .table-controls select,.theme-dark .filter-bar select,.theme-dark .filter-bar input{background:rgba(22,15,40,.75);color:var(--ink)}.theme-dark .branch-control,.theme-dark .avatar,.theme-dark .icon-button,.theme-dark .sidebar-user,.theme-dark .choice-field,.theme-dark .inbox-item{background:rgba(45,33,75,.7);color:var(--ink)}.theme-dark .data-table th{background:rgba(63,46,101,.55);color:#d4c9ed}.theme-dark .summary-chip,.theme-dark .nav-link:hover,.theme-dark .nav-link.active{background:rgba(76,55,119,.55);color:#e0d4ff}.theme-dark .filter-bar select,.theme-dark .filter-bar input{border-color:var(--line)}.theme-dark .profile-photo-large{background:linear-gradient(135deg,#7d5dd4,#311755)}
@media print{.sidebar,.topbar,.ambient,.toast-region,.page-head .button,.table-controls,.filter-bar,.church-scope-panel,.pastor-actions,.modal-layer{display:none!important}.app{display:block;padding:0;max-width:none}.page-content{padding:0}.glass,.panel,.table-panel{box-shadow:none!important;background:#fff!important;border:0!important;color:#111!important}.data-table{min-width:0}.data-table th,.data-table td{color:#111!important}.data-table th{background:#eee!important}}

/* Compact church-wide filters leave the data itself at the center of the page. */
.page-head .control-group{flex-wrap:wrap;justify-content:flex-end}
.church-scope-panel{margin:0 0 1rem;padding:.8rem .9rem;border-radius:15px}
.church-scope-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.65rem}
.church-scope-heading .eyebrow{margin:0 0 .2rem;font-size:9px;letter-spacing:.12em}
.church-scope-heading h3{margin:0;color:var(--ink);font-size:13px;letter-spacing:-.02em}
.church-scope-heading .button{white-space:nowrap}
.church-scope-controls{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:.55rem;align-items:end}
.church-scope-controls label{display:grid;gap:.25rem;color:#4d4561;font-size:10px;font-weight:750}
.church-scope-controls select,.church-scope-controls input{width:100%;min-height:35px;border:1px solid var(--line);background:rgba(255,255,255,.76);border-radius:9px;color:var(--ink);outline:0;padding:.48rem .62rem;font-size:11px}
.church-scope-controls select:focus,.church-scope-controls input:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(139,92,246,.13)}
.church-scope-controls .button{min-height:35px;align-self:end;padding:.5rem .72rem;font-size:11px}
.theme-dark .church-scope-controls label{color:var(--ink)}.theme-dark .church-scope-controls select,.theme-dark .church-scope-controls input{background:rgba(22,15,40,.75);color:var(--ink)}
@media(max-width:1120px){.church-scope-controls{grid-template-columns:repeat(3,minmax(135px,1fr))}}
@media(max-width:780px){.church-scope-panel{padding:.75rem;margin-bottom:.85rem}.church-scope-heading{display:flex;gap:.5rem}.church-scope-heading .button{width:auto}.church-scope-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.church-scope-controls .button{width:100%;grid-column:1/-1}.page-head .control-group{width:100%}}
.settings-single{grid-template-columns:minmax(0,760px)}
.branch-pastor-credentials{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:rgba(237,233,254,.35)}
.branch-pastor-credentials>div{grid-column:1/-1}.branch-pastor-credentials h3{margin:0;font-size:13px}.branch-pastor-credentials p{margin:.2rem 0 0;color:var(--muted);font-size:11px}
.population-content{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);align-items:center;gap:1rem;min-height:220px}
.population-donut{width:min(190px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;margin:auto;background:conic-gradient(#5b42bd 0 var(--women),#a78bfa var(--women) 100%);position:relative}
.population-donut:before{content:"";position:absolute;inset:15%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.population-donut>div{z-index:1;display:grid;text-align:center}.population-donut b{font-size:25px;letter-spacing:-.05em}.population-donut span{font-size:10px;color:var(--muted)}
.population-groups h4{margin:0 0 .8rem;font-size:12px}.population-row{display:grid;grid-template-columns:88px minmax(35px,1fr) 34px;gap:.55rem;align-items:center;margin:.65rem 0;font-size:10px;color:var(--muted)}
.population-row b{text-align:right;color:var(--ink);font-size:10px}.population-track{height:7px;background:#eee9fa;border-radius:8px;overflow:hidden}.population-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a78bfa,#5b42bd)}
.population-legend{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 .5rem;color:var(--muted);font-size:10px}
.member-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(135px,1fr));gap:.65rem;margin-bottom:1rem;padding:.8rem;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.26)}
.member-filter-grid label{display:grid;gap:.25rem;color:var(--muted);font-size:10px;font-weight:750}
.member-filter-grid select{width:100%;min-width:0;border:1px solid var(--line);background:rgba(255,255,255,.8);border-radius:9px;padding:.55rem .62rem;color:var(--ink);font-size:11px}
.theme-dark .member-filter-grid{background:rgba(22,15,40,.28)}.theme-dark .member-filter-grid select{background:rgba(22,15,40,.75);color:var(--ink)}
.welfare-meter{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.25rem 0}.welfare-meter>div{display:grid;padding:.85rem;border-radius:12px;background:rgba(237,233,254,.45)}.welfare-meter b{font-size:20px;color:var(--purple-deep)}.welfare-meter span{font-size:10px;color:var(--muted)}.welfare-progress{margin:.7rem 0 1rem}.workspace-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.ministry-dashboard{margin-top:1rem}.ministry-dashboard .muted{font-size:11px}
.empty-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.stat-glyph{font-variant-numeric:tabular-nums;font-size:10px;font-weight:800;letter-spacing:.04em}
.nav-link i svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.icon-button svg{display:block;width:18px;height:18px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-link i{color:#7763b8}
.theme-dark .population-donut:before{background:#241a3c}.theme-dark .population-track{background:#3a2d56}
@media(max-width:980px){.member-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.member-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:.65rem}.branch-pastor-credentials{grid-template-columns:1fr}.branch-pastor-credentials>div{grid-column:auto}.population-content{grid-template-columns:1fr;gap:1.1rem}.population-donut{width:min(160px,70%)}.population-groups{width:100%}}
.health-check-list{display:grid;gap:.6rem}.health-check{display:grid;grid-template-columns:12px minmax(115px,.35fr) minmax(0,1fr);gap:.65rem;align-items:center;padding:.68rem .75rem;border:1px solid var(--line);border-radius:11px;font-size:11px}.health-check strong{font-size:11px}.health-check>span:last-child{color:var(--muted);overflow-wrap:anywhere}.health-indicator{width:9px;height:9px;border-radius:50%;background:#18a879;box-shadow:0 0 0 3px rgba(24,168,121,.12)}.health-indicator.needs-attention{background:#dc8c24;box-shadow:0 0 0 3px rgba(220,140,36,.13)}
.department-report-content{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);align-items:center;gap:1rem}.department-report-content .population-donut{width:min(170px,100%)}.department-report-content .population-groups .muted{font-size:11px;line-height:1.5;margin-top:1rem}.department-report-content .population-row{grid-template-columns:55px minmax(30px,1fr) 38px}@media(max-width:780px){.department-report-content{grid-template-columns:1fr}.department-report-content .population-donut{width:min(150px,70%)}}
@media(max-width:520px){.health-check{grid-template-columns:12px minmax(0,1fr)}.health-check>span:last-child{grid-column:2}}

/* Keep long navigation usable inside the sidebar at every viewport size. */
.sidebar{max-height:calc(100vh - 2rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.sidebar::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-width:780px){.sidebar{max-height:none}}

/* Spacious dashboard cards on desktop only; tablet and mobile retain their existing layouts. */
@media(min-width:1121px){
  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
  .stats-grid .stat-card{min-height:156px;padding:1.55rem}
  .stats-grid .stat-label{font-size:13px}
  .stats-grid .stat-value{font-size:clamp(1.3rem,1.7vw,1.85rem);line-height:1.2;margin:.7rem 0 .35rem;overflow-wrap:anywhere}
  .stats-grid .stat-meta{font-size:11px}
  .stats-grid + .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
  .stats-grid + .dashboard-grid>.panel{min-height:250px}
  .stats-grid + .dashboard-grid .population-content{min-height:170px}
  .stats-grid + .dashboard-grid .population-row{margin:.42rem 0}
}
@media(min-width:1600px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
