:root{background:#f7f5ef;color:#26342b;font-family:Avenir Next,Segoe UI,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{min-width:320px}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Avenir Next,Segoe UI,Arial,sans-serif}h1{font-size:clamp(2.25rem,5vw,4.35rem);letter-spacing:-.055em;line-height:1.12}h2{font-size:1.45rem;letter-spacing:-.035em}h3{font-size:1.15rem;letter-spacing:-.025em}:focus-visible{outline:3px solid #e6ad75;outline-offset:3px}.app-loading{color:#577260;display:grid;font-weight:700;min-height:100vh;place-items:center}.app-frame{display:flex;flex-direction:column;min-height:100vh}.site-header{align-items:center;background:#fcfbf7;border-bottom:1px solid #e7e9de;display:flex;height:86px;justify-content:space-between;padding:0 max(5.3vw,24px)}.header-error{background:#fff4ef;color:#a65e50;font-size:.82rem;margin:0;padding:10px 24px;text-align:center}.brand{align-items:center;color:#294832;display:inline-flex;font:800 1.55rem Avenir Next,Segoe UI,Arial,sans-serif;gap:12px;letter-spacing:-.075em;line-height:1}.brand-accent{color:#e9a56b}.brand small{color:#78917e;display:block;font:600 .54rem Avenir Next,Segoe UI,Arial,sans-serif;letter-spacing:.17em;margin-top:7px;text-transform:uppercase}.brand-mark{display:inline-block;height:34px;position:relative;width:34px}.brand-mark span{background:#799a7f;border-radius:13px 13px 8px 8px;height:22px;left:3px;position:absolute;top:5px;transform:rotate(-35deg);width:19px}.brand-mark span:nth-child(2){background:#eab78a;left:14px;top:5px;transform:rotate(35deg)}.brand-mark span:nth-child(3){background:#335d40;border-radius:50%;height:12px;left:11px;top:19px;width:12px}.header-actions{align-items:center;display:flex;gap:28px}.language-switch{background:#eff1e9;border-radius:999px;display:inline-flex;gap:2px;padding:4px}.language-switch button{background:transparent;border:0;border-radius:999px;color:#849088;font-size:.74rem;font-weight:800;letter-spacing:.04em;padding:7px 10px}.language-switch button.active{background:#fff;box-shadow:0 2px 7px #22352b12;color:#2f5038}.text-button{background:none;color:#526859;font-weight:700}.text-button span{font-size:1.1rem;margin-left:4px}.page-shell{flex:1;margin:0 auto;padding:46px 0 100px;width:min(1180px,calc(100% - 48px))}.site-footer{border-top:1px solid #e5e7de;color:#9aa69a;display:flex;font-size:.82rem;gap:20px;justify-content:space-between;padding:25px max(5.3vw,24px)}.site-footer span:first-child{color:#77907a;font-weight:800}.breadcrumbs{align-items:center;color:#9baa9c;display:flex;font-size:.84rem;font-weight:600;gap:12px;margin-bottom:26px}.breadcrumbs a:hover{color:#3f684a}.campaign-hero,.page-intro{align-items:center;background:#eaf0e3;border-radius:28px;display:flex;justify-content:space-between;margin-bottom:50px;min-height:260px;overflow:hidden;padding:45px 62px;position:relative}.campaign-hero h1,.page-intro h1{color:#2b5035;margin:18px 0 10px;position:relative;z-index:1}.campaign-hero p,.page-intro p{color:#728879;font-size:1.02rem;margin-bottom:0;max-width:570px;position:relative;z-index:1}.eyebrow{align-items:center;color:#65816d;display:inline-flex;font-size:.72rem;font-weight:800;gap:9px;letter-spacing:.15em}.eyebrow-dot{background:#e8aa70;border-radius:50%;height:7px;width:7px}.intro-art{color:#94b394;font-size:8rem;height:300px;line-height:1;position:absolute;right:48px;top:-55px;transform:rotate(-16deg);width:240px}.intro-art span:first-child{position:absolute;right:80px;top:22px}.intro-art span:last-child{color:#ebbd92;font-size:6rem;position:absolute;right:10px;top:126px}.compact-intro{min-height:225px}.content-section{margin-top:40px}.content-section:first-of-type{margin-top:0}.section-heading{align-items:center;display:flex;gap:14px;margin-bottom:20px}.section-heading h2{color:#2a4533;margin:0}.section-heading>span{background:#e7ece4;border-radius:999px;color:#6d876f;display:inline-grid;font-size:.8rem;font-weight:800;height:28px;min-width:28px;padding:0 8px;place-items:center}.detail-tabs,.school-tabs{display:flex;gap:9px;overflow:auto;padding-bottom:3px}.detail-tabs button,.school-tabs button{background:#fff;border:1px solid #dce5d9;border-radius:999px;color:#607768;font-weight:700;padding:12px 20px;white-space:nowrap}.detail-tabs button.active,.school-tabs button.active{background:#355d40;border-color:#355d40;color:#fff}.group-section{margin-top:55px}.campaign-grid,.group-grid,.plan-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-card,.group-card,.plan-card,.stat-card{background:#fff;border:1px solid #e8ebe2;border-radius:20px;box-shadow:0 7px 25px #36453609}.group-card{align-items:flex-start;display:flex;gap:20px;min-height:185px;padding:28px;transition:transform .18s,box-shadow .18s}.campaign-card:hover,.group-card:hover{box-shadow:0 14px 35px #36453616;transform:translateY(-3px)}.group-icon{background:#e5eddf;border-radius:17px;color:#77997a;display:grid;flex:none;font-size:2.1rem;height:62px;place-items:center;width:62px}.group-icon.tone-1{background:#faecdd;color:#d8a06f}.group-icon.tone-2{background:#e5edf1;color:#729aac}.group-icon.tone-3{background:#f3e8ec;color:#ba8c9e}.card-overline{color:#a6b2a7;font-size:.67rem;font-weight:800;letter-spacing:.16em}.group-card h3{color:#2d4735;margin:12px 0 24px}.card-link{color:#71947a;font-size:.82rem;font-weight:800}.card-link span{margin-left:5px}.state-card{background:#fbfcf8;border:1px dashed #d3ded2;border-radius:18px;color:#7e9381;padding:30px 32px}.error-state{background:#fff9f6;border-color:#e9d1c9;color:#a65e50}.error-state button{background:none;border:0;color:#a65e50;font-weight:800;margin-left:12px;text-decoration:underline}.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-card{display:flex;flex-direction:column;min-height:245px;padding:30px;transition:transform .18s,box-shadow .18s}.campaign-card-bottom,.campaign-card-top{align-items:center;display:flex;gap:16px;justify-content:space-between}.card-arrow{color:#8dad8e;font-size:1.55rem}.campaign-card h3{color:#294632;font-size:1.45rem;margin:22px 0 7px}.campaign-card>p{color:#8fa093;flex:1}.campaign-card-bottom{border-top:1px solid #edf0e9;color:#98a99a;font-size:.8rem;padding-top:20px}.campaign-card-bottom div{display:flex;flex-direction:column;gap:5px}.campaign-card-bottom strong{color:#355d40;font:800 1.25rem Avenir Next,Segoe UI,Arial,sans-serif}.status-pill{background:#e6f1e5;border-radius:999px;color:#54805b;display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.035em;padding:8px 12px;width:-moz-max-content;width:max-content}.status-pill.draft{background:#f9eddf;color:#b18a5f}.pagination{align-items:center;color:#8da18f;display:flex;gap:24px;justify-content:center;margin-top:30px}.pagination button{background:none;border:0;color:#446f4f;font-weight:800}.more-button{background:#fff;border:1px solid #c8dac8;border-radius:999px;color:#426b4a;display:block;font-weight:800;margin:22px auto 0;padding:11px 22px}.campaign-hero{background:#f1e9d9;margin-bottom:45px;min-height:285px}.campaign-hero h1{color:#33533b}.campaign-hero p{margin-bottom:22px}.hero-flower{color:#d6e2c9;font-size:17rem;line-height:1;position:absolute;right:70px;top:-58px;transform:rotate(-17deg)}.stats-section{margin-top:0}.stat-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{display:flex;flex-direction:column;min-height:160px;padding:23px}.stat-card>span{color:#8da08f;font-size:.79rem;font-weight:700}.stat-card strong{color:#355740;font:800 clamp(1.35rem,2vw,1.9rem) Avenir Next,Segoe UI,Arial,sans-serif;margin-top:20px;white-space:nowrap}.stat-card small{color:#a5b1a5;font-size:.72rem;margin-top:auto}.primary-stat{background:#3d6648;border-color:#3d6648}.primary-stat small,.primary-stat>span{color:#bcd0bd}.primary-stat strong{color:#fff}.details-section{margin-top:58px}.detail-tabs{border-bottom:1px solid #e3e9df;gap:26px;padding-bottom:0}.detail-tabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:#8c9d8e;padding:15px 5px}.detail-tabs button.active{background:none;border-bottom-color:#6b9a73;color:#365c40}.tab-panel{padding-top:26px}.plan-card{min-height:190px;padding:26px}.plan-index{color:#b3c1b2;font-size:.73rem;font-weight:800;letter-spacing:.1em}.plan-card h3{color:#365740;margin:18px 0 10px}.plan-card p{color:#869a89;font-size:.87rem;line-height:1.55}.plan-status{background:#edf3e9;border-radius:999px;color:#779579;display:inline-block;font-size:.7rem;font-weight:800;padding:7px 10px}.data-list{background:#fff;border:1px solid #e8ebe2;border-radius:18px;overflow:hidden}.data-row{border-bottom:1px solid #eef1ea;display:flex;gap:20px;justify-content:space-between;padding:21px 25px}.data-row:last-child{border-bottom:0}.data-row>div:first-child{display:flex;flex-direction:column;gap:7px}.data-row strong{color:#34553e}.data-row span{color:#90a193;font-size:.8rem}.row-values{align-items:center;display:flex;gap:25px}.row-values strong{display:block;font-size:.9rem;margin-top:5px}.login-page{align-items:center;background:#edf3e9;display:grid;gap:7vw;grid-template-columns:1fr minmax(380px,480px);min-height:100vh;overflow:hidden;padding:6vh 9vw;position:relative}.login-decoration{border-radius:50%;pointer-events:none;position:absolute}.decoration-one{background:#e3eddf;height:500px;left:-160px;top:-180px;width:500px}.decoration-two{background:#f7e8d7;bottom:-235px;height:360px;left:30%;width:360px}.login-card,.login-copy{position:relative;z-index:1}.login-copy h1{color:#2f593b;margin:27px 0;max-width:650px}.login-copy>p{color:#7f9a83;font-size:1.1rem;line-height:1.6;max-width:490px}.login-illustration{height:230px;margin-top:55px;max-width:500px;position:relative}.illustration-card{background:#fff;border-radius:22px;box-shadow:0 18px 45px #64816928;height:150px;position:absolute;width:245px}.card-back{background:#f0dac1;left:120px;top:28px;transform:rotate(16deg)}.card-front{display:flex;flex-direction:column;gap:13px;left:54px;padding:24px;top:35px;transform:rotate(-10deg)}.card-front>span:first-child{color:#e3aa79;font-size:2.1rem}.mini-line{background:#dce8d8;border-radius:999px;height:9px;width:75%}.mini-line.short{width:47%}.illustration-circle{background:#8aaf91;border-radius:50%;box-shadow:0 13px 25px #64816920;color:#fff;display:grid;font-size:3rem;height:96px;left:270px;place-items:center;position:absolute;top:110px;transform:rotate(13deg);width:96px}.login-card{background:#fff;border:1px solid #e4ece1;border-radius:30px;box-shadow:0 24px 70px #49644e1a;display:flex;flex-direction:column;min-height:570px}.login-topline{align-items:center;display:flex;justify-content:space-between;padding:35px 38px 0}.brand.compact{font-size:1.25rem}.login-card-content{flex:1;padding:70px 40px 40px}.login-card-content h2{color:#2f4e39;font-size:1.8rem;margin:11px 0}.login-card-content>p{color:#8a9c8d;font-size:.9rem;margin-bottom:33px}.login-card label{color:#516854;display:block;font-size:.8rem;font-weight:800;margin:19px 0 9px}.login-card input{background:#fbfdf9;border:1px solid #dfe8dc;border-radius:11px;color:#2c4233;display:block;outline:none;padding:15px 16px;width:100%}.login-card input:focus{border-color:#78a684;box-shadow:0 0 0 3px #dcecdf}.login-card input::-moz-placeholder{color:#bdc9bd}.login-card input::placeholder{color:#bdc9bd}.primary-button{align-items:center;background:#3d6849;border:0;border-radius:12px;color:#fff;display:flex;font-weight:800;justify-content:space-between;padding:16px 19px}.primary-button:hover{background:#305b3d}.full-width{margin-top:26px;width:100%}.form-error{color:#ae564e;font-size:.83rem;margin:15px 0 0}.login-card-foot{border-top:1px solid #eef1eb;color:#a7b5a8;font-size:.75rem;padding:20px;text-align:center}@media(max-width:900px){.group-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{gap:15px;grid-template-columns:1fr;padding:42px 5vw}.login-copy h1{font-size:2.6rem}.login-illustration{display:none}.login-card{margin:auto;max-width:560px;min-height:0;width:100%}.login-card-content{padding-top:40px}}@media(max-width:600px){.site-header{height:70px;padding:0 20px}.brand{font-size:1.28rem}.brand-mark{margin-right:-4px;transform:scale(.8)}.brand small{display:none}.header-actions{gap:10px}.logout-button{font-size:.75rem}.page-shell{padding:25px 0 70px;width:calc(100% - 32px)}.campaign-hero,.page-intro{border-radius:20px;margin-bottom:35px;min-height:215px;padding:30px 26px}.campaign-hero h1,.page-intro h1{font-size:2.2rem}.intro-art{opacity:.4;right:-90px}.hero-flower{font-size:10rem;opacity:.55;right:-45px;top:8px}.campaign-grid,.group-grid,.plan-grid{grid-template-columns:1fr}.group-card{min-height:150px;padding:23px}.campaign-card{min-height:225px}.stat-grid{gap:10px}.stat-card{min-height:145px;padding:18px}.stat-card strong{font-size:1.35rem}.stat-card small{line-height:1.25}.content-section{margin-top:32px}.data-row{flex-direction:column;gap:15px}.row-values{justify-content:space-between}.login-page{padding:25px 18px 40px}.login-copy h1{font-size:2.15rem;margin:18px 0}.login-copy>p{font-size:.95rem}.login-card{border-radius:23px}.login-topline{padding:28px 27px 0}.login-card-content{padding:42px 27px 30px}.site-footer span:last-child{display:none}}.dashboard-section .section-heading{justify-content:space-between}.fund-switcher{display:flex;gap:10px;margin-bottom:22px;overflow-x:auto;padding:3px 2px 18px;scrollbar-width:thin}.fund-option{background:#fff;border:1px solid #e2e9dd;border-radius:16px;box-shadow:0 5px 16px #36453608;color:#31523a;cursor:pointer;flex:0 0 auto;max-width:260px;min-width:185px;padding:13px 17px;text-align:left}.fund-option:hover{border-color:#95b79b}.fund-option.active{background:#476a4d;border-color:#476a4d;color:#fff}.fund-option small,.fund-option strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fund-option small{font-size:.68rem;font-weight:700;margin-bottom:5px;opacity:.75}.fund-option strong{font-size:.87rem}.fund-option:focus-visible{outline:3px solid #ddaa79;outline-offset:2px}.expense-tab{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}.expense-form-panel,.expense-history{background:#fff;border:1px solid #e8ebe2;border-radius:20px;box-shadow:0 7px 25px #36453609;padding:25px}.expense-form-panel h3,.expense-history h3{color:#2a4533;margin:0 0 18px}.expense-form{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.expense-form label{color:#526b58;display:flex;flex-direction:column;font-size:.78rem;font-weight:750;gap:7px}.expense-form input{background:#fbfdf9;border:1px solid #dfe8dc;border-radius:10px;color:#2c4233;min-width:0;padding:11px 12px;width:100%}.expense-form input:focus{border-color:#78a684;box-shadow:0 0 0 3px #dcecdf;outline:0}.expense-form .receipt-field{grid-column:1/-1}.receipt-field input{background:#fbfdf9;padding:10px}.receipt-field small{color:#91a192;font-weight:500}.expense-form .form-error,.expense-form .receipt-uploaded,.expense-submit{grid-column:1/-1}.expense-form .receipt-uploaded{color:#54805b;font-size:.82rem;margin:0}.expense-submit{margin-top:0}.expense-row .row-values{align-items:center}.receipt-link{background:#eff4ec;border:0;border-radius:999px;color:#426b4a;font-size:.76rem;font-weight:800;padding:8px 12px}.receipt-link:hover{background:#dfeadd}.receipt-link:disabled{cursor:wait;opacity:.55}.receipt-preview-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#152018b8;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:1000}.receipt-preview{background:#fbfcf9;border:1px solid #ffffff75;border-radius:20px;box-shadow:0 24px 80px #07110b70;display:flex;flex-direction:column;max-height:min(90vh,1000px);overflow:hidden;width:min(900px,100%)}.receipt-preview-header{align-items:center;border-bottom:1px solid #e8ebe2;display:flex;gap:18px;justify-content:space-between;padding:15px 20px}.receipt-preview-header h2{color:#2a4533;font-size:1.05rem;margin:0}.receipt-preview-header p{color:#829084;font-size:.8rem;margin:4px 0 0;overflow-wrap:anywhere}.receipt-preview-close{background:#edf2eb;border:0;border-radius:50%;color:#3d5943;cursor:pointer;flex:0 0 auto;font-size:1.65rem;height:40px;line-height:1;width:40px}.receipt-preview-close:hover{background:#dfeadd}.receipt-preview-body{background:#e9ede7;display:grid;min-height:150px;overflow:auto;padding:20px;place-items:center}.receipt-preview-body img{border-radius:8px;box-shadow:0 8px 28px #19251a20;display:block;max-height:calc(90vh - 120px);max-width:100%;-o-object-fit:contain;object-fit:contain}@media(max-width:600px){.receipt-preview-backdrop{padding:10px}.receipt-preview{border-radius:15px;max-height:94vh}.receipt-preview-header{padding:12px 15px}.receipt-preview-body{padding:10px}.receipt-preview-body img{max-height:calc(94vh - 100px)}}.dashboard-actions{align-items:center;display:flex;gap:18px}.dashboard-create-link{align-items:center;background:#eaf2e8;border-radius:999px;color:#426b4a;display:inline-flex;font-size:.82rem;font-weight:800;gap:6px;padding:10px 15px}.dashboard-create-link:hover{background:#dcebdc}.campaign-create-heading{margin:25px 0 24px}.campaign-create-heading h1{color:#2c4935;font-size:2.5rem;margin:10px 0 7px}.campaign-create-heading p,.campaign-create-hint{color:#829084;line-height:1.6;margin:0}.campaign-create-steps{display:flex;gap:10px;margin-bottom:16px}.campaign-create-steps span{background:#eef1eb;border-radius:999px;color:#89958b;font-size:.78rem;font-weight:800;padding:10px 15px}.campaign-create-steps span.active{background:#456c4d;color:#fff}.campaign-create-steps span.complete{background:#dfecdf;color:#426b4a}.campaign-create-panel{background:#fff;border:1px solid #e8ebe2;border-radius:20px;box-shadow:0 7px 25px #36453609;max-width:850px;padding:28px}.campaign-create-panel h2{color:#2a4533;margin:0 0 22px}.campaign-create-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-create-grid label,.campaign-plan-card label{color:#526b58;display:flex;flex-direction:column;font-size:.8rem;font-weight:750;gap:7px}.campaign-create-grid .wide-field{grid-column:1/-1}.campaign-create-panel input:not([type=checkbox]):not([type=radio]),.campaign-create-panel textarea{background:#fbfdf9;border:1px solid #dfe8dc;border-radius:10px;color:#2c4233;font:inherit;font-weight:500;padding:11px 12px;width:100%}.campaign-create-panel input:focus,.campaign-create-panel textarea:focus{border-color:#78a684;box-shadow:0 0 0 3px #dcecdf;outline:0}.campaign-create-panel textarea{resize:vertical}.campaign-kind-options{border:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:22px 0;padding:0}.campaign-kind-options legend{color:#526b58;font-size:.8rem;font-weight:800;margin-bottom:10px}.campaign-kind-options label{align-items:flex-start;background:#fbfdf9;border:1px solid #e3e9df;border-radius:13px;cursor:pointer;display:flex;gap:10px;padding:15px}.campaign-kind-options label.selected{background:#f0f6ed;border-color:#7eaa84}.campaign-kind-options input{accent-color:#456c4d;margin-top:3px}.campaign-kind-options small,.campaign-kind-options strong{display:block}.campaign-kind-options strong{color:#36553d;font-size:.86rem}.campaign-kind-options small{color:#89958b;font-size:.74rem;font-weight:500;line-height:1.4;margin-top:4px}.campaign-child-heading{align-items:center;display:flex;justify-content:space-between;margin:22px 0 10px}.campaign-child-heading h3{color:#385640;font-size:.95rem;margin:0}.text-button{background:transparent;border:0;color:#527d5b;cursor:pointer;font-size:.8rem;font-weight:800}.campaign-child-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-child-list label{align-items:center;border:1px solid #e8ece5;border-radius:10px;color:#445b49;display:flex;font-size:.85rem;gap:10px;padding:10px 12px}.campaign-child-list input{accent-color:#456c4d}.campaign-create-actions{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-top:25px}.publish-button,.secondary-button{align-items:center;background:#fff;border:1px solid #dce5d9;border-radius:11px;color:#426b4a;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;padding:13px 17px;text-decoration:none}.campaign-create-actions .primary-button,.campaign-primary-actions .primary-button,.publish-button{min-height:46px;padding:13px 18px}.campaign-primary-actions{display:flex;gap:10px}.publish-button{background:#456c4d;border-color:#456c4d;color:#fff}.campaign-create-panel button:disabled{cursor:wait;opacity:.55}.campaign-plan-cards{display:grid;gap:13px;margin-top:20px}.campaign-plan-card{background:#fbfdf9;border:1px solid #e5ebe1;border-radius:14px;display:grid;gap:13px;grid-template-columns:1fr 1.2fr;padding:17px}.campaign-plan-card-heading{align-items:center;color:#90a092;display:flex;font-size:.8rem;font-weight:800;grid-column:1/-1;justify-content:space-between}.danger-text{color:#a35d52}.add-plan-card{background:#f8fbf6;border:1px dashed #9bb79c;border-radius:12px;color:#527d5b;cursor:pointer;font-weight:800;margin-top:14px;padding:13px;width:100%}.campaign-saved-message{background:#edf6eb;border-radius:11px;color:#426b4a;font-size:.84rem;line-height:1.5;margin:18px 0 0;padding:13px 15px}.campaign-published-state{padding:48px 28px;text-align:center}.campaign-published-state h2{margin:15px 0 8px}.campaign-published-state p{color:#829084;margin:0 0 22px}.campaign-published-state .primary-button{display:inline-flex}@media(max-width:650px){.dashboard-actions{align-items:flex-end;flex-direction:column;gap:10px}.campaign-create-heading h1{font-size:2rem}.campaign-create-panel{padding:20px}.campaign-child-list,.campaign-create-grid,.campaign-kind-options,.campaign-plan-card{grid-template-columns:1fr}.campaign-create-grid .wide-field,.campaign-plan-card-heading{grid-column:auto}.campaign-primary-actions{align-items:stretch;flex-direction:column}.campaign-create-actions{align-items:stretch}.campaign-create-actions>.primary-button,.campaign-create-actions>.secondary-button{flex:1}}.group-settings-section{margin-top:30px}.group-settings-alert{margin-top:16px;max-width:850px}.invite-parent-form{align-items:end;background:#fff;border:1px solid #e8ebe2;border-radius:18px;box-shadow:0 7px 25px #36453609;display:grid;gap:14px;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(180px,.8fr) auto;padding:22px}.invite-parent-form label{color:#526b58;display:flex;flex-direction:column;font-size:.8rem;font-weight:750;gap:7px}.invite-parent-form input,.invite-parent-form select{background:#fbfdf9;border:1px solid #dfe8dc;border-radius:10px;color:#2c4233;font:inherit;font-weight:500;height:46px;min-width:0;padding:10px 12px;width:100%}.invite-parent-form input:focus,.invite-parent-form select:focus{border-color:#78a684;box-shadow:0 0 0 3px #dcecdf;outline:0}.invite-parent-form .primary-button{cursor:pointer;height:46px;padding:0 18px;white-space:nowrap}.invite-parent-form .primary-button:disabled{cursor:not-allowed;opacity:.55}.roster-list{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.roster-card{background:#fff;border:1px solid #e8ebe2;border-radius:17px;box-shadow:0 7px 25px #36453609;overflow:hidden}.roster-child-heading{align-items:center;background:#f8faf6;border-bottom:1px solid #edf1eb;display:flex;gap:11px;padding:17px 19px}.roster-child-heading h3{color:#35543d;font-size:.98rem;margin:0}.roster-child-icon{background:#e8f0e4;border-radius:11px;color:#668b69;display:grid;height:34px;place-items:center;width:34px}.roster-parents{display:grid;gap:3px;padding:10px}.roster-parent{align-items:center;border-radius:11px;display:flex;gap:11px;padding:9px}.parent-avatar{background:#f2e7d9;border-radius:50%;color:#a2744c;display:grid;flex:0 0 34px;font-weight:800;height:34px;place-items:center}.roster-parent small,.roster-parent strong{display:block}.roster-parent strong{color:#435d49;font-size:.84rem}.roster-parent small{color:#89958b;font-size:.76rem;margin-top:3px}.roster-empty{color:#929d93;font-size:.81rem;margin:0;padding:8px}.invitation-list{background:#fff;border:1px solid #e8ebe2;border-radius:17px;box-shadow:0 7px 25px #36453609;overflow:hidden}.invitation-row{align-items:center;border-bottom:1px solid #edf1eb;display:flex;gap:20px;justify-content:space-between;padding:15px 19px}.invitation-row:last-child{border-bottom:0}.invitation-main{display:flex;flex-direction:column;gap:5px;min-width:0}.invitation-main>strong{color:#385640;font-size:.88rem;overflow-wrap:anywhere}.invitation-main>span{color:#929d93;font-size:.76rem}.invitation-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.invitation-status{background:#f0f2ed;border-radius:999px;color:#758276;font-size:.72rem;font-weight:800;padding:6px 9px;white-space:nowrap}.invitationAccepted{background:#e5f1e3;color:#4c8054}.invitationPending{background:#f7efdf;color:#a6783e}.invitationExpired,.invitationRevoked{background:#f4e9e6;color:#a46458}.section-title-count{align-items:center;display:flex;gap:12px}.section-title-count h2{margin:0}.add-child-form{align-items:end;background:#fff;border:1px solid #e8ebe2;border-radius:16px;box-shadow:0 7px 25px #36453609;display:flex;gap:14px;margin:0 0 18px;max-width:640px;padding:18px}.add-child-form label{color:#526b58;display:flex;flex:1;flex-direction:column;font-size:.8rem;font-weight:750;gap:7px}.add-child-form input{background:#fbfdf9;border:1px solid #dfe8dc;border-radius:10px;color:#2c4233;font:inherit;font-weight:500;height:46px;padding:10px 12px;width:100%}.add-child-form input:focus{border-color:#78a684;box-shadow:0 0 0 3px #dcecdf;outline:0}.add-child-form>div{display:flex;gap:8px}.add-child-form .primary-button,.add-child-form .secondary-button{cursor:pointer;height:46px;padding:0 16px;white-space:nowrap}.add-child-form button:disabled{cursor:wait;opacity:.55}@media(max-width:700px){.invite-parent-form{padding:18px}.invite-parent-form,.roster-list{grid-template-columns:1fr}.invitation-row{align-items:flex-start;flex-direction:column;gap:12px}.invitation-actions{justify-content:flex-start}}@media(max-width:600px){.add-child-form{align-items:stretch;flex-direction:column}.add-child-form>div{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:760px){.expense-tab{grid-template-columns:1fr}}@media(max-width:600px){.expense-form-panel,.expense-history{padding:19px}.expense-form{grid-template-columns:1fr}.expense-form .form-error,.expense-form .receipt-field,.expense-form .receipt-uploaded,.expense-submit{grid-column:auto}}.dashboard-link{color:#527d5b;font-size:.82rem;font-weight:800}.dashboard-link:hover{color:#2f5a39;text-decoration:underline}.dashboard-refund{color:#a87445;font-size:.84rem;margin:15px 0 0}.dashboard-summary-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.dashboard-summary-grid.single-panel{grid-template-columns:1fr}.dashboard-panel{background:#fff;border:1px solid #e8ebe2;border-radius:20px;box-shadow:0 7px 25px #36453609;padding:25px}.dashboard-panel h3{color:#2a4533;font-size:1rem;margin:0 0 20px}.dashboard-progress{background:#e9eee8;border-radius:999px;display:flex;height:12px;overflow:hidden}.dashboard-progress span{display:block;height:100%}.dashboard-progress .paid{background:#6aa977}.dashboard-progress .partial{background:#e6b273}.dashboard-legend{color:#7c9180;display:flex;flex-wrap:wrap;font-size:.75rem;gap:10px 18px;margin-top:18px}.dashboard-legend span{align-items:center;display:inline-flex;gap:5px}.dashboard-legend strong{color:#34543b}.dashboard-legend i{border-radius:50%;display:inline-block;height:9px;width:9px}.dashboard-legend i.paid{background:#6aa977}.dashboard-legend i.partial{background:#e6b273}.dashboard-legend i.unpaid{background:#cbd8cb}.dashboard-subtext{color:#879a8a;font-size:.84rem;line-height:1.5;margin:14px 0 0}.dashboard-category-list>div{border-bottom:1px solid #edf1eb;color:#738b77;display:flex;font-size:.84rem;gap:15px;justify-content:space-between;padding:9px 0}.dashboard-category-list>div:last-child{border-bottom:0}.dashboard-category-list strong{color:#365b40}.dashboard-recent{margin-top:18px}.dashboard-expense-list>div{align-items:center;border-bottom:1px solid #edf1eb;display:flex;gap:20px;justify-content:space-between;padding:13px 0}.dashboard-expense-list>div:last-child{border-bottom:0}.dashboard-expense-list span{display:flex;flex-direction:column;gap:5px;min-width:0}.dashboard-expense-list strong{color:#35543d;font-size:.88rem}.dashboard-expense-list small{color:#91a192;font-size:.75rem}@media(max-width:760px){.dashboard-summary-grid{grid-template-columns:1fr}}@media(max-width:600px){.dashboard-panel{padding:20px}.dashboard-legend{flex-direction:column;gap:10px}.dashboard-expense-list>div{align-items:flex-start}.dashboard-expense-list>div>strong{white-space:nowrap}}.header-admin-link{color:#426b4a;font-size:.82rem;font-weight:800;white-space:nowrap}.section-heading .dashboard-create-link{border:0;cursor:pointer;margin-left:auto}.setup-form{align-items:end;background:#fff;border:1px solid #e8ebe2;border-radius:18px;display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px;padding:20px}.setup-form label{color:#526b58;display:flex;flex:1 1 250px;flex-direction:column;font-size:.8rem;font-weight:750;gap:7px}.setup-form input{background:#fbfdf9;border:1px solid #dfe8dc;border-radius:10px;color:#2c4233;height:46px;padding:10px 12px;width:100%}.setup-form .primary-button,.setup-form .secondary-button{min-height:46px;padding:11px 18px}.section-help{color:#829084;font-size:.9rem;line-height:1.5;margin:-8px 0 17px}.invite-committee-form{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto}.member-list{background:#fff;border:1px solid #e8ebe2;border-radius:18px;margin-top:20px;max-width:850px;padding:19px 22px}.member-list-label{color:#526b58;font-size:.8rem;font-weight:800;margin:0 0 12px}.member-row{border-top:1px solid #edf1eb;color:#546b58;display:flex;font-size:.86rem;gap:16px;justify-content:space-between;padding:9px 0}.member-row strong{color:#35543d}.invite-page{background:#f7f5ef;display:grid;min-height:100vh;padding:32px 18px;place-items:center}.invite-card{background:#fff;border:1px solid #e8ebe2;border-radius:24px;box-shadow:0 15px 45px #36453612;padding:35px;width:min(100%,520px)}.invite-card .brand{margin-bottom:30px}.invite-card h1{color:#2b5035;font-size:clamp(2rem,5vw,2.7rem);margin:11px 0 8px}.invite-card p{color:#778a7a;line-height:1.5}.invite-card .invite-email{color:#35543d;font-weight:700}.invite-card .invite-hint{margin:22px 0}.invite-card form{display:grid;gap:14px}.invite-card form h2{color:#2b5035;font-size:1.2rem;margin:0 0 4px}.invite-card label{color:#526b58;display:flex;flex-direction:column;font-size:.81rem;font-weight:750;gap:7px}.invite-card input{background:#fbfdf9;border:1px solid #dfe8dc;border-radius:10px;color:#2c4233;height:46px;padding:10px 12px}.invite-card .primary-button{min-height:46px;padding:11px 18px}.invite-switch-account{margin-top:20px;padding:0}.invitation-status.emailSent{background:#e5f1e3;color:#4c8054}.invitation-status.emailFailed{background:#f4e9e6;color:#a46458}@media(max-width:700px){.invite-committee-form{grid-template-columns:1fr}.member-row{flex-direction:column;gap:4px}.header-actions{gap:10px}.header-admin-link{font-size:.74rem}}@media(max-width:600px){.site-header{gap:10px;padding:0 16px}.site-header .brand{font-size:1.15rem;gap:6px;min-width:0}.site-header .brand-mark{flex:none;margin-right:-7px;transform:scale(.8);transform-origin:left center}.header-actions{flex:none;gap:7px}.language-switch button{padding:7px 8px}.logout-button{align-items:center;background:#edf3e9;border-radius:999px;display:inline-flex;font-size:.7rem;gap:3px;min-height:38px;padding:0 9px}.logout-button .logout-label{font-size:inherit;margin:0}.logout-button .logout-icon{font-size:.95rem;margin:0}.page-intro.compact-intro{background:transparent;border-radius:0;margin:0 0 18px;min-height:0;padding:0}.compact-intro .eyebrow,.compact-intro .intro-art{display:none}.page-intro.compact-intro h1{font-size:1.55rem;line-height:1.2;margin:0 0 4px}.page-intro.compact-intro p{font-size:.84rem;line-height:1.35;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-intro.has-fund-switcher p{display:none}.dashboard-section.content-section{margin-top:0}.fund-switcher{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px;overflow:visible;padding:0}.fund-option{border-radius:14px;max-width:none;min-height:78px;min-width:0;padding:11px 12px}.fund-option:last-child:nth-child(odd){grid-column:1/-1}.fund-option small{font-size:.65rem}.fund-option strong{font-size:.82rem}.dashboard-section .section-heading{display:block;margin-bottom:14px}.dashboard-section .section-heading h2{display:none}.dashboard-section .dashboard-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-section .section-heading .dashboard-create-link{font-size:.76rem;justify-content:center;margin:0;min-height:44px;padding:10px 8px;white-space:nowrap}.dashboard-section .dashboard-link{align-items:center;background:#3d6648;border-radius:12px;color:#fff;display:flex;font-size:.86rem;grid-column:1/-1;grid-row:1;justify-content:center;min-height:46px}.dashboard-section .dashboard-link:hover{background:#305b3d;color:#fff;text-decoration:none}.dashboard-section .stat-grid{gap:8px}.dashboard-section .stat-card{border-radius:16px;min-height:122px;padding:15px}.dashboard-section .stat-card>span{font-size:.74rem}.dashboard-section .stat-card strong{font-size:1.32rem;margin-top:12px}.dashboard-section .stat-card small{color:#788d7c;font-size:.69rem;line-height:1.2}.dashboard-section .primary-stat small{color:#c7d9c7}}@media(max-width:360px){.logout-button{display:grid;padding:0;place-items:center;width:38px}.logout-button .logout-label{display:none}.dashboard-section .dashboard-actions{grid-template-columns:1fr}.dashboard-section .dashboard-link{grid-column:1}}
