:root{--ink: #1c3252;--ink-soft: #33517a;--teal: #1d7e8c;--teal-deep: #14666f;--green: #37b24d;--blue: #1c7ed6;--glass: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .85);--danger: #c92a2a;--radius: 18px;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{color:var(--ink);background:linear-gradient(160deg,#eaf6f2,#d8eee9)}body:before{content:"";position:fixed;top:-48px;right:-48px;bottom:-48px;left:-48px;z-index:-1;background:url(/bg.jpg) center / cover no-repeat;filter:blur(14px) saturate(1.05)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(#f4fbfa59,#e9f6f38c)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px}.brand{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;font-size:1.35rem;font-weight:700;color:var(--ink);font-family:Georgia,Times New Roman,serif}.brand-logo{width:38px;height:38px;object-fit:contain;display:block}.brand-accent{color:var(--green)}.topbar-right{display:flex;align-items:center;gap:10px}.lang-toggle{border:1.5px solid var(--teal);color:var(--teal-deep);background:var(--glass);border-radius:999px;padding:5px 13px;font-weight:700;cursor:pointer}.landing{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;max-width:1060px;width:100%;align-items:center}.hero-text h1{font-family:Georgia,Times New Roman,serif;font-weight:600;line-height:1.04;margin-bottom:20px;display:flex;flex-direction:column}.hero-line1{color:#22345c;font-size:clamp(2.6rem,6vw,4.6rem)}.hero-line2{color:var(--teal);font-size:clamp(2.6rem,6vw,4.6rem)}.hero-subtitle{font-size:1.15rem;color:var(--ink-soft);max-width:34rem;margin-bottom:30px}.steps{list-style:none;display:flex;gap:26px;flex-wrap:wrap}.steps li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.86rem;color:var(--ink-soft);max-width:130px;text-align:center}.step-icon{width:58px;height:58px;border-radius:50%;border:1.5px solid rgba(29,126,140,.55);background:var(--glass);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--teal-deep);box-shadow:0 6px 18px #1d7e8c1f}.glass-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:26px;padding:30px 26px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 60px #173e4a2e;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.glass-card h2{font-size:1.12rem;color:var(--ink);font-weight:700}.qr-illustration{padding:8px 0}.btn{border-radius:14px;border:none;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 20px;transition:transform .08s ease,box-shadow .15s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.985)}.btn-primary{background:linear-gradient(90deg,var(--blue),var(--green));color:#fff;box-shadow:0 10px 24px #1c7ed647}.btn-lg{width:100%;padding:15px 22px;font-size:1.08rem}.btn-outline{background:#ffffffd9;color:var(--teal-deep);border:1.5px solid rgba(29,126,140,.5);width:100%}.btn-ghost{background:none;color:var(--teal-deep);text-decoration:underline}.btn-sm{font-size:.85rem;padding:6px 12px}.panel{flex:1;width:100%;max-width:560px;margin:0 auto;padding:10px 18px 40px}.panel h2{font-family:Georgia,serif;font-size:1.7rem;margin-bottom:6px}.panel-intro{color:var(--ink-soft);margin-bottom:20px}.form{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:15px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 16px 40px #173e4a1f}.form label,.field-label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem}.form label small{font-weight:400;color:var(--ink-soft)}.form input,.form select,.modal-card input{border:1.5px solid rgba(29,126,140,.35);border-radius:12px;padding:11px 13px;font-size:1rem;background:#ffffffeb;color:var(--ink)}.form input:focus,.form select:focus{outline:2px solid rgba(28,126,214,.4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional-address summary{cursor:pointer;color:var(--teal-deep);font-weight:600;margin-bottom:8px}.optional-address label{margin-top:8px}.amount-input{font-size:1.5rem!important;font-weight:700;text-align:center}.lana-preview{text-align:center;color:var(--teal-deep)}.manual-entry{display:flex;flex-direction:column;gap:10px;width:100%}.manual-entry input{border:1.5px solid rgba(29,126,140,.35);border-radius:12px;padding:11px 13px;width:100%}.error-note{color:var(--danger);font-weight:600;text-align:center}.notice-note{color:var(--teal-deep);font-weight:600;text-align:center}.busy-note{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-soft);text-align:center}.receipt-block{display:flex;flex-direction:column;gap:8px}.receipt-preview img{width:100%;border-radius:12px;max-height:260px;object-fit:contain;background:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f22308c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal-card{background:#fff;border-radius:20px;padding:22px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:13px}.modal-title{font-size:1.05rem;text-align:center}.scanner-viewport{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#0c1a24}.scanner-viewport video{width:100%;height:100%;object-fit:cover}.scanner-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff}.scanner-corners .c{position:absolute;width:38px;height:38px;border:4px solid #37b24d}.scanner-corners .tl{top:8px;left:8px;border-right:none;border-bottom:none;border-radius:10px 0 0}.scanner-corners .tr{top:8px;right:8px;border-left:none;border-bottom:none;border-radius:0 10px 0 0}.scanner-corners .bl{bottom:8px;left:8px;border-right:none;border-top:none;border-radius:0 0 0 10px}.scanner-corners .br{bottom:8px;right:8px;border-left:none;border-top:none;border-radius:0 0 10px}.scanner-error{background:#c92a2a14;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;text-align:center;color:var(--danger)}.result-panel{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding-top:60px}.result-icon{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.6rem;color:#fff}.result-icon.success{background:var(--green);box-shadow:0 14px 34px #37b24d66}.result-icon.failed{background:var(--danger);box-shadow:0 14px 34px #c92a2a66}.result-amount{font-size:1.3rem;font-weight:700}.failed-panel h2{color:var(--danger)}.failed-note{font-weight:700;font-size:1.1rem}.failed-reason{color:var(--ink-soft);font-size:.9rem}.tx-link{color:var(--blue);font-weight:600}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid rgba(29,126,140,.25);border-top-color:var(--teal);animation:spin .9s linear infinite}.spinner.big{width:46px;height:46px;margin-top:70px}@keyframes spin{to{transform:rotate(360deg)}}.admin-panel{max-width:860px}.admin-panel section{margin-bottom:28px}.admin-panel h3{margin-bottom:10px;font-size:1.1rem}.table-wrap{overflow-x:auto;background:var(--glass);border-radius:var(--radius);padding:8px}.table-wrap table{width:100%;border-collapse:collapse;font-size:.85rem}.table-wrap th,.table-wrap td{text-align:left;padding:7px 9px;border-bottom:1px solid rgba(29,126,140,.15)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.admin-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.admin-list li{display:flex;align-items:center;gap:10px}.footer{text-align:center;padding:18px;color:#1c32528c;font-size:.8rem}@media (max-width: 820px){.hero{grid-template-columns:1fr;gap:26px}.hero-text{text-align:center}.hero-text h1{align-items:center}.hero-subtitle{margin-left:auto;margin-right:auto}.steps{justify-content:center}.form-row{grid-template-columns:1fr}}
