:root{--green:#356d18;--green2:#6bbd00;--ink:#142016;--muted:#657267;--bg:#f5f8f4;--panel:#fff;--border:#dfe8df;--danger:#b42318;--shadow:0 12px 35px #1e411614}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-layout{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;z-index:30;background:#10250e;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1f;justify-content:center;align-items:center;height:105px;margin-bottom:18px;display:flex}.brand img{object-fit:contain;width:185px;max-height:92px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav a{color:#dce9d8;border-radius:12px;align-items:center;gap:11px;padding:12px 14px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#69bd002e}.sidebar nav a.active{box-shadow:inset 3px 0 0 var(--green2)}.sidebar-user{color:#dce9d8;border-top:1px solid #ffffff1f;margin-top:auto;padding:14px}.sidebar-user small{opacity:.65}.user-email{text-overflow:ellipsis;margin:5px 0 10px;font-size:12px;overflow:hidden}.link-button{color:#9ee343;background:0 0;border:0;padding:0}.main-area{min-width:0}.topbar{border-bottom:1px solid var(--border);z-index:20;background:#fff;align-items:center;gap:16px;height:94px;padding:0 34px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:25px}.topbar p{color:var(--muted);margin:3px 0 0;font-size:13px}.status-pill{color:#3f751c;background:#eff9e8;border:1px solid #d7efc7;border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:8px 12px;font-size:12px;font-weight:700;display:flex}.status-pill span{background:#61b900;border-radius:50%;width:8px;height:8px}.menu-button{background:#f0f5ef;border:0;border-radius:9px;padding:8px 10px;display:none}.content{max-width:1550px;margin:0 auto;padding:28px 34px 48px}.hero-panel{color:#fff;min-height:190px;box-shadow:var(--shadow);background:linear-gradient(120deg,#173c16,#346c18 68%,#5aa400);border-radius:22px;justify-content:space-between;align-items:center;padding:30px 34px;display:flex;overflow:hidden}.hero-panel>div{max-width:720px}.hero-panel h2{margin:8px 0;font-size:30px;line-height:1.16}.hero-panel p{color:#ddead8;line-height:1.55}.hero-panel img{object-fit:contain;width:235px;height:150px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#b5f66f;font-size:11px;font-weight:800}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.metric-card{border:1px solid var(--border);background:#fff;border-radius:17px;gap:14px;padding:18px;display:flex}.metric-icon{background:#f0f8ea;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.metric-card strong{color:#315f19;font-size:25px}.metric-card h3{margin:2px 0;font-size:14px}.metric-card p{color:var(--muted);margin:0;font-size:11px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;margin:18px 0;padding:20px;box-shadow:0 5px 20px #1e41160a}.panel-title,.section-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-title h3,.section-head h2{margin:0}.section-head{margin-bottom:16px}.section-head p{color:var(--muted);margin:4px 0 0}.primary-button,.secondary-button{border:0;border-radius:11px;padding:10px 15px;font-weight:750}.primary-button{background:var(--green);color:#fff}.primary-button:hover{background:#285610}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{color:#315f19;background:#eef4eb;border:1px solid #d9e6d3}.icon-button{background:#f1f4f0;border:0;border-radius:9px;padding:7px 10px}.badge{color:#39701b;background:#eff9e8;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:750}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid label{flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.form-grid label>span:first-child{color:#334234}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.search-input{background:#fff;border:1px solid #cfdacf;border-radius:10px;outline:none;width:100%;padding:11px 12px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-input:focus{border-color:#69a945;box-shadow:0 0 0 3px #69a9451f}.check-row{align-items:center;gap:9px;flex-direction:row!important;display:flex!important}.check-row input{width:18px;height:18px}.form-actions{justify-content:flex-end;gap:10px;display:flex}.notice{border-radius:11px;margin:12px 0;padding:12px 14px;font-size:13px}.notice.success{color:#326718;background:#eef9e8;border:1px solid #d8edcb}.notice.error{color:#9c1c14;background:#fff0ef;border:1px solid #ffd0cc}.notice.info{color:#174f79;background:#eff7ff;border:1px solid #d3e9fa}.table-tools{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.record-count{color:var(--muted);font-size:12px;font-weight:700}.search-input{max-width:300px}.table-scroll{overflow:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.table-scroll th{text-align:left;color:#536254;border-bottom:1px solid var(--border);white-space:nowrap;background:#f3f7f1;padding:11px 10px}.table-scroll td{vertical-align:top;border-bottom:1px solid #edf1ec;padding:12px 10px}.table-scroll tr:hover td{background:#fbfdfb}.actions{white-space:nowrap}.actions button,.danger-text{color:#427422;background:0 0;border:0;padding:4px 7px;font-weight:750}.actions .danger-text,.danger-text{color:var(--danger)}.empty-state{text-align:center;color:var(--muted);padding:36px}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tabs button{border:1px solid var(--border);color:#566456;background:#fff;border-radius:999px;padding:10px 15px;font-weight:700}.tabs button.active{color:#fff;background:#214d17;border-color:#214d17}.calc-grid{background:#f3f8f0;border-radius:13px;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;display:grid}.calc-grid div{background:#fff;border:1px solid #deead9;border-radius:10px;padding:12px}.calc-grid span{color:var(--muted);font-size:11px;display:block}.calc-grid strong{color:#315f19;font-size:20px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;display:grid}.summary-grid>div{border:1px solid var(--border);background:#f6f9f5;border-radius:12px;padding:18px}.summary-grid span{color:var(--muted);font-size:12px;display:block}.summary-grid strong{color:#356d18;font-size:24px}.export-grid{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.login-page{background:radial-gradient(circle at 30% 15%,#dff2ce,#0000 33%),linear-gradient(145deg,#eef7e8,#f8faf7 60%,#e5f1dc);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dbe7d7;border-radius:25px;width:min(440px,100%);padding:34px;box-shadow:0 30px 80px #28501c24}.login-logo{object-fit:contain;width:260px;height:145px;margin:0 auto;display:block}.login-card h1{text-align:center;margin:4px 0 3px}.login-card>p{text-align:center;color:var(--muted);margin-top:0}.login-card form{flex-direction:column;gap:14px;margin-top:22px;display:flex}.login-card label{flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.login-card input{border:1px solid #ccd9c7;border-radius:11px;padding:12px}.login-submit{margin-top:6px;padding:12px}.login-card>small{text-align:center;color:#879187;margin-top:17px;display:block}.loading-screen{text-align:center;height:100vh;color:var(--muted);place-content:center;display:grid}.spinner{border:3px solid #dce9d7;border-top-color:#4b8a27;border-radius:50%;width:34px;height:34px;margin:auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-backdrop{display:none}@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.hero-panel img{width:190px}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:800px){.app-layout{display:block}.sidebar{width:250px;transition:left .2s;position:fixed;left:-275px}.sidebar.open{left:0}.sidebar-backdrop{z-index:25;background:#0006;border:0;display:block;position:fixed;inset:0}.menu-button{display:block}.topbar{height:82px;padding:0 18px}.topbar h1{font-size:20px}.status-pill{display:none}.content{padding:20px 16px 40px}.hero-panel{padding:25px}.hero-panel h2{font-size:25px}.hero-panel img{display:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.calc-grid{grid-template-columns:repeat(2,1fr)}.section-head{flex-direction:column;align-items:flex-start}.section-head .primary-button{width:100%}}@media (max-width:520px){.metric-grid,.summary-grid,.calc-grid{grid-template-columns:1fr}.topbar p{display:none}.login-card{padding:25px 20px}.login-logo{width:220px}.table-tools{flex-direction:column;align-items:stretch}.search-input{max-width:none}}@media print{.sidebar,.topbar,.tabs,.primary-button,.secondary-button,.notice.info{display:none!important}.app-layout{display:block}.content{padding:0}.panel{box-shadow:none}.report-summary{border:0}}.role-badge{color:#53606f;background:#eef2f7;border-radius:999px;align-items:center;width:max-content;margin-top:6px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.role-badge.admin{color:#237a43;background:#e7f6ec}.admin-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;margin-bottom:20px;display:grid}.muted{color:#687483}.admin-form{margin-top:18px}.permission-list{gap:14px;margin-top:14px;display:grid}.permission-list>div{border:1px solid #e8ecef;border-radius:12px;gap:4px;padding:14px;display:grid}.permission-list span{color:#687483;font-size:13px}.admin-users-table input,.admin-users-table select{background:#fff;border:1px solid #dfe5e8;border-radius:8px;width:100%;min-width:130px;padding:8px 9px}.small-button{white-space:nowrap;padding:8px 11px}.notice.success{color:#236b38;background:#edf9f0;border-color:#c8ebd1}@media (max-width:900px){.admin-grid{grid-template-columns:1fr}.admin-users-table{min-width:980px}}.brand{flex-direction:column;gap:5px;height:118px;padding-bottom:10px}.brand img{width:150px;max-height:78px}.brand strong{letter-spacing:.11em;text-transform:uppercase;color:#b8ec83;font-size:11px}.sidebar-user{padding:16px 10px 4px}.session-name{color:#fff;margin-top:7px;font-size:13px;font-weight:750;line-height:1.25}.session-username{color:#a9b7a7;margin-top:3px;font-size:11px}.logout-button{color:#bdf179;text-align:center;background:#ffffff0f;border:1px solid #ffffff24;border-radius:9px;width:100%;margin-top:12px;padding:8px 10px;font-weight:750;display:block}.logout-button:hover{background:#ffffff1c}.hero-logo{justify-content:flex-end;align-items:center;width:310px;min-width:240px;display:flex}.hero-logo img{object-fit:contain;filter:drop-shadow(0 4px 9px #0000001f);width:100%;height:auto;max-height:150px}.metric-grid-main{grid-template-columns:repeat(3,minmax(0,1fr))}.action-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card.emphasis{background:linear-gradient(#fff,#fbfff8)}.warning-card{background:#fffaf5;border-color:#f1c8a7}.warning-card strong{color:#a65318}.compact-head{margin-top:26px;margin-bottom:-4px}.compact-head h2{font-size:19px}.upcoming-list{gap:0;margin-top:12px;display:grid}.upcoming-item{border-bottom:1px solid #edf1ec;justify-content:space-between;align-items:center;gap:15px;padding:13px 4px;display:flex}.upcoming-item:last-child{border-bottom:0}.upcoming-item div:first-child{gap:3px;display:grid}.upcoming-item span{color:var(--muted);font-size:12px}.upcoming-date{color:#356d18;white-space:nowrap;font-weight:800}.table-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.filter-select{color:#334234;background:#fff;border:1px solid #cfdacf;border-radius:10px;outline:none;padding:10px 11px}.filter-select:focus{border-color:#69a945;box-shadow:0 0 0 3px #69a9451f}.activate-text,.deactivate-text{background:0 0;border:0;padding:4px 7px;font-weight:750}.activate-text{color:#2f7c22}.deactivate-text{color:#9a651b}.inactive-row{opacity:.7;background:#fafafa}.status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.status-badge.active,.status-badge.complete{color:#2e721d;background:#e9f7e6}.status-badge.inactive{color:#687078;background:#f0f1f2}.status-badge.pending{color:#85620c;background:#fff5d8}.status-badge.overdue{color:#a83a2a;background:#fff0ed}.table-wrap{overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:13px}.table-wrap th{text-align:left;color:#536254;border-bottom:1px solid var(--border);white-space:nowrap;background:#f3f7f1;padding:11px 10px}.table-wrap td{vertical-align:top;border-bottom:1px solid #edf1ec;padding:12px 10px}.table-wrap tr:hover td{background:#fbfdfb}.admin-actions{flex-wrap:wrap;gap:7px;display:flex}.danger-button{color:#a52b21;background:#fff5f3;border:1px solid #f0c7c3;border-radius:11px;padding:10px 15px;font-weight:750}.danger-button:hover{background:#ffebe8}.admin-users-table td:nth-child(2) input{min-width:190px}.admin-users-table td:nth-child(3) input{min-width:220px}.loading-inline{color:var(--muted);align-items:center;gap:12px;display:flex}.loading-inline .spinner{width:25px;height:25px;margin:0}.modal-backdrop{z-index:100;background:#0814088c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:18px;width:min(470px,100%);padding:22px;box-shadow:0 30px 90px #0000003d}.modal-card .panel-title{align-items:flex-start}.modal-card .panel-title p{margin:4px 0 0}.password-form{gap:14px;margin-top:18px;display:grid}.password-form label{gap:7px;font-size:13px;font-weight:750;display:grid}.password-form input{border:1px solid #cfdacf;border-radius:10px;width:100%;padding:11px 12px}.login-logo-360{width:min(330px,90%);height:auto;max-height:125px;margin:2px auto 14px}.finance-tools{margin-top:15px}.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1200px){.metric-grid-main{grid-template-columns:repeat(3,1fr)}.action-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.metric-grid-main{grid-template-columns:repeat(2,1fr)}.hero-logo{width:240px;min-width:190px}.admin-actions{min-width:210px}}@media (max-width:800px){.brand{height:108px}.hero-panel{grid-template-columns:1fr;gap:18px;display:grid}.hero-logo{justify-self:start;width:230px;min-width:0}.hero-panel img{display:block!important}.table-filters{justify-content:stretch;width:100%}.table-filters .filter-select,.table-filters .search-input{flex:180px;max-width:none}}@media (max-width:640px){.metric-grid-main,.action-metrics,.finance-metrics{grid-template-columns:1fr}.hero-panel{min-height:0;padding:23px 20px}.hero-panel h2{font-size:23px}.hero-logo{width:210px}.compact-head{margin-top:20px}.upcoming-item{flex-direction:column;align-items:flex-start;gap:7px}.upcoming-date{font-size:13px}.table-scroll{overflow:visible}.responsive-table{width:100%!important;min-width:0!important}.responsive-table thead{display:none}.responsive-table tbody,.responsive-table tr,.responsive-table td{width:100%;display:block}.responsive-table tr{border:1px solid var(--border);background:#fff;border-radius:13px;margin:0 0 13px;padding:7px 12px;box-shadow:0 3px 12px #1e411609}.responsive-table td{grid-template-columns:minmax(105px,40%) 1fr;align-items:start;gap:10px;background:0 0!important;border-bottom:1px solid #edf1ec!important;padding:9px 0!important;display:grid!important}.responsive-table td:last-child{border-bottom:0!important}.responsive-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:#738075;font-size:11px;font-weight:800}.responsive-table .actions,.responsive-table .admin-actions{white-space:normal}.responsive-table .actions{display:grid!important}.responsive-table input,.responsive-table select{width:100%!important;min-width:0!important}.admin-users-table{min-width:0!important}.admin-actions{gap:6px;min-width:0;display:flex!important}.admin-actions button{flex:45%}.table-tools{flex-direction:column;align-items:stretch}.table-filters{grid-template-columns:1fr;display:grid}.filter-select,.search-input{width:100%!important;max-width:none!important}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.panel{padding:16px}.section-head h2{font-size:20px}}.report-panel-copy{margin:5px 0 0}.report-client-controls{grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr) auto;align-items:end;gap:14px;margin-top:18px;display:grid}.report-client-controls label{flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.report-client-controls select{background:#fff;border:1px solid #cfdacf;border-radius:10px;outline:none;width:100%;padding:11px 12px}.report-client-controls .search-input{max-width:none}.report-pdf-button{white-space:nowrap;height:42px}.client-report-preview{border-top:1px solid var(--border);grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:16px;padding-top:16px;display:grid}.client-report-preview>div{border:1px solid var(--border);background:#f6f9f5;border-radius:12px;padding:14px}.client-report-preview span{color:var(--muted);font-size:11px;display:block}.client-report-preview strong{color:#356d18;margin-top:4px;font-size:16px;display:block}@media (max-width:900px){.report-client-controls{grid-template-columns:1fr}.report-pdf-button{width:100%}.client-report-preview{grid-template-columns:1fr}}.client-report-preview-expanded{grid-template-columns:2fr repeat(3,1fr)}@media (max-width:1100px){.client-report-preview-expanded{grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.client-report-preview-expanded{grid-template-columns:1fr}}.dashboard-hero{background:linear-gradient(118deg,#143916 0%,#2e6b1d 58%,#62ae06 100%);border-radius:26px;min-height:168px;padding:26px 34px;position:relative;box-shadow:0 18px 45px #234c1821}.dashboard-hero:after{content:"";pointer-events:none;border:55px solid #ffffff0e;border-radius:50%;width:330px;height:330px;position:absolute;top:-190px;right:-120px}.dashboard-hero-copy{z-index:1;position:relative}.dashboard-hero h2{max-width:720px;font-size:29px}.dashboard-hero p{max-width:760px;margin-bottom:0}.dashboard-hero .hero-logo{z-index:2;width:285px;position:relative}.dashboard-hero .hero-logo img{filter:drop-shadow(0 6px 14px #031c0738)}.dashboard-feature-grid{grid-template-columns:1.15fr 1.15fr .8fr;gap:16px;margin:20px 0 26px;display:grid}.dashboard-feature-card{border:1px solid var(--border);background:#fff;border-radius:22px;align-items:center;gap:16px;min-height:128px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #1e41160e}.dashboard-feature-card:after{content:"";background:#4077200b;border-radius:50%;width:135px;height:135px;position:absolute;bottom:-55px;right:-35px}.dashboard-feature-card.green{background:linear-gradient(145deg,#fff,#f4faf0)}.dashboard-feature-card.gold{background:linear-gradient(145deg,#fff,#fffaf0);border-color:#eadfc4}.dashboard-feature-card.soft{background:linear-gradient(145deg,#fff,#f5f8f4)}.dashboard-feature-icon{background:#eaf5e3;border-radius:17px;flex:none;place-items:center;width:54px;height:54px;font-size:25px;display:grid;box-shadow:inset 0 0 0 1px #3669190d}.dashboard-feature-card.gold .dashboard-feature-icon{background:#fff3d8}.dashboard-feature-card.soft .dashboard-feature-icon{background:#eef2f4}.dashboard-feature-copy{gap:3px;min-width:0;display:grid}.dashboard-feature-copy>span{color:#657267;text-transform:uppercase;letter-spacing:.045em;font-size:12px;font-weight:800}.dashboard-feature-copy strong{color:#285d18;letter-spacing:-.035em;font-size:30px;line-height:1.05}.dashboard-feature-card.gold strong{color:#806113}.dashboard-feature-copy small{color:#7a857c;font-size:11px}.dashboard-section-title{justify-content:space-between;align-items:flex-end;gap:30px;margin:6px 2px 14px;display:flex}.dashboard-section-title span,.dashboard-panel-kicker,.dashboard-card-kicker,.report-section-kicker{text-transform:uppercase;letter-spacing:.12em;color:#69a13e;font-size:10px;font-weight:850;display:block}.dashboard-section-title h2{margin:3px 0 0;font-size:20px}.dashboard-section-title p{max-width:480px;color:var(--muted);text-align:right;margin:0;font-size:12px}.dashboard-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dashboard-compact-card{border:1px solid var(--border);background:#fff;border-radius:18px;align-items:center;gap:14px;padding:17px 18px;transition:transform .18s,box-shadow .18s;display:flex}.dashboard-compact-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1c401212}.dashboard-compact-icon{background:#f1f7ed;border-radius:50%;flex:none;place-items:center;width:43px;height:43px;font-size:20px;display:grid}.dashboard-compact-card strong{color:#356d18;font-size:22px}.dashboard-compact-card h3{margin:0;font-size:13px}.dashboard-compact-card p{color:var(--muted);margin:2px 0 0;font-size:11px}.dashboard-insight-grid{grid-template-columns:1fr 1fr 1.05fr;gap:14px;margin:18px 0;display:grid}.dashboard-year-card,.dashboard-followup-card{border:1px solid var(--border);background:#fff;border-radius:20px;min-height:135px;padding:20px}.dashboard-year-card.sales-year{background:linear-gradient(135deg,#f2faee,#fff 70%);border-color:#d9e8d2}.dashboard-year-card.donations-year{background:linear-gradient(135deg,#fff9e9,#fff 70%);border-color:#eadfc2}.dashboard-year-row{justify-content:space-between;align-items:center;gap:15px;margin-top:17px;display:flex}.dashboard-year-row strong{color:#2d641b;letter-spacing:-.025em;font-size:27px}.dashboard-year-card.donations-year strong{color:#7a5b0c}.dashboard-year-row h3{margin:2px 0 0;font-size:13px}.dashboard-round-icon{background:#356d1814;border-radius:50%;place-items:center;width:48px;height:48px;font-size:21px;display:grid}.dashboard-year-card.donations-year .dashboard-round-icon{background:#fff0c8}.followup-split{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.followup-split>div{background:#f6f9f5;border-radius:14px;padding:14px}.followup-split strong{color:#356d18;font-size:26px;display:block}.followup-split span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.followup-split .has-overdue{background:#fff2ef}.followup-split .has-overdue strong{color:#a94431}.dashboard-lower-grid{grid-template-columns:1.25fr .75fr;gap:16px;display:grid}.dashboard-list-panel{margin:0}.dashboard-list-panel .panel-title h3{margin-top:3px}.activity-list{margin-top:12px;display:grid}.activity-item{border-bottom:1px solid #edf1ec;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px 0;display:grid}.activity-item:last-child{border-bottom:0}.activity-icon{background:#f1f7ed;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.activity-copy{gap:2px;display:grid}.activity-copy strong{font-size:12px}.activity-copy span,.activity-item time{color:var(--muted);font-size:11px}.activity-item time{white-space:nowrap}.report-financial-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.report-financial-grid>.panel{margin:0}.financial-report-panel.sales{border-top:4px solid #4a8a2b}.financial-report-panel.donations{border-top:4px solid #caa83d}.financial-report-panel .panel-title h3{margin:4px 0 0}.financial-report-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px;display:grid}.financial-report-controls label{flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.financial-report-controls select{background:#fff;border:1px solid #cfdacf;border-radius:10px;outline:none;width:100%;padding:11px 12px}.financial-report-controls .report-pdf-button{grid-column:1/-1;width:100%;margin-top:3px}.client-report-preview-financial{grid-template-columns:2fr repeat(3,1fr)}.client-report-preview-financial .client-name-card{grid-column:span 2}.client-report-preview-financial .money-preview{background:linear-gradient(145deg,#f3faef,#fff);border-color:#d8e8d0}.client-report-preview-financial .money-preview strong{font-size:18px}.client-report-preview-financial .money-preview.donation{background:linear-gradient(145deg,#fff9e8,#fff);border-color:#eadfc3}.client-report-preview-financial .money-preview.donation strong{color:#806113}@media (max-width:1180px){.dashboard-feature-grid{grid-template-columns:1fr 1fr}.dashboard-feature-card.soft{grid-column:1/-1}.dashboard-insight-grid{grid-template-columns:1fr 1fr}.dashboard-followup-card{grid-column:1/-1}.dashboard-lower-grid{grid-template-columns:1fr}.client-report-preview-financial{grid-template-columns:repeat(3,1fr)}.client-report-preview-financial .client-name-card{grid-column:span 3}}@media (max-width:900px){.dashboard-feature-grid,.dashboard-insight-grid,.report-financial-grid{grid-template-columns:1fr}.dashboard-feature-card.soft,.dashboard-followup-card{grid-column:auto}.dashboard-compact-grid{grid-template-columns:1fr 1fr}.dashboard-section-title{flex-direction:column;align-items:flex-start;gap:5px}.dashboard-section-title p{text-align:left}.client-report-preview-financial{grid-template-columns:repeat(2,1fr)}.client-report-preview-financial .client-name-card{grid-column:span 2}}@media (max-width:640px){.dashboard-feature-grid,.dashboard-compact-grid,.dashboard-insight-grid{grid-template-columns:1fr}.dashboard-feature-card{min-height:112px;padding:18px}.dashboard-feature-copy strong{font-size:26px}.dashboard-section-title{margin-top:2px}.dashboard-year-card,.dashboard-followup-card{min-height:0}.activity-item{grid-template-columns:38px 1fr}.activity-item time{grid-column:2}.client-report-preview-financial{grid-template-columns:1fr}.client-report-preview-financial .client-name-card{grid-column:auto}.financial-report-controls{grid-template-columns:1fr}}.sidebar nav a .nav-icon{color:#a8d77f;background:#ffffff0e;border-radius:10px;flex:none;place-items:center;width:31px;height:31px;transition:background .18s,color .18s,transform .18s;display:grid}.sidebar nav a:hover .nav-icon{color:#d8f4bd;background:#ffffff1a;transform:translateY(-1px)}.sidebar nav a.active .nav-icon{color:#c8f79f;background:#7eca302e}.logout-button{justify-content:center;align-items:center;gap:7px;display:flex}.dashboard-feature-icon,.dashboard-compact-icon,.dashboard-round-icon,.activity-icon{color:#4c8429}.dashboard-feature-card.gold .dashboard-feature-icon,.dashboard-year-card.donations-year .dashboard-round-icon{color:#a77f18}.dashboard-feature-card.soft .dashboard-feature-icon{color:#6f5a95}.dashboard-feature-icon svg,.dashboard-compact-icon svg,.dashboard-round-icon svg,.activity-icon svg{filter:drop-shadow(0 2px 3px #26531914)}.badge{align-items:center;gap:5px;display:inline-flex}.primary-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.report-heading-with-icon{align-items:center;gap:8px;display:flex}.report-heading-icon{color:#4c8429;background:#eef6e9;border-radius:10px;place-items:center;width:31px;height:31px;display:grid}.financial-report-panel.donations .report-heading-icon{color:#9a7518;background:#fff5db}.reminder-info{margin-top:0}.reminder-status-cell{gap:4px;max-width:210px;display:grid}.reminder-status-cell small{color:var(--muted);white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.25}.reminder-status-cell .status-badge{width:max-content}.email-test-panel{border-left:4px solid #65a842}.email-test-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:14px;margin-top:16px;display:grid}.email-test-form label{flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.email-test-form input{background:#fff;border:1px solid #cfdacf;border-radius:10px;outline:none;width:100%;padding:11px 12px}.email-test-form input:focus{border-color:#69a945;box-shadow:0 0 0 3px #69a9451f}.email-test-note{margin:10px 0 0;font-size:11px}@media (max-width:700px){.email-test-form{grid-template-columns:1fr}.email-test-form .primary-button{width:100%}.sidebar nav a .nav-icon{width:29px;height:29px}.reminder-status-cell{max-width:none}}.tabs button{align-items:center;gap:7px;display:inline-flex}.metric-icon{color:#4c8429}.metric-icon svg{filter:drop-shadow(0 2px 3px #26531914)}.dashboard-link-card{color:inherit;cursor:pointer;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}.dashboard-link-card:hover{border-color:#cddfc6;transform:translateY(-3px);box-shadow:0 14px 32px #1c40121a}.dashboard-link-card:focus-visible{outline-offset:3px;outline:3px solid #4f872c47}.dashboard-year-card.dashboard-link-card,.dashboard-followup-card.dashboard-link-card{display:block}.app-version{letter-spacing:.08em;color:#7fb45f;opacity:.9;margin-top:-1px;font-size:9px}:root{--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--shadow-soft:0 10px 28px #1e41160e;--shadow-hover:0 18px 38px #1c40121d}a,button,input,select,textarea{transition:border-color .18s,box-shadow .18s,background-color .18s,color .18s,transform .18s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #508b2a3d}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.logout-button:hover{transform:translateY(-1px)}.dashboard-hero{border-radius:24px;min-height:145px;padding:20px 30px;box-shadow:0 16px 38px #234c181f}.dashboard-hero h2{letter-spacing:-.018em;margin:6px 0 7px;font-size:27px;line-height:1.12}.dashboard-hero p{margin-top:0;font-size:13px;line-height:1.48}.dashboard-hero .hero-logo{width:260px}.dashboard-hero .hero-logo img{width:220px;height:112px}.dashboard-hero:after{width:290px;height:290px;top:-172px;right:-105px}.dashboard-feature-grid{gap:15px;margin:16px 0 24px}.dashboard-feature-card{min-height:118px;box-shadow:var(--shadow-soft);border-radius:20px;padding:19px 20px}.dashboard-feature-card:after{opacity:.8}.dashboard-feature-copy>span{letter-spacing:.065em;font-size:11px}.dashboard-feature-copy strong{font-size:32px;font-weight:780}.dashboard-feature-copy small{font-size:11px;line-height:1.25}.dashboard-feature-icon{border-radius:16px;width:51px;height:51px}.mini-trend{color:#5e9b39;opacity:.9;align-self:center;justify-items:end;gap:1px;min-width:104px;margin-left:auto;display:grid}.mini-trend.gold{color:#b4871b}.mini-trend svg{width:104px;height:42px;overflow:visible}.mini-trend span{letter-spacing:.08em;text-transform:uppercase;color:#8a958b;font-size:9px;font-weight:750}.dashboard-feature-card:hover .mini-trend{opacity:1}.dashboard-section-title{align-items:center;margin:4px 2px 13px}.dashboard-privacy-note{color:#557251;white-space:nowrap;background:#eef6e9;border:1px solid #dcead6;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;font-weight:700;display:inline-flex}.dashboard-privacy-note span{letter-spacing:0;text-transform:none;color:inherit;font-size:10px;display:inline}.dashboard-compact-card{border-radius:17px;padding:16px 17px;box-shadow:0 5px 18px #1e411609}.dashboard-compact-card:hover{box-shadow:var(--shadow-hover);border-color:#cfdfc8;transform:translateY(-3px)}.dashboard-compact-icon{width:42px;height:42px}.dashboard-compact-card strong{font-size:23px;line-height:1}.dashboard-insight-grid{gap:14px;margin:16px 0}.dashboard-year-card,.dashboard-followup-card{border-radius:19px;min-height:128px;padding:19px;box-shadow:0 5px 18px #1e411609}.dashboard-year-row{margin-top:13px}.dashboard-year-row strong{letter-spacing:-.04em;font-size:31px;font-weight:790}.dashboard-year-row h3{margin-top:4px;font-size:12px}.dashboard-card-kicker{letter-spacing:.14em;font-size:9px}.dashboard-round-icon{width:46px;height:46px}.upcoming-date{color:#2f6d19;justify-items:end;gap:3px;display:grid}.upcoming-date strong{font-size:13px}.upcoming-date span{color:#6e8a67;background:#eff7ea;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800}.upcoming-item{padding:14px 2px}.dashboard-empty-state{color:#5e7f52;background:linear-gradient(145deg,#f8fbf6,#fff);border:1px dashed #d7e6d1;border-radius:15px;justify-content:center;align-items:center;gap:12px;min-height:100px;margin-top:12px;padding:20px;display:flex}.dashboard-empty-state svg{color:#68a442}.dashboard-empty-state div{text-align:left;gap:2px;display:grid}.dashboard-empty-state strong{color:#385c2b;font-size:12px}.dashboard-empty-state span{color:var(--muted);font-size:11px}.activity-item{padding:11px 0}.activity-icon{background:linear-gradient(145deg,#edf6e8,#f8fbf6);border:1px solid #e4eee0}.activity-copy strong{font-size:12px;font-weight:760}.activity-copy span,.activity-item time{font-size:10px}.dashboard-link-card{will-change:transform;position:relative}.dashboard-link-card:hover{box-shadow:var(--shadow-hover);border-color:#cadfc1;transform:translateY(-4px)}.dashboard-link-card:active{transform:translateY(-1px)}.premium-loading{background:radial-gradient(circle at 50% 35%,#eef8e8,#0000 34%),linear-gradient(145deg,#f7faf5,#edf6e9);gap:12px}.premium-loading img{object-fit:contain;filter:drop-shadow(0 10px 22px #234c181f);width:min(300px,72vw);height:125px;animation:1.8s ease-in-out infinite alternate brandFloat}.premium-loading p{color:#71806f;margin:0;font-size:12px}.loading-pulse{justify-content:center;align-items:center;gap:6px;height:16px;display:flex}.loading-pulse span{background:#5d9d36;border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite loadingDot}.loading-pulse span:nth-child(2){animation-delay:.14s}.loading-pulse span:nth-child(3){animation-delay:.28s}@keyframes loadingDot{0%,to{opacity:.3;transform:scale(.82)}50%{opacity:1;transform:scale(1.08)}}@keyframes brandFloat{0%{transform:translateY(1px)}to{transform:translateY(-4px)}}.app-footer{color:#94a093;letter-spacing:.02em;justify-content:flex-end;gap:8px;max-width:1550px;margin:0 auto;padding:0 34px 24px;font-size:10px;display:flex}.app-footer span+span:before{content:"·";color:#b4bdb2;margin-right:8px}.panel{border-radius:17px}.badge{box-shadow:inset 0 0 0 1px #46772b08}.notice{box-shadow:0 5px 16px #1e411609}@media (max-width:1180px){.mini-trend{min-width:90px}.mini-trend svg{width:90px}.dashboard-hero .hero-logo{width:225px}}@media (max-width:900px){.dashboard-privacy-note{white-space:normal}.dashboard-feature-card{min-height:110px}.mini-trend{min-width:96px}.mini-trend svg{width:96px}}@media (max-width:640px){.dashboard-hero{min-height:0;padding:20px}.dashboard-hero h2{font-size:23px}.dashboard-hero p{font-size:12px}.dashboard-feature-card{grid-template-columns:auto 1fr auto;gap:12px;display:grid}.dashboard-feature-copy strong{font-size:28px}.mini-trend{min-width:76px}.mini-trend svg{width:76px;height:34px}.mini-trend span{display:none}.dashboard-section-title{align-items:flex-start}.dashboard-privacy-note{width:max-content;max-width:100%}.dashboard-year-row strong{font-size:29px}.upcoming-date{justify-items:start}.app-footer{padding:0 16px 18px}}@media (max-width:430px){.dashboard-feature-card{grid-template-columns:auto 1fr}.mini-trend{opacity:.75;grid-column:2;justify-items:start;width:100%;margin-left:0}.mini-trend svg{width:100%;max-width:120px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.computed-grid{background:linear-gradient(145deg,#f3f8f0,#fbfdf9);border:1px solid #dce8d7;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.computed-grid>div{background:#fff;border:1px solid #e0e9dc;border-radius:12px;gap:3px;padding:13px 14px;display:grid}.computed-grid span{color:var(--muted);font-size:11px;font-weight:700}.computed-grid strong{color:#315f19;letter-spacing:-.025em;font-size:22px}.computed-grid small,.field-help{color:#7a857c;font-size:10px;font-weight:500;line-height:1.35}@media (max-width:800px){.sidebar{height:100dvh;padding:10px 12px 9px}.sidebar .brand{gap:2px;height:76px;margin-bottom:7px;padding-bottom:4px}.sidebar .brand img{width:104px;max-height:49px}.sidebar .brand strong{letter-spacing:.1em;font-size:9.5px;line-height:1.05}.sidebar .app-version{margin-top:0;font-size:7.5px;line-height:1}.sidebar nav{gap:1px}.sidebar nav a{border-radius:10px;gap:8px;min-height:35px;padding:5px 9px;font-size:12.5px;line-height:1.08}.sidebar nav a .nav-icon{border-radius:9px;width:27px;height:27px}.sidebar nav a .nav-icon svg{width:16px;height:16px}.sidebar-user{margin-top:auto;padding:6px 7px 0}.sidebar-user small{font-size:9px}.session-name{margin-top:3px;font-size:11px;line-height:1.1}.session-username{margin-top:1px;font-size:9px;line-height:1.05}.role-badge{margin-top:3px;padding:2px 6px;font-size:8.5px}.logout-button{border-radius:8px;margin-top:5px;padding:5px 7px;font-size:10.5px;line-height:1.1}.logout-button svg{width:13px;height:13px}}
