:root{font-family:Arial,Helvetica,sans-serif;color:#f4f4f0;background:#101110;font-synthesis:none;--gold:#efbc46;--paper:#f4f4f0;--muted:#a5a7a1;--panel:#1b1d1a;--line:#343730;--red:#ff9d8e;--green:#a8d7ad}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-.055em;line-height:1.12}h2{font-size:1.25rem;letter-spacing:-.025em}h3{font-size:1rem}p{line-height:1.5}small{font-size:.8125rem;color:var(--muted)}.app{min-height:100dvh;padding-bottom:calc(6rem + env(safe-area-inset-bottom));background:#101110}.topbar{position:sticky;top:0;z-index:20;background:#101110;border-bottom:1px solid var(--line)}.topbar-inner{max-width:720px;margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:12px}.brand{display:flex;gap:12px;align-items:center;font-weight:900;letter-spacing:.04em}.brand img{width:43px;height:43px;-o-object-fit:contain;object-fit:contain}.brand span{display:block;font-size:1.05rem}.brand small{font-size:.75rem;letter-spacing:.15em;color:var(--gold);font-weight:700}.identity{max-width:45%;text-align:right}.identity button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{max-width:720px;margin:auto;padding:26px 20px}.stack{display:grid;gap:20px}.stack-sm{display:grid;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-start{display:flex;align-items:flex-start;gap:12px}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.eyebrow{font-size:.8125rem;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--gold)}.heading{display:grid;gap:8px;margin-bottom:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.rule{border:0;border-top:1px solid var(--line);margin:16px 0}.amount{font-variant-numeric:tabular-nums;letter-spacing:-.055em;font-weight:700}.amount-lg{font-size:3.2rem;line-height:1.1}.amount-md{font-size:1.75rem}.gold{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:#252822;color:var(--paper);font-size:1rem;font-weight:700;text-decoration:none;line-height:1.2}.button.primary{color:#17190e;background:var(--gold);border-color:var(--gold)}.button.danger{background:#39201b;color:var(--red);border-color:#724334}.button.quiet{background:transparent;border-color:var(--line);font-weight:400}.button.small{font-size:.875rem;min-height:44px;padding:10px 12px}.button.full{width:100%}.text-button{border:0;background:none;color:var(--gold);font-weight:700;padding:10px 0;min-height:44px;text-align:left}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions>*{flex:1}.badge{display:inline-flex;gap:5px;align-items:center;font-size:.8125rem;font-weight:700;padding:6px 9px;border:1px solid var(--line);border-radius:6px;white-space:nowrap}.badge.good{color:var(--green);background:#213325;border-color:#3c5341}.badge.warn{color:var(--gold);background:#372e1b;border-color:#61502a}.badge.bad{color:var(--red);background:#39201b;border-color:#724334}.notice{border:1px solid #61502a;background:#292419;color:#ffe6aa;border-radius:12px;padding:16px;display:grid;gap:8px}.notice.error{border-color:#724334;background:#2f201c;color:var(--red)}.notice.success{border-color:#3c5341;background:#203025;color:var(--green)}.nav{position:fixed;bottom:0;left:0;right:0;background:#171916;border-top:1px solid var(--line);z-index:25;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.nav-inner{max-width:720px;margin:auto;display:flex;gap:4px}.nav button{flex:1;min-width:0;border:0;border-radius:8px;background:none;color:var(--muted);padding:9px 2px;display:grid;justify-items:center;gap:6px;font-size:.875rem}.nav button.active{background:#2c2c21;color:var(--gold)}.nav svg{width:22px;height:22px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product{position:relative;min-height:194px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--paper);padding:16px;text-align:left;display:flex;flex-direction:column;gap:12px}.product:active{background:#2b2d23;border-color:var(--gold)}.product img{width:62px;height:62px;-o-object-fit:contain;object-fit:contain;align-self:center}.product-placeholder{width:62px;height:62px;display:grid;place-items:center;align-self:center;background:#252923;border-radius:50%;color:var(--muted)}.product-placeholder svg{width:28px;height:28px}.product-name{font-size:1rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.product-price{font-size:1.3rem;letter-spacing:-.02em;font-weight:700}.plus{display:grid;place-items:center;width:32px;height:32px;color:#17190e;background:var(--gold);border-radius:8px;font-size:1.5rem}.chips{display:flex;gap:8px;overflow:auto;padding:2px 0 4px}.chip{white-space:nowrap;background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:10px 16px;min-height:44px}.chip.active{color:var(--paper);border-color:var(--gold)}.field{display:grid;gap:8px;min-width:0;font-size:.9375rem}.input{display:block;width:100%;min-width:0;min-height:50px;border:1px solid #51554a;border-radius:10px;padding:12px 14px;color:var(--paper);background:#131512;font-size:1rem}.input::-moz-placeholder{color:#85897e}.input::placeholder{color:#85897e}select.input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}textarea.input{resize:vertical;min-height:88px}.list{border:1px solid var(--line);border-radius:14px;overflow:hidden}.list-row{padding:17px 16px;background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.list-row+.list-row{border-top:1px solid var(--line)}.list-row h3{margin-bottom:5px;overflow-wrap:anywhere}.list-row button{flex-shrink:0}.list-row .amount{font-size:1.1rem;white-space:nowrap}.empty{text-align:center;padding:32px 20px;color:var(--muted);border:1px dashed var(--line);border-radius:14px;line-height:1.5}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login{max-width:440px;margin:auto;min-height:100dvh;padding:40px 24px;display:flex;flex-direction:column;gap:28px}.login-brand{display:grid;justify-items:center;gap:12px;text-align:center}.login-brand img{width:98px;height:98px;-o-object-fit:contain;object-fit:contain}.login-brand h1{font-size:2.5rem;letter-spacing:.015em}.pin-dots{display:flex;justify-content:center;gap:16px;padding:20px}.pin-dot{height:15px;width:15px;border-radius:50%;border:2px solid #6e7365}.pin-dot.filled{background:var(--gold);border-color:var(--gold)}.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-grid button{font-size:1.65rem;min-height:64px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--paper)}.pin-grid button:active{background:#353627}.login-footer{text-align:center;color:var(--muted);font-size:.875rem;line-height:1.5}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000b;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:600px;max-height:92dvh;overflow:auto;background:#191c17;border:1px solid var(--line);border-radius:22px 22px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.sheet-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.sheet h2{font-size:1.5rem}.toast-stack{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom));left:14px;right:14px;max-width:680px;margin:auto;z-index:45;display:grid;gap:8px;pointer-events:none}.toast{padding:14px 16px;background:#eff0dc;color:#162015;border:1px solid #aaa;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:auto;box-shadow:0 6px 20px #0005}.toast button{border:0;background:transparent;text-decoration:underline;color:inherit;font-weight:700;min-height:36px}.toast.error{background:#45251e;color:#ffc0b3;border-color:#995643}.meter{height:4px;background:#3a3e34;border-radius:4px;overflow:hidden}.meter span{display:block;height:100%;background:var(--gold)}.busy{color:var(--muted);padding:40px 12px;text-align:center}.account-pick{max-height:40dvh;overflow:auto;display:grid;gap:10px}.summary-link{color:var(--gold);text-decoration:none}.order-image{width:72px;height:72px;-o-object-fit:contain;object-fit:contain;background:#252923;border-radius:10px}.reference{font-family:ui-monospace,monospace;letter-spacing:.05em;overflow-wrap:anywhere}.fee-name{color:var(--gold)}.check-row{display:flex;gap:12px;align-items:center;min-height:48px}.check-row input{width:22px;height:22px;accent-color:var(--gold)}.screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.refresh{font-size:.875rem;color:var(--muted);background:none;border:0;min-height:44px}.wordbreak{overflow-wrap:anywhere}.progress-steps{display:flex;gap:4px;margin-top:14px}.progress-steps span{height:4px;background:#3a3e34;flex:1;border-radius:2px}.progress-steps span.done{background:var(--gold)}@media (min-width:600px){.page{padding:32px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overlay{align-items:center;padding:20px}.sheet{border-radius:20px;padding:28px}.login{padding-top:60px}}@media (max-width:359px){.page{padding:20px 14px}.product{padding:12px}.nav button{font-size:.8125rem}.topbar-inner{padding:12px 14px}.amount-lg{font-size:2.7rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root dialog{color:var(--paper)}dialog.sheet{margin:auto;position:fixed;top:0;right:0;bottom:0;left:0;max-width:min(600px,calc(100% - 24px));width:100%;max-height:90dvh;border:1px solid var(--line);box-shadow:0 24px 80px #0008}dialog.sheet::backdrop{background:#000b}@media (max-width:599px){dialog.sheet{inset:auto 0 0;margin:0 auto;max-width:100%;border-bottom:0}}
