:root{--navy: #0b1b33;--navy-2: #12284a;--navy-3: #1b3560;--green: #22c55e;--green-d: #16a34a;--text: #e8eefc;--muted: #9fb0cf;--danger: #f87171;--warn: #fbbf24;--line: #24406f;font-family:Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--navy)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;background:var(--navy)}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shell{display:flex;flex-direction:column;height:100%}.top{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--navy-2);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-weight:700}.dot{width:10px;height:10px;border-radius:50%;background:var(--green)}.top-actions{display:flex;gap:4px}.icon-btn{background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;font-size:12px;color:var(--muted)}.icon-btn:hover,.icon-btn.on{border-color:var(--line);color:var(--text)}.icon-btn.on{background:var(--navy-3)}.body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.panel{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}.panel h1{font-size:20px;margin:4px 0}.panel h2{font-size:16px;margin:4px 0}form{display:flex;flex-direction:column;gap:8px}label{font-size:13px;color:var(--muted);margin-top:6px}.big-input,.text-input{background:var(--navy-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}.big-input{font-size:24px;letter-spacing:2px;text-align:center}.big-input.amount{letter-spacing:0;font-weight:600}.text-input{font-size:16px}input[aria-invalid=true]{border-color:var(--danger)}.primary,.secondary,.danger{border-radius:8px;padding:11px 14px;font-weight:600;border:1px solid transparent;width:100%}.primary{background:var(--green);color:#052e16}.primary:hover:not(:disabled){background:var(--green-d)}.secondary{background:transparent;border-color:var(--line)}.danger{background:var(--danger);color:#450a0a}.link{background:none;border:none;color:var(--muted);text-decoration:underline;padding:6px}.chip{background:var(--navy-3);border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:12px}.chip.static{color:var(--muted);cursor:default}.source-chip{margin:0}.muted{color:var(--muted);margin:2px 0}.small{font-size:12px}.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.center-text{text-align:center}.error{color:var(--danger);margin:2px 0;font-size:13px}.note{color:var(--warn);font-size:13px;margin:2px 0;text-align:center}.banner{padding:8px 12px;font-size:13px}.banner.offline{background:#7f1d1d}.banner.info{background:var(--navy-3)}.banner.warn{background:#78350f}.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs button{flex:1;background:none;border:none;padding:10px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--text);border-bottom-color:var(--green)}.user-code{font-size:40px;font-weight:700;letter-spacing:4px;text-align:center;padding:18px 8px;margin:8px 0;background:var(--navy-2);border:1px solid var(--line);border-radius:10px;font-family:Consolas,monospace}.waiting{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);margin-bottom:8px}.choices{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.choice{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--navy-2);border:1px solid var(--line);border-radius:8px;color:var(--text);margin:0;font-size:16px}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite}.spinner.small{width:14px;height:14px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.status,.pending{display:flex;flex-direction:column;gap:8px}.amount{font-size:30px;font-weight:700;text-align:center;margin-top:8px}.status-badge{display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:600;margin-top:6px}.tone-success .status-label{color:var(--green)}.tone-danger .status-label{color:var(--danger)}.tone-warning .status-label{color:var(--warn)}.status-detail{text-align:center;color:var(--muted);margin:2px 0;font-size:14px}.receipt{background:var(--navy-2);border:1px solid var(--green-d);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:10px}.receipt-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.receipt .k{font-size:12px;color:var(--muted)}.receipt .v{font-size:20px;font-weight:700;word-break:break-all}.mono{font-family:Consolas,monospace}.failure{background:#3b1215;color:var(--danger);border-radius:8px;padding:8px 10px;text-align:center}.actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.actions.row{flex-direction:row}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#030a16bf;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.dialog{background:var(--navy-2);border:1px solid var(--line);border-radius:12px;padding:16px;width:100%;max-width:320px}.recent-head{display:flex;justify-content:space-between;align-items:center}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.row-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;background:var(--navy-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.row-main{display:flex;flex-direction:column}.row-amount{font-weight:600}.pill{font-size:11px;border-radius:999px;padding:3px 9px;background:var(--navy-3);white-space:nowrap}.pill.tone-success{color:var(--green)}.pill.tone-danger{color:var(--danger)}.pill.tone-warning{color:var(--warn)}.empty{text-align:center;padding:24px 8px}.back-row{display:flex;justify-content:flex-start}
