:root{--bg:#f8f8f3;--white:#fff;--ink:#19362c;--ink2:#27463c;--muted:#78847a;--line:#e6eae0;--lime:#cdf094;--lime2:#eaf7d9;--peach:#ffc6ae;--soft:#f1f4eb;--shadow:0 8px 30px rgba(24,54,40,.035);font-family:Inter,'Plus Jakarta Sans',ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #b9e779;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}.hidden{display:none!important}.site-shell{max-width:1240px;margin:auto;padding:0 48px}.topbar{height:97px;display:flex;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:25px;font-weight:860;letter-spacing:-1.5px;white-space:nowrap}.brand-mark{height:36px;width:36px;background:var(--ink);border-radius:12px;color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:27px;font-weight:900;letter-spacing:-3px;transform:rotate(-8deg);padding-right:4px}.brand-mark span{font-size:17px;align-self:flex-start;margin:1px 0 0 0;color:var(--peach)}.brand-period{color:#9ecb65}.main-nav{display:flex;gap:34px;margin:0 auto;font-size:12px;font-weight:730;color:#738176}.main-nav a:hover,.main-nav .active{color:var(--ink)}.nav-cta{border:1px solid #d7dfd2;border-radius:30px;padding:12px 17px;font-size:12px;font-weight:800;transition:background .2s}.nav-cta:hover{background:var(--lime)}
.hero{border-radius:29px;background:var(--ink);color:white;min-height:388px;display:grid;grid-template-columns:58% 42%;overflow:hidden;position:relative}.hero-content{padding:54px 0 46px 61px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid #526b59;color:#c9dfc7;border-radius:50px;padding:9px 14px;letter-spacing:1.45px;font-size:10px;font-weight:790}.live-dot{width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 4px #caed9030}.hero h1{font-size:clamp(36px,4.35vw,58px);line-height:1.13;letter-spacing:-2.8px;font-weight:860;margin:24px 0 16px}.underline-scribble{color:var(--lime);position:relative;white-space:nowrap}.underline-scribble:after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:7px;border-radius:100%;border-top:3px solid var(--peach);transform:rotate(-3deg)}.hero p{font-size:13px;line-height:1.8;color:#c0cfbf;max-width:400px}.hero-button{background:var(--lime);display:inline-flex;gap:22px;align-items:center;margin-top:24px;border-radius:35px;padding:15px 20px;font-size:12px;font-weight:850;color:var(--ink);transition:transform .2s}.hero-button:hover{transform:translateY(-2px)}.hero-button span{font-size:19px}.hero-art{position:relative;min-height:388px;overflow:hidden}.art-glow{width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,#c9eb8759 0%,#9fc4711b 43%,transparent 73%);position:absolute;left:4%;top:0}.art-ring{position:absolute;width:330px;height:330px;border:1px solid #a8cf9a45;border-radius:50%;left:15%;top:21px;transform:rotate(15deg)}.art-ring-two{width:250px;height:250px;left:24%;top:63px;border-style:dashed;border-color:#b6dba555}.art-token{width:184px;height:184px;border-radius:47px;background:linear-gradient(142deg,#e7ffb8 2%,#b6e26e 100%);position:absolute;left:31%;top:98px;transform:rotate(-18deg);display:flex;align-items:center;justify-content:center;font-size:138px;font-family:Georgia,serif;color:var(--ink);box-shadow:19px 26px 0 #6fa27669,25px 30px 44px #061e14a0}.art-token::after{content:'✦';position:absolute;font-size:31px;right:16px;top:13px;color:#ffffff}.art-note{position:absolute;background:#fff9eb;color:var(--ink);padding:14px 16px;border-radius:13px;box-shadow:0 18px 30px #081c1655;font-size:13px;line-height:1.45;font-weight:800;letter-spacing:-.3px;transform:rotate(-9deg)}.note-top{right:5%;top:41px}.note-top span{color:#ea9772;font-size:19px;float:right;padding-left:7px}.note-bottom{left:5%;bottom:33px;transform:rotate(8deg);font-size:12px}.note-bottom b{font-size:14px}.art-sparkle{position:absolute;color:var(--peach);font-size:45px;right:10%;bottom:24px}
.label-divider{display:flex;justify-content:space-between;align-items:center;margin:38px 0 21px;font-size:10px;font-weight:850;letter-spacing:1.7px;text-transform:uppercase}.label-divider>span:last-child{color:#b3bdb0}.tiny-star{color:#78b359;font-size:20px;vertical-align:middle;margin-right:7px}.content-grid{display:grid;grid-template-columns:39% minmax(0,1fr);align-items:start;gap:23px;scroll-margin-top:16px}.left-column{display:flex;flex-direction:column;gap:20px}.surface{background:#fff;border:1px solid #e8ebe2;border-radius:20px;box-shadow:var(--shadow)}.creator-card{padding:29px 29px 25px}.profile-head{display:flex;gap:18px;align-items:center}.avatar{height:82px;width:82px;display:flex;align-items:center;justify-content:center;background:#cee7b0;border:5px solid #edf4e6;border-radius:26px;position:relative;font-size:42px;font-weight:850;transform:rotate(-5deg)}.avatar #avatarLetter{transform:rotate(5deg)}.avatar-heart{font-size:13px;position:absolute;right:-8px;bottom:-4px;background:var(--peach);width:30px;height:30px;border:3px solid white;border-radius:50%;display:grid;place-items:center;color:var(--ink)}.profile-overline{color:#93a490;letter-spacing:1px;font-size:9px;font-weight:850;margin-bottom:6px}.profile-head h2{font-size:25px;line-height:1.15;letter-spacing:-1px;font-weight:830}.handle{font-size:12px;color:#7e9886;font-weight:690;margin-top:6px}.bio{font-size:13px;line-height:1.8;color:#718074;margin:22px 0 19px}.creator-meta{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px;font-weight:720}.badge-soft{background:#eef6e8;color:#4f8054;border-radius:50px;padding:8px 10px;white-space:nowrap}.goal-card{padding:27px 28px 26px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.micro-label{font-size:10px;color:#83a085;letter-spacing:1.5px;font-weight:850;margin-bottom:10px}.goal-card h3{font-size:20px;letter-spacing:-.8px}.goal-card h3 span{color:#99c66c}.goal-icon{border-radius:14px;width:36px;height:36px;background:#f2f7e8;display:grid;place-items:center;font-size:21px}.goal-description{font-size:13px;color:#829082;margin:21px 0 10px}.goal-numbers{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.goal-numbers strong{font-size:27px;letter-spacing:-1.5px}.goal-numbers>span{font-size:12px;color:#8fa092;font-weight:680}.progress-track{height:11px;background:#edf1e7;border-radius:20px;overflow:hidden;margin:17px 0 10px}.progress-fill{width:0;height:100%;background:#b5e177;border-radius:20px;transition:width .5s}.progress-caption{display:flex;justify-content:space-between;font-size:11px;color:#8b988a;font-weight:630}.progress-caption strong{color:var(--ink)}.no-fee{background:#eaf3dc;border:1px solid #dfebd1;padding:23px;border-radius:19px;display:flex;gap:14px}.shield-icon{flex:0 0 29px;background:#b8df8c;height:29px;display:grid;place-items:center;border-radius:50%;font-weight:900}.no-fee strong{font-size:13px}.no-fee p{font-size:11px;color:#638066;line-height:1.8;margin-top:6px}
.donate-card{padding:32px 37px 25px}.donate-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:24px}.donate-top h2{font-size:30px;letter-spacing:-1.2px;font-weight:850}.donate-top h2 span{color:#ed9e83;font-family:Georgia,serif}.donate-top p{font-size:12px;color:#88968b;margin-top:8px}.donate-sticker{font-size:32px;color:#a5cb6f;transform:rotate(-12deg)}.field-label{display:block;font-weight:780;font-size:12px;margin:0 0 10px}.required{color:#df8b76}.optional{color:#97a398;font-weight:520;font-size:11px}.donate-card input:not([type=radio]),.donate-card textarea,.admin-page input,.admin-page textarea{width:100%;border:1px solid #e1e6de;border-radius:10px;background:#fafcf8;padding:14px 15px;outline:0;color:var(--ink);font-size:13px;transition:border .2s,background .2s}.donate-card input:focus,.donate-card textarea:focus,.admin-page input:focus,.admin-page textarea:focus{border-color:#94be68;background:#fff}.donate-card input::placeholder,.donate-card textarea::placeholder,.admin-page input::placeholder{color:#abb6a9}.donate-card textarea{resize:vertical;min-height:96px;line-height:1.6}.field-header{display:flex;align-items:baseline;justify-content:space-between;margin:25px 0 10px}.field-header .field-label{margin:0}.field-header small{color:#9eab9e;font-size:11px}.amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.amount-chip{background:#fff;border:1px solid #dfe6da;border-radius:9px;padding:12px 6px;font-size:12px;font-weight:790;color:#536a58;transition:.2s}.amount-chip.selected,.amount-chip:hover{background:#dff2c5;border-color:#a8d17c;color:var(--ink)}.money-input{position:relative;margin:10px 0 22px}.money-input span{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-weight:820;font-size:13px}.money-input input{padding-left:43px!important;font-weight:740!important}.letter-counter{display:flex;justify-content:space-between;gap:8px;color:#9baa9c;font-size:10px;margin:8px 0 24px}.payment-heading{margin:0 0 12px}.method-options{display:grid;gap:9px}.method-option{border:1px solid #e5ebe0;border-radius:11px;display:flex;align-items:center;gap:13px;padding:13px;cursor:pointer;transition:background .2s;position:relative}.method-option.selected{border-color:#98c675;background:#f5fbef}.method-option.disabled{opacity:.43;cursor:not-allowed}.method-option>input{position:absolute;opacity:0;pointer-events:none}.method-symbol{height:37px;width:37px;flex:0 0 37px;background:#e7f4d3;display:grid;place-items:center;border-radius:9px;font-size:23px}.qr-symbol{background:#f5ebdd;font-size:26px}.method-details{display:flex;flex-direction:column;gap:4px;flex:1}.method-details strong{font-size:12px}.method-details small{font-size:10px;color:#8e9c8f}.method-radio{width:18px;height:18px;border:1.7px solid #b7c5b3;border-radius:50%;position:relative}.method-option.selected .method-radio{border-color:#739d52}.method-option.selected .method-radio:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#739d52}.amount-summary{display:flex;align-items:center;justify-content:space-between;margin:21px 0 14px;padding:0 2px;color:#829080;font-size:12px}.amount-summary strong{font-size:21px;letter-spacing:-.8px;color:var(--ink)}.submit-donation{width:100%;background:var(--ink);color:white;border:0;border-radius:10px;display:flex;justify-content:center;align-items:center;gap:20px;padding:17px 18px;font-weight:840;font-size:13px;transition:background .2s}.submit-donation:hover{background:#315c41}.submit-donation span{font-size:17px}.secure-note{text-align:center;font-size:10px;color:#a0aca0;margin-top:15px}
.supporters-section{margin-top:86px;scroll-margin-top:35px}.supporters-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.supporters-top h2{font-size:36px;letter-spacing:-1.7px}.supporters-top h2 span{color:#eea38e}.supporters-top p:last-child{font-size:13px;color:#8b9c8e;margin-top:11px}.counter-pill{border:1px solid #e1e9db;border-radius:25px;padding:11px 14px;font-size:11px;font-weight:800;background:#fff;white-space:nowrap}.supporters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.supporter-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:175px;padding:19px;display:flex;flex-direction:column}.supporter-head{display:flex;align-items:center;gap:11px}.supporter-avatar{width:36px;height:36px;background:#eff4e5;border-radius:13px;display:grid;place-items:center;font-size:15px;font-weight:850}.supporter-card h3{font-size:13px}.supporter-card time{display:block;color:#abb5aa;font-size:10px;margin-top:5px}.supporter-amount{margin-left:auto;color:#4d8352;background:#eaf8df;padding:7px 8px;border-radius:15px;font-size:10px;font-weight:800;white-space:nowrap}.supporter-message{font-size:12px;color:#66796c;line-height:1.7;margin-top:18px;overflow-wrap:anywhere;white-space:pre-wrap}.empty-supporters{border:1px dashed #d3e0c7;border-radius:17px;grid-column:1/-1;text-align:center;padding:45px 20px;background:#f3f7ef}.empty-supporters span{font-size:35px;color:#99c47b}.empty-supporters h3{font-size:20px;letter-spacing:-.5px;margin:10px 0 7px}.empty-supporters p{font-size:12px;color:#879986}.how-section{display:grid;grid-template-columns:33% auto;gap:28px;margin:86px 0 78px;background:#ecf3e6;border:1px solid #e6eedf;border-radius:22px;padding:36px 37px}.how-intro h2{font-size:27px;line-height:1.23;letter-spacing:-1px}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.step-number{font-size:24px;font-weight:850;color:#93ba77}.how-steps h3{font-size:13px;margin:14px 0 7px}.how-steps p{font-size:11px;color:#849783;line-height:1.75}footer{display:flex;align-items:center;gap:28px;flex-wrap:wrap;border-top:1px solid #e3e9df;padding:34px 0 21px}footer p{font-size:11px;color:#94a193;margin-right:auto}footer>div:not(.footer-bottom){display:flex;gap:26px;color:#788a7b;font-size:11px;font-weight:750}.footer-bottom{flex-basis:100%;font-size:10px;color:#a8b6a7;margin-top:5px}
.modal-wrap{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:15px}.modal-backdrop{position:absolute;inset:0;background:#10291fb3;backdrop-filter:blur(4px)}.dialog{position:relative;z-index:1;width:min(440px,100%);max-height:90vh;overflow:auto;padding:29px 29px 26px;box-shadow:0 22px 65px #162f2550;text-align:center}.modal-close{border:none;background:#f0f4ea;position:absolute;top:16px;right:16px;border-radius:50%;height:33px;width:33px;font-size:21px}.modal-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#e8f6d8;color:#547e3a;font-size:32px;margin:0 auto 13px}.dialog h2{font-size:25px;letter-spacing:-1px;margin-bottom:9px}.dialog p{font-size:13px;color:#7b8b7d;line-height:1.7}.bank-box{margin:19px 0;padding:20px;background:#f1f7e9;border-radius:13px;text-align:left}.bank-box small{display:block;color:#789478;font-size:11px;margin-bottom:6px}.bank-box strong{display:block;font-size:22px;letter-spacing:-.5px}.bank-box .bank-holder{font-size:12px;font-weight:700;margin:6px 0 12px}.copy-mini{background:#d9eec7;border:0;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:850;color:var(--ink)}.copy-mini:hover{background:#c3e6aa}.transfer-total{display:flex;justify-content:space-between;font-size:13px;margin:18px 0}.transfer-total strong{font-size:17px}.instruction-list{text-align:left;color:#788a7a;font-size:12px;line-height:1.9;margin:14px 0;padding-left:22px}.status-tag{display:inline-flex;background:#eff7df;border-radius:40px;color:#4d8451;font-weight:800;font-size:12px;padding:10px 14px;margin:13px 0}.check-again{margin-top:18px}.toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,30px);background:#18382c;color:#fff;border-radius:11px;padding:13px 18px;font-size:12px;opacity:0;pointer-events:none;transition:.24s;z-index:200;box-shadow:0 12px 35px #0d2c1e40}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Admin */
.admin-header-label{margin-right:auto;font-size:12px;color:#93a28e;font-weight:700}.admin-main{min-height:70vh;padding:35px 0 100px}.login-shell{max-width:440px;margin:50px auto;padding:36px}.login-symbol{width:60px;height:60px;display:grid;place-items:center;background:var(--lime);border-radius:17px;font-size:33px;margin-bottom:25px}.login-shell h1{font-size:34px;letter-spacing:-1.4px}.login-shell>p{font-size:13px;color:#7e9182;line-height:1.7;margin:10px 0 30px}.login-shell input{margin-bottom:16px}.form-error{color:#a83f31;font-size:12px;margin-top:10px}.dashboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.dashboard-head h1{font-size:39px;letter-spacing:-1.5px}.dashboard-head h1 span{color:#91ba60}.dashboard-head p{color:#7b9080;font-size:13px;margin-top:6px}.secondary-button{border:1px solid #d9e4d3;background:#fff;border-radius:9px;padding:11px 15px;font-size:12px;font-weight:850;color:var(--ink)}.secondary-button:hover{background:#f0f8e8}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.stat-card{border-radius:17px;background:#fff;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;gap:14px}.stat-card:nth-child(1){background:#d9efbf;border-color:#c9e2ac}.stat-card>span{font-size:10px;letter-spacing:1px;font-weight:850;color:#6c876c}.stat-card strong{font-size:32px;letter-spacing:-1.4px}.stat-card small{font-size:11px;color:#859584}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-panel{padding:29px}.admin-panel h2,.transactions-section h2{font-size:22px;letter-spacing:-.7px}.admin-panel form{margin-top:28px}.admin-panel form .field-label{margin-top:15px}.admin-panel form .submit-donation{margin-top:20px}.admin-panel>p{font-size:13px;line-height:1.8;color:#7f9183;margin:20px 0 16px}.overlay-url{display:flex;background:#f1f6e9;border-radius:10px;padding:12px;align-items:center;gap:12px}.overlay-url code{font-size:11px;flex:1;word-break:break-all}.preview-overlay{margin:25px 0;border-radius:14px;padding:25px;background:#1c382b;color:#fff;display:flex;gap:17px;align-items:center}.preview-overlay>span{height:55px;width:55px;background:var(--lime);color:#1c382b;border-radius:18px;display:grid;place-items:center;font-size:29px}.preview-overlay strong{font-size:14px}.preview-overlay small{font-size:11px;display:block;color:#bcceb8;margin-top:7px}.admin-note{border-radius:10px;background:#fff7e8;padding:17px;font-size:12px;color:#8e7951;line-height:1.7}.transactions-section{padding:27px;margin-top:18px}.table-scroll{overflow:auto;margin-top:22px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;min-width:790px}thead th{font-size:10px;color:#93a28e;letter-spacing:.6px;padding:14px 11px;border-bottom:1px solid #e1e8de}tbody td{padding:14px 11px;border-bottom:1px solid #edf1e8;color:#59705c}tbody td:first-child{color:var(--ink);font-weight:780}tbody td small{display:block;font-weight:450;color:#99a99b;margin-top:4px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tbody tr:last-child td{border-bottom:0}.payment-status{font-size:10px;font-weight:790;padding:6px 8px;border-radius:12px;white-space:nowrap}.payment-status.paid{background:#e2f2dc;color:#477b46}.payment-status.pending{background:#fff5dc;color:#9f7938}.payment-status.failed{background:#fbe9e3;color:#9d5347}.confirm-btn{border:0;background:#cbeaab;padding:9px 11px;border-radius:8px;font-size:11px;font-weight:850;color:#21472b}.confirm-btn:hover{background:#bbde93}
/* Overlay - OBS transparent */
body.overlay-page{background:transparent!important;color:white;overflow:hidden}.overlay-alert{position:fixed;width:min(530px,90vw);left:50%;top:36px;transform:translate(-50%,-160%);opacity:0;background:linear-gradient(105deg,#1a3428,#2e5840);padding:24px 30px;border:2px solid #ccefa3;border-radius:22px;display:flex;align-items:center;gap:22px;box-shadow:0 14px 30px #1735274d;transition:transform .5s cubic-bezier(.22,1.55,.4,1),opacity .25s}.overlay-alert.visible{transform:translate(-50%,0);opacity:1}.overlay-alert-icon{flex:0 0 72px;height:72px;background:#ccefa3;color:#21422c;border-radius:19px;font-size:45px;display:grid;place-items:center}.overlay-small{color:#cbe5a9;font-size:11px;font-weight:850;letter-spacing:2px;margin-bottom:6px}.overlay-donor{font-size:27px;font-weight:850;letter-spacing:-.7px}.overlay-amount{color:#ccefa3;font-weight:900;font-size:23px;margin:3px 0}.overlay-message{font-size:13px;color:#e6f1db;line-height:1.45;margin-top:6px;overflow-wrap:anywhere}.overlay-info{position:fixed;bottom:12px;left:15px;background:#123025d9;padding:12px 16px;border-radius:8px;font-size:11px;color:#d9ebd1}.overlay-info.off{display:none}
@media(max-width:900px){.site-shell{padding:0 22px}.main-nav{gap:17px}.hero{grid-template-columns:1fr 37%}.hero-content{padding:44px 0 40px 33px}.hero h1{letter-spacing:-2px}.art-token{width:140px;height:140px;font-size:100px;left:15%;top:130px}.art-ring{left:0}.note-top{right:1%}.note-bottom{left:0}.content-grid{grid-template-columns:40% 1fr;gap:16px}.creator-card,.goal-card{padding:22px}.donate-card{padding:25px}.amounts{grid-template-columns:repeat(2,1fr)}.supporters-grid{grid-template-columns:repeat(2,1fr)}.creator-meta{flex-wrap:wrap}.profile-head{gap:10px}.avatar{width:64px;height:64px;min-width:64px}.profile-head h2{font-size:20px}.how-section{grid-template-columns:1fr}.how-intro h2 br{display:none}}
@media(max-width:650px){.site-shell{padding:0 15px}.topbar{height:77px;gap:8px}.brand{font-size:23px}.brand-mark{height:32px;width:32px;font-size:25px}.main-nav{display:none}.nav-cta{margin-left:auto;padding:10px 12px;font-size:10px}.hero{display:block;min-height:0}.hero-content{padding:37px 23px 40px}.hero h1{font-size:36px;letter-spacing:-1.6px}.hero p{font-size:12px;max-width:330px}.hero-art{display:none}.label-divider{margin:30px 2px 16px}.label-divider>span:last-child{font-size:8px;letter-spacing:0}.content-grid{grid-template-columns:1fr;gap:17px}.creator-card,.goal-card{padding:22px}.donate-card{padding:27px 20px}.donate-top h2{font-size:27px}.amounts{grid-template-columns:repeat(4,1fr);gap:5px}.amount-chip{font-size:10px;padding:12px 2px}.supporters-section{margin-top:59px}.supporters-top{align-items:flex-start;flex-direction:column}.supporters-top h2{font-size:29px}.supporters-grid{grid-template-columns:1fr}.how-section{margin:58px 0 50px;padding:24px}.how-steps{grid-template-columns:1fr;gap:17px}.how-steps>div{display:grid;grid-template-columns:44px 1fr;column-gap:10px}.how-steps p{grid-column:2}.how-steps h3{margin:8px 0 4px}footer{gap:16px}.footer-brand{font-size:23px}footer p{margin-right:0}.admin-header-label{display:none}.admin-main{padding-top:14px}.dashboard-head h1{font-size:32px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:20px;gap:10px}.admin-columns{grid-template-columns:1fr}.admin-panel{padding:22px}.login-shell{margin:20px auto}.transactions-section{padding:20px}.overlay-alert{top:15px;padding:16px;gap:12px}.overlay-alert-icon{height:49px;flex-basis:49px;font-size:31px}.overlay-donor{font-size:20px}.overlay-amount{font-size:19px}}

.qris-direct{border:1px solid #deead6;border-radius:14px;padding:18px;background:#fafff7;margin:16px 0}.qris-direct img{width:190px;max-width:90%;aspect-ratio:1;object-fit:contain;background:#fff;border:6px solid #fff;border-radius:9px;box-shadow:0 3px 16px #203a2111}.qris-direct p{font-size:11px!important;max-width:250px;margin:10px auto 0}

/* QRIS DANA Bisnis: one code, multiple donor apps */
.payment-heading-row{display:flex;align-items:center;justify-content:space-between;margin-top:25px;gap:12px}
.payment-heading-row .field-label{margin:0}
.one-qris-chip{font-weight:850;font-size:10px;letter-spacing:.6px;background:#e8f6d8;color:#32673a;border-radius:20px;padding:7px 10px;white-space:nowrap}
.method-intro{font-size:12px;color:#7d9182;line-height:1.65;margin:10px 0 14px}
.method-intro strong{color:#3b684c}
.qris-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.qris-app{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;min-height:104px;padding:14px 8px 11px;border:1.5px solid #e4eade;border-radius:14px;background:#fff;cursor:pointer;transition:background .16s,border-color .16s,transform .16s;text-align:center}
.qris-app:hover{border-color:#91ba7c;background:#f9fcf4;transform:translateY(-1px)}
.qris-app.selected{border-color:#4c895c;background:#f0f9e8;box-shadow:inset 0 0 0 1px #4c895c}
.qris-app:has(input:focus-visible){outline:3px solid #b9e779;outline-offset:3px}
.qris-app:has(input:disabled){opacity:.4;cursor:not-allowed;pointer-events:none}
.qris-app input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.app-logo{display:grid;place-items:center;height:36px;width:36px;border-radius:12px;font-size:18px;font-weight:900;color:#fff}
.logo-dana{background:#208cf4}.logo-gopay{background:#00a9a1}.logo-shopee{background:#ed664e}.logo-ovo{background:#7653a0}.logo-bank{background:#244b3a}.logo-other{background:#a9d879;color:#274b2e}
.app-name{font-size:11px;font-weight:820;white-space:normal}
.app-check{display:none;position:absolute;top:8px;right:8px;font-size:9px;background:#3c7650;color:white;width:17px;height:17px;line-height:17px;border-radius:50%}
.qris-app.selected .app-check{display:block}
.payment-info{background:#f1f6eb;border-radius:11px;color:#78927a;font-size:11px;padding:12px 14px;line-height:1.65;margin-top:14px}
.scan-qris-box{border:1px solid #dceadd;border-radius:16px;background:linear-gradient(180deg,#f4fbed,#fff);padding:18px 14px;margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:10px}
.scan-qris-heading{letter-spacing:1.6px;font-size:10px;font-weight:900;color:#4a8354}
.scan-qris-image{width:245px;height:245px;max-width:95%;object-fit:contain;display:block;background:white;border:10px solid white;box-shadow:0 4px 18px #314f3b12;border-radius:10px}
.scan-qris-caption{font-size:10px!important;color:#728873;text-align:center;max-width:265px}
.qr-view-link{font-size:11px;color:#246b41;text-decoration:underline;font-weight:850}
.manual-warning{border-radius:10px;background:#fff3e7;padding:12px 13px;text-align:left;font-size:11px!important;color:#8a6545!important}
.qris-admin-panel .admin-note{margin-top:18px}
.qris-admin-panel .qris-admin-preview{border:1px solid #e5ecdf;border-radius:14px;background:#f7fbf3;display:flex;align-items:center;justify-content:center;padding:14px;margin:13px 0}
.qris-admin-preview img{height:190px;width:190px;max-width:100%;object-fit:contain;background:white;border-radius:8px}
.qris-admin-panel input[type=file]{padding:10px!important;height:auto!important;font-size:12px}
.qris-admin-panel .qris-delete{margin-top:12px;color:#8b5048}
@media(max-width:650px){.qris-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.qris-app{min-height:93px}.app-name{font-size:11px}.scan-qris-image{width:230px;height:230px}}

/* QRIS Rama Live - render cropped QR at a size that stays scannable */
.scan-qris-image{width:310px;height:310px;max-width:100%;object-fit:contain;border:12px solid #fff;image-rendering:auto}
.qris-merchant-name{font-size:15px;font-weight:850;color:#254638;margin:-3px 0 2px;text-align:center}
.qris-admin-preview img{height:240px;width:240px;object-fit:contain}
@media(max-width:650px){.scan-qris-image{width:min(300px,100%);height:auto;aspect-ratio:1}.dialog{padding:28px 15px 22px}}
