:root{--bg:#f6f7f8;--fg:#14181c;--card:#fff;--line:#d9dee3;--pri:#0f766e;--dan:#b42318;--mut:#5b6670;--warn:#92400e;--warnbg:#fef3c7}
@media (prefers-color-scheme:dark){:root{--bg:#101418;--fg:#eef1f4;--card:#1a2026;--line:#2d363f;--pri:#2dd4bf;--dan:#f97066;--mut:#98a2ad;--warn:#fcd34d;--warnbg:#3b2f0a}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.7 system-ui,"Segoe UI",Tahoma,sans-serif}
.bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--pri);color:#fff;position:sticky;top:0}
.bar .ghost{color:#fff;border-color:#ffffff88}
main{max-width:560px;margin:0 auto;padding:16px}
h1{font-size:1.25rem;margin:.4rem 0}h2{font-size:1.05rem;margin:1.4rem 0 .4rem}
label{display:block;margin:.8rem 0 .25rem;color:var(--mut)}
input,select,textarea{width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:10px}
#code{font-size:1.8rem;letter-spacing:.6em;text-align:center}
button,.btn{display:inline-block;min-height:48px;padding:10px 18px;margin-top:.8rem;font:inherit;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg);text-align:center;text-decoration:none;cursor:pointer}
button.primary{background:var(--pri);color:#fff;border-color:var(--pri);width:100%}
button.danger{background:var(--dan);color:#fff;border-color:var(--dan)}
button.ghost{background:transparent;margin-top:0}
button:disabled{opacity:.55}
.row{display:flex;justify-content:space-between;align-items:center}
.card{display:block;width:100%;text-align:right;padding:14px;margin:.6rem 0;background:var(--card);border:1px solid var(--line);border-radius:12px}
.card b{display:block}.card span{display:block;color:var(--mut)}
.amount{display:flex;justify-content:space-between;align-items:center;padding:14px;margin:.6rem 0;background:var(--card);border:2px solid var(--pri);border-radius:12px}
.amount strong{font-size:1.7rem}
dl{margin:.6rem 0}dt{color:var(--mut)}dd{margin:0 0 .6rem;white-space:pre-wrap;word-break:break-word}
ul{padding-inline-start:1.2rem}
.muted{color:var(--mut)}
.warn,.flash{padding:10px 12px;border-radius:10px;background:var(--warnbg);color:var(--warn)}
.flash.ok{background:#dcfce7;color:#14532d}
.flash.err{background:#fee4e2;color:#7a271a}
.confirm{padding:12px;margin-top:.8rem;border:1px solid var(--dan);border-radius:12px}
[hidden]{display:none!important}
