:root{--bg:#faf8f5;--surface:#ffffff;--surface-2:#f3efe9;--text:#1f2421;--muted:#69716b;--border:#e4ded5;--accent:#1f7a5a;--accent-strong:#165c43;--accent-soft:#e2f1ea;--warn-bg:#fff4d6;--warn-text:#7a5a00;--danger:#b3261e;--radius:12px;--shadow:0 1px 2px rgb(0 0 0/0.04),0 4px 16px rgb(0 0 0/0.04)}@media (prefers-color-scheme:dark){:root{--bg:#141716;--surface:#1c201e;--surface-2:#252a27;--text:#e8ece9;--muted:#9aa39d;--border:#2f3532;--accent:#3fb68a;--accent-strong:#5fd0a4;--accent-soft:#1d3a2f;--warn-bg:#3a3112;--warn-text:#f0d78a;--danger:#ff8a80;--shadow:none}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.2;margin:0 0 .5em}h1{font-size:clamp(1.7rem,4vw,2.4rem)}h2{font-size:1.35rem}p{margin:0 0 1em}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}.main{flex:1 1;padding-top:32px;padding-bottom:64px}.demo-banner{background:var(--warn-bg);color:var(--warn-text);text-align:center;font-size:.875rem;padding:6px 16px}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}.brand{font-weight:700;font-size:1.1rem;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.nav-links a{color:var(--text)}.nav-links form{margin:0}.link-button{background:none;border:0;padding:0;font:inherit;color:var(--text);cursor:pointer}.link-button:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.875rem;padding:20px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:12px 22px;font:inherit;font-weight:600;cursor:pointer}.btn:hover{background:var(--accent-strong);text-decoration:none}.btn:disabled{opacity:.6;cursor:wait}.btn,.nav-links .btn{color:#fff}.btn-small{padding:6px 14px;font-size:.9rem}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-2)}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.hero{display:grid;grid-gap:24px;gap:24px;margin-bottom:40px}.hero p{color:var(--muted);font-size:1.1rem;max-width:640px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-value{font-size:1.6rem;font-weight:700}.stat-label{color:var(--muted);font-size:.875rem}.grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.campaign-card{display:flex;flex-direction:column;gap:10px;color:var(--text)}.campaign-card:hover{text-decoration:none;border-color:var(--accent)}.campaign-card p{color:var(--muted);margin:0;flex:1 1}.progress{height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:999px}.progress-meta{display:flex;justify-content:space-between;font-size:.9rem;color:var(--muted)}.progress-meta strong{color:var(--text)}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.badge-active,.badge-paid{background:var(--accent-soft);color:var(--accent-strong)}.badge-pending{background:var(--warn-bg);color:var(--warn-text)}.campaign-layout{display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(0,1fr) 360px;align-items:start}@media (max-width:860px){.campaign-layout{grid-template-columns:1fr}}.sticky{position:-webkit-sticky;position:sticky;top:20px}.lead{color:var(--muted);font-size:1.1rem}.section{margin-top:36px}.timeline{list-style:none;padding:0;margin:0;display:grid;grid-gap:14px;gap:14px}.timeline li{border-left:3px solid var(--accent);padding:4px 0 4px 14px}.timeline .meta{color:var(--muted);font-size:.85rem}.supporters{list-style:none;margin:0;padding:0}.supporters li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.supporters li:last-child{border-bottom:0}.supporters .msg{color:var(--muted);font-size:.9rem;font-style:italic}form.stack{display:grid;grid-gap:14px;gap:14px}label{display:grid;grid-gap:6px;gap:6px;font-weight:600;font-size:.9rem}.check{display:flex;align-items:center;gap:8px;font-weight:500}input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}textarea{min-height:80px;resize:vertical}.amounts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.amounts input{position:absolute;opacity:0;pointer-events:none}.amounts label{display:block;text-align:center;font-weight:600;padding:10px 4px;cursor:pointer;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.amounts input:checked+span{color:var(--accent-strong)}.amounts label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.amounts label:has(input:focus-visible){outline:2px solid var(--accent)}.step{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:999px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:700}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{flex:1 1;font:inherit;font-size:.9rem;font-weight:600;padding:8px 10px;cursor:pointer;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.pay-box{display:grid;grid-gap:10px;gap:10px;margin-top:10px;padding:14px;border:1px dashed var(--border);border-radius:10px;background:var(--surface-2)}.pay-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.925rem}.qr{width:100%;max-width:240px;justify-self:center;border-radius:8px;background:#fff;padding:6px}.upload{display:grid;place-items:center;min-height:110px;padding:12px;cursor:pointer;text-align:center;border:2px dashed var(--border);border-radius:10px;background:var(--surface-2);font-weight:500;color:var(--muted)}.upload:hover{border-color:var(--accent)}.upload input{position:absolute;opacity:0;width:1px;height:1px}.upload img{max-height:260px;max-width:100%;border-radius:6px}.shot-thumb{display:inline-block;width:44px;height:60px;object-fit:cover;border-radius:4px;border:1px solid var(--border);vertical-align:middle}.timeline li.transfer{border-left-color:var(--warn-text)}.alert{padding:10px 14px;border-radius:8px;font-size:.9rem}.alert-error{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.alert-ok{background:var(--accent-soft);color:var(--accent-strong)}.alert-warn{background:var(--warn-bg);color:var(--warn-text)}.auth{max-width:420px;margin:0 auto}.phone-input{display:flex;gap:8px}.phone-input select{flex:0 0 auto;width:128px}.phone-input input{flex:1 1;min-width:0}.divider{display:flex;align-items:center;gap:10px;margin:20px 0 12px;color:var(--muted);font-size:.875rem}.divider:after,.divider:before{content:"";flex:1 1;border-top:1px solid var(--border)}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:.925rem}td,th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2)}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right}.fieldset{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:0}.fieldset legend{font-weight:600;font-size:.9rem;padding:0 6px}.facts{display:grid;grid-template-columns:auto 1fr;grid-gap:8px 16px;gap:8px 16px;margin:0;font-size:.925rem}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right}.admin-nav .tab{flex:0 1 auto;text-decoration:none}.filters{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.admin-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.receipt{max-width:560px;margin:0 auto}.receipt-sheet{display:flex;flex-direction:column;gap:18px;padding:0;overflow:hidden;min-height:640px}.receipt-head{background:var(--accent);color:#fff;padding:20px 26px}.receipt-brand{display:flex;gap:14px;align-items:center}.receipt-logo{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgb(255 255 255/.18);font-size:1.5rem}.receipt-org-name{font-size:1.15rem;font-weight:800;letter-spacing:.03em}.receipt-org{font-size:.78rem;line-height:1.5;opacity:.9}.receipt-titlebar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:0 26px;flex-wrap:wrap}.receipt-titlebar h1{margin:0;font-size:1.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}.receipt-meta{text-align:right;font-size:.85rem;line-height:1.6}.receipt-meta span{color:var(--muted);margin-right:4px}.receipt-amount-box{margin:0 26px;padding:18px 20px;border-radius:12px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);display:flex;justify-content:space-between;align-items:center;gap:12px}.receipt-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.receipt-amount{font-size:2.1rem;font-weight:800;color:var(--accent-strong);line-height:1.15}.receipt-words{font-size:.85rem;font-style:italic;margin-top:2px}.receipt-stamp{flex:none;transform:rotate(-12deg);border:3px solid var(--accent);color:var(--accent);border-radius:8px;padding:4px 14px;font-weight:900;font-size:1.3rem;letter-spacing:.15em;text-transform:uppercase}.receipt-table{margin:0 26px;width:auto;border-collapse:collapse;font-size:.95rem}.receipt-table td,.receipt-table th{white-space:normal;padding:12px 0;border-bottom:1px dashed var(--border);vertical-align:top;text-align:left}.receipt-table th{width:130px;background:none;text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:500;color:var(--muted)}.receipt-table tr:last-child td,.receipt-table tr:last-child th{border-bottom:0}.receipt-sub{font-weight:400;font-size:.85rem;color:var(--muted);margin-top:2px}.receipt-foot{margin-top:auto;padding:16px 26px 20px;border-top:1px solid var(--border);text-align:center}.receipt-thanks{margin:0 0 4px;font-weight:600;color:var(--accent-strong)}.receipt-note{margin:0;font-size:.75rem;color:var(--muted)}@media (max-width:520px){.receipt-sheet{min-height:0}.receipt-titlebar{flex-direction:column;align-items:flex-start}.receipt-meta{text-align:left}.receipt-amount{font-size:1.7rem}.receipt-table th{width:100px}}@media print{@page{size:A5 portrait;margin:8mm}.demo-banner,.no-print,.site-footer,.site-header{display:none!important}body,html{background:#fff!important;color:#000!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.main{padding:0!important}.card{box-shadow:none}.receipt{max-width:none}.receipt-sheet{height:192mm;min-height:0;border:1px solid #ccc}}