:root{
  --bg:#0f172a; --surface:#1e293b; --surface2:#334155; --line:#334155;
  --text:#e2e8f0; --muted:#94a3b8; --accent:#38bdf8; --accent2:#0ea5e9;
  --ok:#22c55e; --warn:#f59e0b; --danger:#ef4444;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased}
#app{width:100%;max-width:680px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
header{position:sticky;top:0;background:rgba(15,23,42,.92);backdrop-filter:blur(8px);
  padding:env(safe-area-inset-top) 16px 0;border-bottom:1px solid var(--line);z-index:10}
.hrow{display:flex;align-items:center;justify-content:space-between;height:54px}
.brand{font-weight:700;font-size:19px;letter-spacing:.3px}
.brand span{color:var(--accent)}
.linkbtn{background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer}
.tabs{display:flex;gap:4px;padding:8px 0 10px}
.tab{flex:1;padding:9px;text-align:center;border-radius:10px;background:var(--surface);
  color:var(--muted);font-size:14px;border:1px solid transparent;cursor:pointer}
.tab.active{background:var(--surface2);color:var(--text);border-color:var(--accent2)}
main{flex:1;padding:16px;padding-bottom:40px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}
.card.tap{cursor:pointer;transition:transform .08s}
.card.tap:active{transform:scale(.99)}
h1{font-size:22px;margin:0 0 4px}
h2{font-size:16px;margin:0 0 10px}
.muted{color:var(--muted);font-size:13px}
.row{display:flex;justify-content:space-between;gap:10px;margin:6px 0;font-size:14px}
.row .k{color:var(--muted)}
.row .v{text-align:right;font-weight:600}
.btn{display:block;width:100%;padding:14px;border:none;border-radius:12px;font-size:16px;
  font-weight:600;background:var(--accent2);color:#001018;cursor:pointer;margin-top:8px}
.btn:disabled{opacity:.5}
.btn.ghost{background:var(--surface2);color:var(--text)}
.btn.ok{background:var(--ok);color:#04210f}
.btn.danger{background:var(--danger);color:#2a0606}
.btn.half{display:inline-block;width:calc(50% - 6px)}
input[type=password],input[type=text]{width:100%;padding:14px;border-radius:12px;
  border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:16px;margin-bottom:10px}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}
.badge.auto{background:#0e2f1d;color:#4ade80}
.badge.needs_review{background:#3a2a07;color:#fbbf24}
.badge.verified{background:#082f49;color:#7dd3fc}
.badge.sub{background:var(--surface2);color:var(--muted);margin:2px 4px 0 0}
.chips{margin-top:6px}
.center{display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:70vh;padding:24px;text-align:center}
.logo{font-size:40px;margin-bottom:8px}
.preview{width:100%;border-radius:12px;margin:10px 0;border:1px solid var(--line);max-height:340px;object-fit:contain;background:#000}
.drop{display:block;border:2px dashed var(--line);border-radius:16px;padding:28px 16px;text-align:center;color:var(--muted);cursor:pointer;margin:10px 0}
.spinner{width:34px;height:34px;border:3px solid var(--surface2);border-top-color:var(--accent);
  border-radius:50%;animation:spin .8s linear infinite;margin:18px auto}
@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--surface2);
  color:var(--text);padding:12px 18px;border-radius:12px;border:1px solid var(--line);font-size:14px;z-index:50}
.empty{text-align:center;color:var(--muted);padding:48px 16px}
.back{background:none;border:none;color:var(--accent);font-size:15px;cursor:pointer;margin-bottom:8px;padding:0}
.amount{font-size:20px;font-weight:700;color:var(--accent)}
