@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--green:#174c43;--green2:#236b5b;--gold:#c69b53;--ink:#182b28;--muted:#71817c;--paper:#f5f7f3;--line:#e1e8e2;--white:#fff;--radius:20px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.5}.hero{padding:34px max(20px,calc((100% - 850px)/2));background:linear-gradient(130deg,#123e37,#246b5b);color:#fff;display:flex;gap:18px;align-items:center}.brand-mark{height:60px;width:60px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:18px;color:#f3d9a3;font-size:32px}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.13em;margin:0 0 5px;color:var(--gold)}h1,h2{margin:0}h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.8rem,4vw,2.5rem)}.sub{margin:4px 0 0;color:#d5e5df}.container{max-width:850px;padding:24px 18px 50px;margin:auto}.notice{display:flex;gap:12px;align-items:flex-start;background:#fff9eb;border:1px solid #f0dfb7;padding:14px 16px;border-radius:14px;margin-bottom:18px;color:#6e562a}.notice p{margin:0;font-size:.9rem}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,4vw,28px);margin:16px 0;box-shadow:0 8px 28px #183b2c08}.section-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.step{background:#eaf3ee;color:var(--green);font-weight:700;border-radius:12px;min-width:42px;height:42px;display:grid;place-items:center}.section-head h2{font-size:1.15rem}.section-head p{margin:3px 0 0;color:var(--muted);font-size:.88rem}label{display:block;font-size:.85rem;font-weight:600;margin:0 0 7px}input,select{width:100%;min-height:47px;border:1px solid #d5dfd8;background:#fff;border-radius:11px;padding:11px 12px;font:inherit;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green2);box-shadow:0 0 0 3px #236b5b18}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.wide{grid-column:1/-1}.entry{border:1px solid var(--line);border-radius:15px;padding:17px;margin-bottom:14px;background:#fcfdfb}.entry-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.entry-number{font-size:.72rem;letter-spacing:.08em;color:var(--green2);font-weight:700}.remove{border:0;background:transparent;color:#9a4848;font:inherit;font-size:.82rem;cursor:pointer}.entry-total{border-top:1px dashed var(--line);margin-top:15px;padding-top:12px;display:flex;justify-content:space-between;font-size:.9rem}.entry-total strong{color:var(--green);font-size:1.05rem}.btn{border:0;border-radius:12px;min-height:48px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;transition:transform .15s,opacity .15s}.btn:active{transform:scale(.985)}.btn-primary{background:var(--green);color:white}.btn-secondary{background:#edf4ef;color:var(--green);border:1px solid #d9e7dd}.total-card{position:sticky;bottom:12px;z-index:2;background:#fff;border:1px solid var(--line);box-shadow:0 10px 35px #173a2d20;border-radius:18px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.amount{font-size:2rem;line-height:1.15;font-weight:700;color:var(--green)}.muted{color:var(--muted);font-size:.88rem;margin:5px 0 0}.small{font-size:.8rem}.check{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-weight:500}.check input{width:18px;min-height:18px;margin-top:3px;accent-color:var(--green)}.hidden{display:none!important}.actions{display:flex;gap:10px;margin-top:20px}.actions .btn{flex:1}.summary-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:10px 0;font-size:.9rem}.summary-row:last-child{border-bottom:0}.success-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e2f5e8;color:#197345;font-size:28px;margin-bottom:15px}footer{text-align:center;color:var(--muted);font-size:.78rem;padding:12px 18px}.receipt-head{padding:16px;background:#edf5ef;border-radius:12px;margin-bottom:12px}@media(max-width:560px){.hero{padding:25px 18px}.brand-mark{height:48px;width:48px;flex-shrink:0}.field-grid{grid-template-columns:1fr}.wide{grid-column:auto}.total-card{align-items:stretch;flex-direction:column}.total-card .btn{width:100%}.actions{flex-direction:column}}@media print{body{background:white}.hero{padding:18px;color:#111;background:white;border-bottom:2px solid #174c43}.brand-mark,#offeringForm,#reviewPanel,footer,.notice,.receiptPanel .btn{display:none!important}.container{padding:0;max-width:none}.panel{box-shadow:none;border:0}.hidden{display:none!important}#receiptPanel{display:block!important}}
