:root{--primary:#3378bd;--primary-dark:#17365d;--paper:#faf9f6;--ink:#17365d;--muted:#627084;--line:#dce2e9;--accent:#d5ad60;--blue-soft:#eaf1f8;--gold-soft:#f5eddd;--white:#fff;--radius:18px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:var(--primary);text-underline-offset:4px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--primary);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em;line-height:1.15}h1{margin-bottom:20px;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:500}h2{font-size:1.75rem;font-weight:500}h3{font-size:1.25rem}p{margin-bottom:18px}.muted{color:var(--muted)}.small{font-size:.85rem}.eyebrow{letter-spacing:.16em;margin-bottom:18px;font-size:.66rem;font-weight:700}.brand{letter-spacing:-.04em;white-space:nowrap;align-items:center;gap:12px;font-size:1.2rem;font-weight:700;display:flex}.login-layout{grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.story-panel{background:var(--primary-dark);color:#fff;flex-direction:column;padding:44px 9% 28px;display:flex;overflow:hidden}.story-copy{margin:auto 0;padding-top:62px}.story-copy h1{letter-spacing:-.06em;font-size:clamp(3.1rem,5vw,5rem);line-height:1.04}.story-copy h1 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}.story-copy>p:not(.eyebrow){color:#dbe5f0;max-width:360px;font-size:.95rem}.story-footer{color:#dbe5f0;margin:0;font-size:.72rem}.community-art{max-width:410px;height:220px;margin:24px 0;position:relative}.art-circle{border:1px solid #829ab7;border-radius:50%;width:150px;height:150px;display:block;position:absolute;top:12px}.circle-one{background:#ffffff05;left:0}.circle-two{background:#d5ad6012;left:86px}.circle-three{background:#d5ad6025;left:172px}.art-caption{color:var(--accent);font-family:Georgia,serif;font-size:1.4rem;font-style:italic;position:absolute;bottom:16px;left:66px}.login-panel{flex-direction:column;justify-content:center;padding:56px 12% 24px;display:flex}.login-content{width:100%;max-width:410px;margin:auto}.login-content h2{font-size:2.2rem}.intro{margin-bottom:34px;font-size:.95rem}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-form label{font-size:.8rem;font-weight:600}.auth-form input{border:1px solid var(--line);width:100%;min-width:0;height:51px;color:var(--ink);background:#fff;border-radius:9px;padding:0 14px}.label-row{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.label-row a{font-size:.75rem}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-flex}.primary{background:var(--primary);color:#fff}.primary:hover{background:var(--primary-dark)}.auth-form .primary{justify-content:space-between;margin-top:16px}.secondary{color:var(--primary);border-color:var(--line);background:#fff}.compact{min-height:44px;padding:8px 15px;font-size:.8rem}.form-note{text-align:center;color:var(--muted);margin:10px 0 0;font-size:.76rem}.how-it-works{border-top:1px solid var(--line);margin-top:38px;padding-top:28px}.how-it-works ol{gap:12px;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.how-it-works li{align-items:center;gap:15px;display:flex}.how-it-works li span{background:var(--gold-soft);width:25px;height:25px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:.64rem;display:grid}.login-footer{color:var(--muted);text-align:center;margin:44px 0 0;font-size:.68rem}.mobile-brand{display:none}.error,.notice{border-radius:8px;margin:6px 0;padding:12px 14px;font-size:.85rem}.error{color:#923d2d;background:#fae8e4}.notice{background:var(--blue-soft);color:var(--primary-dark)}.back-link{text-align:center;padding:12px;font-size:.85rem}.simple-page{max-width:960px;margin:auto;padding:40px 24px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:28px}.reset-card{max-width:480px;margin:70px auto}.reset-card h1{font-size:2rem}.skip-link{z-index:100;background:var(--white);padding:10px;position:fixed;top:-100px;left:10px}.skip-link:focus{top:10px}.member-shell{background:var(--paper);max-width:760px;min-height:100svh;margin:auto}.member-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:22px;display:flex}.member-main{padding:36px 24px 110px}.member-main h1{font-size:2.4rem}.impact-card{border-radius:var(--radius);background:var(--primary-dark);color:#fff;margin:28px 0 20px;padding:30px}.impact-card h2{margin:24px 0 16px;font-size:2.2rem}.impact-card p{color:#dbe5f0;max-width:490px;margin:0}.pill{letter-spacing:.1em;background:#ffffff19;border:1px solid #ffffff30;border-radius:30px;padding:8px 12px;font-size:.65rem}.upcoming{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:16px 0;font-weight:600;display:flex}.tag{background:var(--gold-soft);color:var(--ink);white-space:nowrap;border-radius:30px;padding:5px 10px;font-size:.7rem;font-weight:400}.member-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);width:100%;max-width:760px;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:#fffffff2;justify-content:space-around;display:flex;position:fixed;bottom:0}.member-nav a{padding:12px 30px;font-size:.85rem;font-weight:600;text-decoration:none}.details{margin:0}.details dt{color:var(--muted);margin-bottom:4px;font-size:.7rem}.details dd{overflow-wrap:anywhere;margin:0 0 24px}.admin-shell{grid-template-columns:250px 1fr;min-height:100svh;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;padding:34px 24px;display:flex}.sidebar-label{letter-spacing:.13em;color:var(--muted);margin:55px 0 16px;font-size:.6rem}.admin-sidebar nav a{border-radius:9px;justify-content:space-between;padding:12px;font-size:.86rem;text-decoration:none;display:flex}.selected{background:var(--blue-soft)}.sidebar-bottom{align-items:center;gap:10px;margin-top:auto;padding-top:35px;font-size:.7rem;display:flex}.sidebar-bottom p{color:var(--muted);margin:3px 0 0}.avatar{background:var(--gold-soft);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.admin-body{min-width:0}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 40px;font-size:.8rem;display:flex}.admin-main{max-width:1240px;margin:auto;padding:48px 40px}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-heading h1{font-size:2.7rem}.status-pill{color:var(--primary);background:var(--gold-soft);white-space:nowrap;border-radius:25px;padding:7px 12px;font-size:.7rem}.admin-banner{background:var(--primary-dark);color:#fff;border-radius:var(--radius);grid-template-columns:1.4fr 1fr;align-items:center;gap:36px;padding:34px 38px;display:grid}.admin-banner h2{font-size:2.4rem}.admin-banner p:not(.eyebrow){color:#dbe5f0;max-width:380px;margin-bottom:0;font-size:.88rem}.loop-card{background:#ffffff08;border:1px solid #ffffff2c;border-radius:12px;flex-direction:column;align-items:center;padding:23px;font-size:.85rem;display:flex}.loop-card b{color:var(--accent);padding:3px;font-weight:400}.loop-card strong{color:var(--accent);font-weight:500}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin:36px 0 18px;display:flex}.section-heading h2{margin:0;font-size:1.25rem}.admin-cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.admin-cards .card{padding:24px}.admin-cards p{font-size:.83rem}.step-number{color:var(--muted);margin-bottom:24px;font-size:.7rem;display:inline-block}.admin-cards h3{letter-spacing:-.025em;line-height:1.35}@media (min-width:1500px){.story-panel{padding-left:15%;padding-right:10%}.login-panel{padding-left:16%;padding-right:16%}}@media (max-width:1050px){.admin-shell{grid-template-columns:210px 1fr}.admin-sidebar{padding:28px 18px}.admin-sidebar .brand{font-size:1rem}.admin-main{padding:32px 24px}.admin-header{padding:18px 24px}.admin-cards{grid-template-columns:1fr}.admin-banner{gap:20px;padding:28px}.login-panel,.story-panel{padding-left:9%;padding-right:9%}}@media (max-width:700px){.login-layout{display:block}.story-panel{display:none}.mobile-brand{margin-bottom:58px;display:block}.login-panel{min-height:100svh;padding:28px 24px}.login-content{max-width:440px}.login-content h2{font-size:2rem}.login-footer{margin-top:36px}.admin-shell{display:block}.admin-sidebar{border-right:none;border-bottom:1px solid var(--line);padding:18px 22px}.admin-sidebar nav,.sidebar-bottom{display:none}.sidebar-label{margin:10px 0 0}.admin-header{padding:14px 22px}.admin-main{padding:28px 20px}.page-heading{display:block}.page-heading h1{font-size:2.25rem}.status-pill{display:inline-block}.admin-banner{grid-template-columns:1fr}.loop-card{display:none}.admin-banner h2{font-size:2rem}.member-header .brand{font-size:1rem}.member-header{padding:18px}.member-main{padding:30px 20px 110px}.card{padding:24px}.impact-card{padding:26px}.reset-card{margin:45px auto}.simple-page{padding:28px 20px}}.section-gap{margin-top:24px}.management-form{max-width:560px}.management-form fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.management-form label{gap:6px;font-size:.85rem;font-weight:600;display:grid}.management-form input,.management-form select{border:1px solid var(--line);width:100%;min-width:0;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.management-form .checkbox-label{align-items:center;gap:12px;display:flex}.management-form input[type=checkbox]{width:22px;height:22px;min-height:22px}.management-form .button{justify-self:start}.receipt-business-picker{gap:12px;display:grid}.receipt-business-picker select{margin-top:6px}.receipt-business-picker p{margin-bottom:0}.invite-result{gap:12px;display:grid}.record-list{margin:0;padding:0;list-style:none}.record-list>li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.record-list>li.record-block{display:block}.record-list details{margin-top:12px}summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}details[open]>summary{margin-bottom:16px}.pagination{flex-wrap:wrap;gap:24px;padding-top:20px;display:flex}.admin-sidebar nav{gap:8px;display:grid}@media (max-width:700px){.admin-sidebar nav{flex-wrap:wrap;margin-top:12px;display:flex}}.search-form{flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;display:flex}.search-form label{flex:180px;gap:6px;min-width:0;font-size:.85rem;display:grid}.search-form input,.search-form select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px}.agreement-row{border-bottom:1px solid var(--line);padding:24px 0}.contribution-label{color:var(--primary);font-weight:600}.admin-main h1,.member-main h1,.eyebrow{overflow-wrap:anywhere}.member-nav a,.admin-sidebar nav a{color:var(--ink)}.member-nav a:hover,.admin-sidebar nav a:hover{background:var(--blue-soft)}select:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:4px}input[type=checkbox]{accent-color:var(--primary)}.brand-logo{border-radius:10px;width:180px;max-width:100%;height:auto;display:block}.brand{flex-shrink:1;min-width:0}@media (max-width:700px){.brand-logo{width:156px}.mobile-brand{margin-bottom:28px}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.receipt-actions{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.receipt-preview{margin:20px 0}.receipt-preview img,.receipt-evidence{object-fit:contain;background:var(--paper);border-radius:8px;width:100%;max-height:650px;display:block}.receipt-preview figcaption{margin-top:10px}.member-nav a{padding-left:8px;padding-right:8px}@media (max-width:400px){.member-nav a{font-size:.75rem}}@media (min-width:701px){.mobile-install{display:none}}.table-scroll{overflow-x:auto}.review-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.review-table th,.review-table td{border-bottom:1px solid var(--line);overflow-wrap:anywhere;min-width:110px;padding:12px}.receipt-preview img{max-height:320px}.explainer-page{max-width:1080px;margin:auto;padding:0 28px}.login-help-link{width:fit-content;min-height:44px;margin-top:12px;padding:10px 0;font-weight:600;display:block}.explainer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.explainer-main{gap:52px;padding:48px 0;display:grid}.explainer-intro{max-width:760px}.explainer-intro>p{max-width:660px;font-size:1.05rem}.explainer-intro .eyebrow{font-size:.75rem}.explainer-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 0;padding:0;list-style:none;display:grid}.explainer-steps .card{margin:0}.explainer-steps p{margin-bottom:0}.explainer-number{background:var(--gold-soft);width:38px;height:38px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:20px;font-weight:700;display:grid}.explainer-example{background:var(--primary-dark);color:#fff;border-radius:var(--radius);grid-template-columns:1.2fr 1fr;align-items:center;gap:32px;padding:32px;display:grid}.explainer-example .eyebrow{color:var(--accent)}.explainer-example p{margin-bottom:0}.explainer-example .eyebrow{margin-bottom:18px}.explainer-example-note{border-left:2px solid var(--accent);padding-left:24px}.explainer-questions details{border-bottom:1px solid var(--line);padding:8px 0}.explainer-questions summary{font-size:1rem}.explainer-questions p{max-width:760px}.explainer-start{margin:0}.explainer-start .receipt-actions{margin-bottom:0}.explainer-footer{border-top:1px solid var(--line);color:var(--muted);padding:24px 0;font-size:.85rem}@media (max-width:600px){.explainer-page{padding:0 20px}.explainer-header{gap:12px}.explainer-header .brand-logo{width:130px}.explainer-header .button{padding:10px 12px;font-size:.8rem}.explainer-main{gap:36px;padding-top:32px}.explainer-intro h1{font-size:2.25rem}.explainer-steps,.explainer-example{grid-template-columns:1fr}.explainer-example{gap:24px;padding:24px}}
