:root{
  --primary:#004900; --primary-container:#006400; --on-primary:#fff;
  --secondary:#fcd400; --on-secondary:#6e5c00;
  --surface:#f8f9fa; --surface-c:#edeeef; --surface-c-low:#f3f4f5;
  --card:#ffffff; --on-surface:#191c1d; --variant:#404a3b;
  --outline:#bfcab7; --error:#ba1a1a; --error-c:#ffdad6; --good:#1f6217;
  --r:14px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--surface);color:var(--on-surface)}
.hidden{display:none!important}
.app{max-width:520px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
header.bar{background:var(--primary);color:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}
header.bar h1{font-size:17px;margin:0;font-weight:700}
header.bar .who{font-size:12px;opacity:.85}
main{flex:1;padding:16px;padding-bottom:84px}
.card{background:var(--card);border:1px solid #e7e8e9;border-radius:var(--r);padding:16px;margin-bottom:14px}
.balance{background:linear-gradient(135deg,var(--primary),var(--primary-container));color:#fff;border:none}
.balance .amt{font-size:34px;font-weight:700;letter-spacing:-.02em;margin:4px 0}
.balance small{opacity:.8}
label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}
input,select{width:100%;padding:12px;border:1px solid var(--outline);border-radius:10px;font-size:15px;background:#fff}
button{font-family:inherit;cursor:pointer;border:none;border-radius:10px;font-weight:600;font-size:15px;padding:13px 16px}
.btn{background:var(--primary);color:#fff;width:100%}
.btn.sec{background:var(--secondary);color:var(--on-secondary)}
.btn.ghost{background:var(--surface-c);color:var(--on-surface)}
.btn.sm{width:auto;padding:8px 14px;font-size:13px}
.row{display:flex;gap:10px}.row>*{flex:1}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qa{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.qa button{background:var(--card);border:1px solid #e7e8e9;color:var(--on-surface);padding:16px;text-align:left}
.qa button b{display:block;font-size:15px}.qa button span{font-size:12px;color:var(--variant)}
.list{display:flex;flex-direction:column}
.item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eee}
.item:last-child{border-bottom:none}
.item small{color:var(--variant);font-size:12px}
.pos{color:var(--good);font-weight:700}.neg{color:var(--error);font-weight:700}
.msg{padding:11px 14px;border-radius:10px;margin:10px 0;font-size:14px}
.msg.ok{background:#d7f5cf;color:#0c5307}.msg.err{background:var(--error-c);color:#93000a}
nav.tabs{position:fixed;bottom:0;left:0;right:0;max-width:520px;margin:0 auto;background:#fff;border-top:1px solid #e1e3e4;display:flex;z-index:5}
nav.tabs a{flex:1;text-align:center;padding:10px 4px;font-size:11px;color:var(--variant);text-decoration:none}
nav.tabs a.active{color:var(--primary);font-weight:700}
nav.tabs a .ic{font-family:'Material Symbols Outlined';font-size:22px;display:block}
.center{text-align:center}.muted{color:var(--variant);font-size:13px}
.tag{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.tag.linked{background:#d7f5cf;color:#0c5307}.tag.unlinked{background:var(--surface-c);color:var(--variant)}.tag.blocked{background:var(--error-c);color:#93000a}
.brand{display:flex;align-items:center;gap:10px;justify-content:center;margin:30px 0 8px}
.seal{width:46px;height:46px;border-radius:50%;background:var(--secondary);display:flex;align-items:center;justify-content:center;color:var(--on-secondary);font-weight:800}
.qrgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.qrcell{border:1px dashed var(--outline);border-radius:8px;padding:8px;text-align:center}
.qrcell canvas,.qrcell img{width:100%!important;height:auto!important}
.qrcell code{font-size:10px;word-break:break-all}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:var(--variant);font-weight:600;padding:6px;border-bottom:2px solid #e1e3e4}
td{padding:6px;border-bottom:1px solid #eee}
@media print{nav.tabs,header.bar,.noprint{display:none!important}main{padding:0}}
