:root{--green:#007c33;--green-dark:#005a25;--red:#e40428;--amber:#f5a524;--ink:#1a1a1a;--mut:#6b6b6b;--cream:#faf8f3;--paper:#fff;--line:#e8e3d8;--font-display:"Fraunces",Georgia,serif;--font-body:"Inter",-apple-system,sans-serif;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:#0e1512}body{font-family:var(--font-body);color:var(--ink)}.display,h1,h2,h3{font-family:var(--font-display)}.shell{max-width:440px;margin:0 auto;height:100vh;height:100dvh;background:var(--cream);display:flex;flex-direction:column;position:relative;overflow:hidden}.topbar{display:flex;align-items:center;gap:10px;padding:14px 18px 12px;flex-shrink:0}.brand-name{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1}.brand-sub{font-size:8.5px;color:var(--green);letter-spacing:.18em;margin-top:3px}.badge,.brand-sub{font-family:var(--font-mono)}.badge{margin-left:auto;font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#efeae0;color:var(--mut)}.badge.on{background:#e1f0e4;color:var(--green-dark)}.content{flex:1 1;overflow-y:auto;padding:4px 18px 92px}h1.page{font-family:var(--font-display);font-size:22px;margin:8px 0 14px}.sn,h1.page{font-weight:600}.sn{font-size:15px;color:var(--ink)}.sm,.sn{margin:0}.sm{font-size:12px}.eyebrow,.sm{color:var(--mut)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.search{gap:8px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;color:#9a938a;font-size:14px}.search,.stn{display:flex;align-items:center;background:var(--paper)}.stn{justify-content:space-between;padding:14px;margin-bottom:8px;border:1px solid var(--line);border-radius:14px;width:100%;text-align:left;cursor:pointer}.chip{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cg{background:#e1f0e4;color:var(--green)}.ca{background:#fbeeda;color:#9a6410}.cr{background:#fbe0e3;color:var(--red)}.cb{background:#f0efe8;color:#7a746a}.cl{background:#f2f5dc;color:#6d7a0c}.map-toggle{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;padding:6px;background:none;border:none;color:var(--mut);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.map-toggle,.pbtn{width:100%;cursor:pointer}.pbtn{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:14px;padding:16px;font-size:17px;font-weight:600;font-family:inherit}.pbtn:active{transform:scale(.985)}.pbtn:disabled{background:#c7cfc9;border-color:#c7cfc9}.obtn{background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:14px;padding:15px;font-size:16px;font-weight:600;cursor:pointer;width:100%;font-family:inherit}.qr{margin-top:14px}.mov,.rec{gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.mi,.mov,.rec{display:flex;align-items:center}.mi{width:36px;height:36px;border-radius:10px;justify-content:center;font-size:18px;flex-shrink:0}.cg2{background:#e1f0e4;color:var(--green)}.cgold{background:#fbeeda;color:#b3760a}.row{justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.row,.row .l{display:flex;align-items:center}.row .l{gap:10px}.row .l i{font-size:19px}.ben{display:flex;align-items:center;gap:11px;padding:12px 2px;font-size:14px;border-bottom:1px solid var(--line)}.ben i{font-size:20px;color:var(--green)}.stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px}.stat .sv{font-size:20px;font-weight:600;margin:3px 0 0;font-family:var(--font-display)}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:440px;border-top:1px solid var(--line);background:var(--paper)}.nav,.nav a{display:flex}.nav a{flex:1 1;padding:9px 0 12px;flex-direction:column;align-items:center;gap:3px;color:#9a938a;font-size:10px;font-family:var(--font-mono);letter-spacing:.03em;text-decoration:none}.nav a i{font-size:22px}.nav a.on{color:var(--green)}.wallet-card{background:var(--green);border-radius:16px;padding:20px;color:#fff;margin-bottom:14px}.pulse{animation:pl 1.2s ease-in-out infinite}@keyframes pl{0%,to{opacity:1}50%{opacity:.35}}.livechip{display:inline-flex;align-items:center;gap:6px;background:#e1f0e4;color:var(--green-dark);font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:999px}.empty{text-align:center;padding:30px 10px}.empty .circ{width:60px;height:60px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.mapa-top{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--cream);padding:2px 0 12px}.mapa-list{margin-bottom:64px}.fab-qr{position:fixed;bottom:72px;left:50%;transform:translateX(-50%);z-index:30;display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-size:15px;font-weight:600;text-decoration:none;padding:13px 24px;border-radius:999px;box-shadow:0 6px 18px rgba(0,80,30,.32)}.fab-qr:active{transform:translateX(-50%) scale(.97)}.sheet-bg{position:fixed;inset:0;z-index:40;background:rgba(26,26,26,.4);display:flex;align-items:flex-end;max-width:440px;margin:0 auto}.sheet{background:var(--paper);width:100%;border-radius:20px 20px 0 0;padding:10px 18px 24px}.sheet-grip{width:38px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 14px}.opt{display:flex;justify-content:space-between;align-items:center;padding:18px 16px;border:2px solid var(--line);border-radius:14px;background:var(--paper);margin-bottom:10px;cursor:pointer;width:100%;text-align:left;font-size:17px;font-weight:600;color:var(--ink)}.opt.sel{border-color:var(--green);background:#e9f4ec}.opt:disabled{opacity:.5}input.valor{width:100%;border:1.5px solid var(--line);border-radius:13px;padding:14px;font-size:18px;font-family:var(--font-body);font-weight:600}input.valor:focus{outline:none;border-color:var(--green)}