*{box-sizing:border-box}:root{color:#17251b;font-synthesis:none;text-rendering:optimizelegibility;background:radial-gradient(circle at 0 0,#dcefe0b3,#0000 34rem),#f5f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;min-height:100vh;margin:0}button,input{font-family:inherit}.app-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:48px 0 80px}.hero{justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:32px;display:flex}.eyebrow,.step-label{color:#55705e;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800}.hero h1{color:#17251b;letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(2.25rem,6vw,4.5rem);line-height:.98}.hero-copy{color:#5b665e;max-width:720px;margin:20px 0 0;font-size:1.05rem;line-height:1.7}.privacy-badge{color:#325840;background:#f4faf5;border:1px solid #cfe1d4;border-radius:999px;flex:none;align-items:center;gap:10px;padding:12px 16px;font-size:.82rem;font-weight:700;display:flex}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.panel,.results-panel,.empty-state{background:#fff;border:1px solid #dce4de;border-radius:24px;box-shadow:0 18px 50px #1c332312}.panel{padding:24px}.panel-heading,.results-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel h2,.results-panel h2,.empty-state h2{color:#1a2a1f;margin:0;font-size:1.35rem}.field{color:#435049;gap:9px;margin-top:24px;font-size:.87rem;font-weight:700;display:grid}.money-input{background:#fbfcfb;border:1px solid #cfd9d1;border-radius:14px;align-items:center;display:flex;overflow:hidden}.money-input span{color:#66736b;padding:0 0 0 16px;font-weight:800}.money-input input{color:#17251b;width:100%;font:inherit;background:0 0;border:0;outline:0;padding:14px 16px 14px 8px;font-size:1rem}.roster-note,.selected-file{background:#f3f6f4;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:14px 16px;display:flex}.roster-note span,.selected-file span{color:#69736d;font-size:.8rem;display:block}.upload-control{color:#315b3d;cursor:pointer;background:#f8fbf8;border:1.5px dashed #9cb1a2;border-radius:16px;place-items:center;min-height:112px;margin-top:24px;font-weight:800;display:grid}.upload-control:hover{background:#f0f7f1}.upload-control input{opacity:0;width:1px;height:1px;position:absolute}.selected-file div{min-width:0}.selected-file strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.selected-file button{color:#7b403d;cursor:pointer;font:inherit;background:0 0;border:0;font-size:.82rem;font-weight:800}.field-error{color:#a13d38;margin:10px 0 0;font-size:.83rem;font-weight:700}.warning-box{color:#775b22;background:#fff9ec;border:1px solid #efd9ac;border-radius:14px;margin-top:16px;padding:14px 16px;font-size:.84rem}.warning-box p{margin:7px 0 0}.empty-state{text-align:center;justify-items:center;margin-top:20px;padding:70px 24px;display:grid}.empty-icon{color:#3c6948;background:#edf5ef;border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:18px;font-size:1.8rem;display:grid}.empty-state p{color:#68736c;max-width:620px;margin:12px 0 0;line-height:1.65}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.summary-card{background:#fff;border:1px solid #dce4de;border-radius:18px;padding:20px}.summary-card span{color:#68736c;margin-bottom:10px;font-size:.8rem;font-weight:700;display:block}.summary-card strong{color:#1a2a1f;font-size:1.65rem}.summary-card.success{background:#f5fbf6;border-color:#cce4d2}.summary-card.warning{background:#fffaf0;border-color:#ebd5a8}.results-panel{margin-top:20px;padding:24px}.review-total{color:#737e77;justify-items:end;font-size:.78rem;font-weight:700;display:grid}.review-total strong{color:#7c5722;margin-top:3px;font-size:1.1rem}.transaction-list{gap:12px;margin-top:24px;display:grid}.transaction-row{background:#fbfcfb;border:1px solid #dfe6e1;border-radius:16px;justify-content:space-between;gap:24px;padding:20px;display:flex}.transaction-row.needs_review{background:#fffaf1;border-color:#ebd6ac}.transaction-main{min-width:0}.status-line{color:#7b857f;align-items:center;gap:10px;font-size:.76rem;font-weight:700;display:flex}.status-pill{color:#2f6240;background:#dceee1;border-radius:999px;padding:5px 8px}.needs_review .status-pill{color:#765719;background:#f4e4bd}.transaction-row h3{color:#17251b;margin:12px 0 5px;font-size:1.05rem}.transaction-row p{color:#66716a;margin:0;font-size:.88rem}.issue-list{color:#8e4e35;margin:12px 0 0;padding-left:18px;font-size:.82rem;line-height:1.5}.transaction-amount{flex:none;align-content:start;justify-items:end;display:grid}.transaction-amount span,.transaction-amount small{color:#7a847e;font-size:.75rem}.transaction-amount strong{color:#1a2a1f;margin:4px 0;font-size:1.1rem}@media (width<=760px){.app-shell{width:min(100% - 20px,1120px);padding-top:28px}.hero{display:grid}.privacy-badge{justify-self:start}.setup-grid,.summary-grid{grid-template-columns:1fr}.transaction-row{display:grid}.transaction-amount,.review-total{justify-items:start}}.hero-side{justify-items:end;gap:12px;display:grid}.collection-identity{background:#fff;border:1px solid #d7e4da;border-radius:18px;justify-items:end;padding:16px 18px;display:grid;box-shadow:0 12px 32px #1c332312}.collection-identity span{color:#6f7a73;font-size:.76rem;font-weight:700}.collection-identity strong{color:#1f4d2e;margin-top:4px;font-size:1.2rem}.roster-stats{justify-items:end;gap:3px;display:grid}.results-actions{justify-items:end;gap:10px;display:grid}.restore-button{color:#315b3d;cursor:pointer;font:inherit;background:#f5faf6;border:1px solid #c8d8cc;border-radius:10px;padding:8px 11px;font-size:.76rem;font-weight:800}.transaction-row{padding-right:64px;position:relative}.transaction-remove{color:#8b3f39;cursor:pointer;background:#fff;border:1px solid #dfc8c5;border-radius:50%;place-items:center;width:32px;height:32px;font-size:1.35rem;line-height:1;display:grid;position:absolute;top:14px;right:14px}.transaction-remove:hover{background:#fff1ef}.sender-line{color:#7c857f!important;margin-top:5px!important;font-size:.78rem!important}.amount-detail{margin-bottom:4px}@media (width<=760px){.hero-side,.collection-identity,.roster-stats,.results-actions{justify-items:start}}.collection-setup-panel{grid-column:1/-1}.collection-identity small{color:#6f7a73;margin-top:5px;font-size:.72rem;font-weight:700}.draft-badge{color:#356243;background:#e5f3e8;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:800}.collection-setup-form{margin-top:8px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.field>input,.field>textarea,.handle-input{color:#17251b;width:100%;font:inherit;background:#fbfcfb;border:1px solid #cfd9d1;border-radius:14px;outline:0;padding:14px 16px}.field>input:focus,.field>textarea:focus,.handle-input:focus-within,.money-input:focus-within{border-color:#70947a;box-shadow:0 0 0 3px #70947a24}.field>textarea{resize:vertical;line-height:1.55}.handle-input{align-items:center;padding:0;display:flex;overflow:hidden}.handle-input span{color:#66736b;padding-left:16px;font-weight:800}.handle-input input{color:#17251b;width:100%;font:inherit;background:0 0;border:0;outline:0;padding:14px 16px 14px 5px}.setup-errors{color:#8b3f39;background:#fff3f1;border:1px solid #e8c1bd;border-radius:14px;margin-top:18px;padding:14px 16px;font-size:.84rem}.setup-errors ul{margin:8px 0 0;padding-left:19px}.form-actions{justify-content:flex-end;margin-top:20px;display:flex}.primary-button,.copy-button{color:#fff;cursor:pointer;font:inherit;background:#285c39;border:0;border-radius:12px;padding:12px 16px;font-size:.86rem;font-weight:800}.primary-button:hover,.copy-button:hover{background:#1f4b2e}.collection-preview{background:#f7fbf8;border:1px solid #cfe0d3;border-radius:18px;margin-top:24px;padding:20px}.preview-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.preview-heading h3{color:#1d4d2d;margin:0;font-size:1.35rem}.preview-heading>strong{color:#1d4d2d;font-size:1.35rem}.preview-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.preview-details div{background:#fff;border-radius:12px;padding:13px 14px}.preview-details span,.preview-details strong{display:block}.preview-details span{color:#77827b;margin-bottom:4px;font-size:.72rem;font-weight:700}.preview-details strong{color:#28372d;font-size:.88rem}.preview-actions{align-items:center;gap:14px;margin-top:16px;display:flex}.preview-actions span{color:#55705e;font-size:.8rem;font-weight:700}.route-note{color:#707b74;margin:14px 0 0;font-size:.78rem;line-height:1.5}@media (width<=760px){.form-grid,.preview-details{grid-template-columns:1fr}.form-actions{justify-content:stretch}.primary-button{width:100%}.preview-actions{flex-direction:column;align-items:flex-start}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.builder-description{color:#68736c;max-width:640px;margin:8px 0 0;font-size:.88rem;line-height:1.55}.builder-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.builder-summary div{background:#f8faf8;border:1px solid #dce5de;border-radius:14px;padding:14px}.builder-summary span,.builder-summary strong{display:block}.builder-summary span{color:#6e7972;margin-bottom:4px;font-size:.72rem;font-weight:700}.builder-summary strong{color:#1d3324;font-size:1.15rem}.builder-layout{gap:18px;margin-top:18px;display:grid}.builder-list-panel,.builder-preview{background:#fff;border:1px solid #dce4de;border-radius:18px;min-width:0}.builder-list-panel{overflow:hidden}.builder-toolbar{z-index:2;background:#fffffff7;border-bottom:1px solid #e1e7e2;gap:10px;padding:12px;display:grid;position:sticky;top:0}.builder-tabs{background:#eef3ef;border-radius:12px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.builder-tabs button{color:#637068;cursor:pointer;min-height:40px;font:inherit;background:0 0;border:0;border-radius:9px;font-size:.76rem;font-weight:800}.builder-tabs button.active{color:#245936;background:#fff;box-shadow:0 2px 8px #1d33241a}.builder-search input{color:#17251b;width:100%;min-height:44px;font:inherit;background:#fbfcfb;border:1px solid #cfd9d1;border-radius:11px;outline:0;padding:10px 12px}.member-list{max-height:560px;overflow-y:auto}.member-row{border-bottom:1px solid #edf1ee;grid-template-columns:minmax(74px,auto) 1fr 32px;align-items:center;gap:12px;min-height:48px;padding:8px 14px;display:grid}.member-row:last-child{border-bottom:0}.member-row strong{color:#203126;font-size:.88rem}.member-row span{color:#778179;font-size:.76rem}.member-row b{text-align:center;font-size:1rem}.member-row.status-paid{background:#f6fbf7}.member-row.status-beneficiary{background:#fff7f7}.member-row.status-exited{background:#faf7f6}.no-members{color:#707b74;text-align:center;margin:0;padding:30px 16px}.builder-preview{padding:16px}.builder-preview textarea{color:#1e2e23;resize:vertical;background:#f9fbf9;border:1px solid #ccd7cf;border-radius:14px;outline:0;width:100%;margin-top:14px;padding:14px;font:.82rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.builder-copy-actions{background:linear-gradient(#fff0,#fff 28%);gap:9px;margin:12px -4px -4px;padding:10px 4px 4px;display:grid;position:sticky;bottom:0}.secondary-button{color:#2e5c3b;cursor:pointer;min-height:44px;font:inherit;background:#fff;border:1px solid #bfd0c3;border-radius:12px;padding:11px 15px;font-size:.84rem;font-weight:800}.copy-status{color:#496b53;margin:10px 0 0;font-size:.78rem;font-weight:700}.hero{display:grid}.hero-side,.collection-identity,.results-actions,.review-total,.roster-stats{justify-items:start}.setup-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-row{display:grid}.transaction-amount{justify-items:start}@media (width>=800px){.hero{display:flex}.hero-side,.collection-identity,.results-actions,.review-total,.roster-stats{justify-items:end}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid,.builder-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.transaction-row{display:flex}.transaction-amount{justify-items:end}.builder-layout{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start}.builder-toolbar{grid-template-columns:minmax(0,auto) minmax(220px,1fr);align-items:center}.builder-preview{position:sticky;top:18px}.builder-copy-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.member-payment-shell{min-height:100vh;padding:18px 10px 48px}.member-payment-card{background:#fff;border:1px solid #d9e3dc;border-radius:22px;width:min(100%,680px);margin:0 auto;padding:20px;box-shadow:0 18px 50px #1c332314}.member-payment-header h1{color:#17251b;letter-spacing:-.05em;margin:0;font-size:clamp(2rem,10vw,3.4rem);line-height:1}.member-payment-header p:last-child{color:#657069;margin:14px 0 0;line-height:1.55}.member-collection-summary{gap:9px;margin-top:22px;display:grid}.member-collection-summary div,.member-instruction{background:#f4f8f5;border-radius:13px;padding:13px 14px}.member-collection-summary span,.member-collection-summary strong,.member-instruction span,.member-instruction strong{display:block}.member-collection-summary span,.member-instruction span{color:#748078;margin-bottom:4px;font-size:.72rem;font-weight:700}.member-collection-summary strong,.member-instruction strong{color:#203126;font-size:.92rem}.member-closing-date{color:#6b756e;margin:12px 0 0;font-size:.8rem;font-weight:700}.member-entry-section,.member-payment-details{border-top:1px solid #e2e8e3;margin-top:24px;padding-top:22px}.member-entry-section h2{color:#1d2d22;margin:0 0 14px;font-size:1.15rem}.member-entry-list{gap:10px;display:grid}.member-entry-row{grid-template-columns:1fr auto;align-items:start;gap:9px;display:grid}.member-entry-row label span{color:#526058;margin-bottom:7px;font-size:.78rem;font-weight:800;display:block}.member-entry-row input{color:#17251b;width:100%;min-height:48px;font:inherit;background:#fbfcfb;border:1px solid #cbd6ce;border-radius:12px;outline:0;padding:11px 13px;font-size:1rem}.member-remove-button{color:#8b3f39;cursor:pointer;background:#fff;border:1px solid #dfc8c5;border-radius:50%;width:42px;height:42px;margin-top:25px;font-size:1.3rem}.member-entry-error,.member-entry-valid{margin:6px 0 0;font-size:.76rem;font-weight:700}.member-entry-error{color:#9b403a}.member-entry-valid{color:#356945}.member-add-button{width:100%;margin-top:12px}.member-payment-details{gap:10px;display:grid}.member-payment-total{color:#214f30;background:#eaf5ed;border-radius:15px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.member-payment-total span{font-size:.82rem;font-weight:800}.member-payment-total strong{font-size:1.45rem}.member-payment-details>p{color:#626e66;margin:4px 0;font-size:.86rem;line-height:1.55}.member-payment-actions{gap:9px;margin-top:4px;display:grid}@media (width>=640px){.member-payment-shell{padding:44px 18px 80px}.member-payment-card{padding:30px}.member-collection-summary,.member-payment-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.member-open-venmo{min-height:54px;font-size:.95rem}.venmo-handoff-explanation{background:#f2f7f3;border-radius:12px;padding:13px 14px;font-weight:700;color:#405448!important;margin-top:4px!important}.venmo-recipient-warning{background:#fff9eb;border:1px solid #ead7a8;border-radius:12px;padding:12px 14px;color:#6f5725!important;margin:0!important}.venmo-fallback-link{color:#4d6555;text-align:center;padding:9px;font-size:.76rem;font-weight:700;display:block}.builder-review-warning{color:#654f1f;background:#fff8e6;border:1px solid #e5c97d;border-radius:14px;margin:14px 0;padding:14px 16px}.builder-review-warning strong{margin-bottom:7px;display:block}.builder-review-warning p{margin:4px 0;font-size:.82rem;line-height:1.45}.official-install-banner{z-index:50;color:#263d2d;background:#edf5ef;border-bottom:1px solid #cad9ce;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px 18px;display:grid;position:sticky;top:0;box-shadow:0 4px 14px #1a372214}.official-install-banner div{gap:3px;display:grid}.official-install-banner strong{font-size:.88rem}.official-install-banner span,.official-install-banner small{font-size:.75rem;line-height:1.4}.official-install-banner button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#1f4b2d;border:0;border-radius:10px;padding:0 15px;font-size:.78rem;font-weight:800}.official-install-banner small{color:#536a5a;grid-column:1/-1}@media (width<=640px){.official-install-banner{grid-template-columns:1fr;padding:12px 14px}.official-install-banner button{width:100%}}
