:root{--bg: #ffffff;--surface: #fafafa;--surface-alt: #f2f2f2;--ink: #0a0a0a;--ink-dim: #6b6b6b;--ink-faint: #9c9c9c;--border: #e2e2e2;--border-strong: #0a0a0a;--inverse-bg: #0a0a0a;--inverse-ink: #ffffff;--shadow: rgba(0, 0, 0, .06);--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0}.mono{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer}img{max-width:100%;display:block}.page{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1040px;margin:0 auto;padding:0 24px;width:100%}.navbar{border-bottom:1px solid var(--border);position:sticky;top:0;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999}.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;position:relative}.brand{display:flex;align-items:center;gap:10px}.brand img{width:30px;height:30px;object-fit:contain}.brand-name{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.01em}.navbar-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border-strong);border-radius:8px;background:transparent;flex-shrink:0;color:#000}.navbar-toggle svg{width:18px;height:18px}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{font-size:14px;padding:8px 14px;border-radius:999px;color:var(--ink-dim);border:1px solid transparent}.nav-link:hover{color:var(--ink);border-color:var(--border)}.nav-link.active{color:var(--ink);background:var(--surface-alt)}.user-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--border);padding:5px 12px 5px 5px;border-radius:999px;font-size:13px}.user-chip img{width:24px;height:24px;border-radius:50%;object-fit:cover}.logout-btn{background:none;border:none;color:var(--ink-faint);font-size:12px;text-decoration:underline;padding:0;cursor:pointer}@media (max-width: 760px){.navbar-toggle{display:inline-flex;position:relative;z-index:999;cursor:pointer}.nav-links{display:none!important;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:6px;background:var(--bg, #ffffff);border-bottom:1px solid var(--border);padding:14px 24px 20px;box-shadow:0 12px 24px #0000000f;z-index:998}.nav-links.open{display:flex!important}.nav-link{width:100%;padding:10px 14px}.nav-links .user-chip{width:100%;justify-content:space-between;margin-top:4px}.nav-links .btn{width:100%}}.btn{border-radius:999px;padding:12px 22px;font-weight:600;font-size:14.5px;border:1px solid var(--border-strong);transition:transform .08s ease,opacity .15s ease,background .15s ease,color .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:scale(.98)}.btn-primary{background:var(--inverse-bg);color:var(--inverse-ink)}.btn-primary:hover{opacity:.85}.btn-secondary{background:transparent;color:var(--ink)}.btn-secondary:hover{background:var(--surface-alt)}.btn-block{width:100%}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:8px 16px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px}.section{padding-top:64px;padding-bottom:64px}@media (max-width: 720px){.section{padding-top:44px;padding-bottom:44px}}.section-title{font-size:28px;margin-bottom:12px}.section-sub{color:var(--ink-dim);font-size:15px;max-width:560px;line-height:1.6}.hero{padding:72px 0 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}.hero img.hero-logo{width:72px;height:72px;object-fit:contain}.hero h1{font-size:42px;max-width:620px;line-height:1.15}.hero p{color:var(--ink-dim);max-width:520px;font-size:16px;line-height:1.6}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.papan-harga{border:1px solid var(--border-strong);border-radius:18px;padding:30px 32px;position:relative;background:var(--bg)}.papan-harga .eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.papan-harga .price-line{display:flex;align-items:baseline;gap:12px;margin-top:8px;flex-wrap:wrap}.papan-harga .price-value{font-family:var(--font-display);font-size:46px;font-weight:700;color:var(--ink)}.papan-harga .price-unit{font-family:var(--font-mono);color:var(--ink-dim);font-size:15px}.papan-harga:before,.papan-harga:after{content:"";position:absolute;left:32px;right:32px;height:1px;background:repeating-linear-gradient(90deg,var(--border-strong) 0,var(--border-strong) 6px,transparent 6px,transparent 12px)}.papan-harga:before{top:12px}.papan-harga:after{bottom:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{background:var(--surface, #ffffff);border:1px solid var(--border, #eaeaea);border-radius:12px;padding:24px;box-shadow:0 4px 12px #00000008}.feature-card .index{font-size:14px;color:var(--ink-dim, #666);margin-bottom:12px}.feature-card h3{font-size:18px;margin:0 0 8px}.feature-card p{font-size:14px;color:var(--ink-dim, #666);line-height:1.5;margin:0}@media (max-width: 860px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-3{grid-template-columns:1fr;gap:16px}.section-title{font-size:24px;text-align:center}.section-sub{font-size:15px;text-align:center}}.steps{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;overflow:hidden}.step-row{display:flex;gap:18px;padding:20px 22px;border-bottom:1px solid var(--border);align-items:flex-start}.step-row:last-child{border-bottom:none}.step-num{font-family:var(--font-mono);font-size:13px;width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-row h4{margin:0 0 4px;font-size:15px;font-family:var(--font-body);font-weight:600}.step-row p{margin:0;font-size:13.5px;color:var(--ink-dim);line-height:1.5}input[type=number],input[type=text]{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--ink);padding:12px 14px;border-radius:10px;font-size:15px;font-family:var(--font-mono)}input:focus{outline:2px solid var(--ink);outline-offset:1px}label{display:block;font-size:13px;color:var(--ink-dim);margin-bottom:6px}.receipt-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--border);font-family:var(--font-mono);font-size:14px}.receipt-row:last-of-type{border-bottom:none}.receipt-row.total{font-weight:700;font-size:16px;border-top:1px solid var(--border-strong);margin-top:6px;padding-top:12px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-strong)}.badge-pending{background:transparent;color:var(--ink);border-style:dashed}.badge-paid{background:var(--inverse-bg);color:var(--inverse-ink)}.badge-expired,.badge-failed{background:var(--surface-alt);color:var(--ink-faint);text-decoration:line-through}.stamp{display:inline-block;border:3px solid var(--ink);color:var(--ink);font-family:var(--font-display);font-weight:700;text-transform:uppercase;padding:6px 20px;border-radius:8px;transform:rotate(-6deg);letter-spacing:.08em}.history-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border);gap:12px}.history-item:last-child{border-bottom:none}.history-item .meta{font-size:12px;color:var(--ink-dim);font-family:var(--font-mono)}.center-stage{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;padding:24px}.qr-box{background:var(--bg);border:1px solid var(--border-strong);padding:18px;border-radius:16px;display:inline-block}.qr-box img{width:220px;height:220px}.error-text{color:var(--ink);background:var(--surface-alt);border:1px solid var(--border);padding:8px 12px;border-radius:8px;font-size:13px;margin-top:8px}.helper-text{color:var(--ink-dim);font-size:13px}.footer-minimal{border-top:1px solid var(--border);margin-top:auto;padding:48px 0 32px;background-color:transparent}.footer-minimal-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px}.footer-brand-center{display:flex;align-items:center;gap:10px;opacity:.8}.footer-brand-center img{width:24px;height:24px;object-fit:contain}.footer-brand-center .brand-name{font-family:var(--font-display, inherit);font-weight:700;font-size:15px;color:var(--ink)}.footer-links-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px}.footer-links-inline a{font-size:14px;color:var(--ink-dim);text-decoration:none;font-weight:500;transition:color .2s ease}.footer-links-inline a:hover{color:var(--ink)}.footer-copyright{font-size:13px;color:var(--ink-faint);margin-top:8px}@media (max-width: 480px){.footer-links-inline{gap:16px;flex-direction:column}}.checkout-form{display:flex;flex-direction:column;gap:24px;padding:32px 24px}.input-group label{display:block;font-size:13.5px;font-weight:600;margin-bottom:8px;color:var(--ink)}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding-right:56px}.input-wrapper .input-suffix{position:absolute;right:16px;color:var(--ink-dim);font-weight:600;font-size:14px;pointer-events:none}.input-large{font-size:18px!important;padding-top:14px;padding-bottom:14px}.receipt-box{background-color:var(--surface-alt, #f8f9fa);border:1px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.receipt-divider{border:none;border-top:1px dashed var(--border-strong, #ccc);margin:4px 0}.error-box{display:flex;align-items:center;gap:10px;padding:12px 16px;background-color:#fff0f0;border:1px solid #ffcccc;border-radius:8px;color:#e53e3e;font-size:13.5px;font-weight:500}.btn-lg{padding:14px 24px;font-size:15.5px}.checkout-form input[type=text],.checkout-form input[type=number]{font-size:16px!important}
