/**
 * Conta digital — visual Wise (forest / lima)
 */
:root{
  --wq-lime:#9FE870;
  --wq-forest:#163300;
  --wq-mist:#F2F5ED;
  --wq-line:#e3e9dc;
  --wq-mute:#6B7A60;
  --wq-mid:#3A4A30;
  --wq-white:#fff;
  --bn-h:74px;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;width:100%;overflow:hidden}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--wq-mist);
  color:var(--wq-forest);
  -webkit-font-smoothing:antialiased;
  position:fixed;inset:0;
}

.app{
  display:flex;flex-direction:column;
  height:100%;width:100%;max-width:480px;margin:0 auto;
  background:var(--wq-mist);position:relative;overflow:hidden;
}
.app-body{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.tab{display:none;min-height:100%;padding:0 0 calc(var(--bn-h) + 18px)}
.tab.on{display:block}

.push-overlay{
  position:fixed;left:50%;top:14px;transform:translateX(-50%) translateY(-120%);
  width:min(440px,calc(100% - 24px));z-index:80;pointer-events:none;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s;opacity:0;
}
.push-overlay.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}
.push-overlay.hide{transform:translateX(-50%) translateY(-120%);opacity:0}
.push-card{
  display:flex;gap:12px;align-items:center;
  background:var(--wq-forest);color:#fff;border-radius:18px;
  padding:14px 16px;box-shadow:0 16px 40px rgba(22,51,0,.28);
}
.push-ico{
  width:36px;height:36px;border-radius:12px;background:rgba(159,232,112,.2);
  color:var(--wq-lime);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.push-ico svg{width:18px;height:18px}
.push-mid{flex:1;min-width:0}
.push-row1{display:flex;justify-content:space-between;gap:8px;margin-bottom:2px}
.push-title{font-size:13px;font-weight:800}
.push-time{font-size:11px;color:rgba(232,249,216,.55);font-weight:600}
.push-desc{font-size:13px;color:rgba(232,249,216,.8);font-weight:500}
.push-amount{color:var(--wq-lime);font-weight:800}

.top{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px 8px;
}
.top-logo{height:22px;width:auto;display:block;margin-bottom:10px}
.top-hi{font-size:15px;color:var(--wq-mid);font-weight:500}
.top-hi strong{color:var(--wq-forest);font-weight:800;text-transform:capitalize}

.icon-btn{
  width:42px;height:42px;border-radius:999px;border:1.5px solid var(--wq-line);
  background:var(--wq-white);color:var(--wq-forest);
  display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;
}
.icon-btn svg{width:18px;height:18px}
.icon-btn.dark{background:transparent;border-color:rgba(22,51,0,.15)}
.icon-btn .dot{
  position:absolute;top:10px;right:11px;width:8px;height:8px;border-radius:50%;
  background:var(--wq-lime);border:2px solid #fff;
}
.text-btn{border:0;background:transparent;color:var(--wq-forest);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.spacer{width:42px}

.balance{
  margin:8px 20px 16px;padding:22px 20px;
  background:var(--wq-forest);color:#fff;border-radius:24px;
}
.balance-lab{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(159,232,112,.8)}
.balance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 8px}
.bal-val{font-size:clamp(1.9rem,7vw,2.35rem);font-weight:800;letter-spacing:-.04em}
.bal-val.hid{filter:blur(8px);user-select:none}
.bal-eye{
  width:40px;height:40px;border-radius:999px;border:0;
  background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.bal-eye svg{width:18px;height:18px}
.balance-note{font-size:13px;color:rgba(232,249,216,.65);font-weight:500}

.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px;margin-bottom:14px}
.act{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 14px;border-radius:999px;border:1.5px solid var(--wq-line);
  background:var(--wq-white);color:var(--wq-forest);font:inherit;font-size:14px;font-weight:800;cursor:pointer;
}
.act.primary{background:var(--wq-lime);border-color:var(--wq-lime)}
.act-ic{display:flex}
.act-ic svg{width:18px;height:18px}

.alert{
  width:calc(100% - 40px);margin:0 20px 16px;padding:14px 14px;
  display:flex;align-items:center;gap:12px;text-align:left;
  background:var(--wq-white);border:1.5px solid var(--wq-line);border-radius:18px;
  color:var(--wq-mid);font:inherit;font-size:13px;font-weight:500;line-height:1.35;cursor:pointer;
}
.alert strong{color:var(--wq-forest);font-weight:800}
.alert-ic{
  width:28px;height:28px;min-width:28px;border-radius:999px;
  background:var(--wq-lime);color:var(--wq-forest);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;
}
.alert svg{width:16px;height:16px;color:var(--wq-mute);flex-shrink:0}

.loan{
  margin:0 20px 18px;padding:18px;background:var(--wq-white);
  border:1.5px solid var(--wq-line);border-radius:22px;
}
.loan-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--wq-mute);margin-bottom:10px}
.loan-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.loan-lab{font-size:13px;color:var(--wq-mute);font-weight:500}
.loan-val{font-size:22px;font-weight:800;letter-spacing:-.03em;margin-top:4px}
.loan-btn{
  border:0;background:var(--wq-forest);color:#fff;border-radius:999px;
  padding:12px 16px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;
}
.loan-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--wq-line);font-size:13px;color:var(--wq-mute);font-weight:500}
.loan-foot strong{color:var(--wq-forest);font-weight:700}

.menu-list{margin:14px 20px 4px;display:flex;flex-direction:column;gap:10px}
.mi{
  width:100%;border:1.5px solid var(--wq-line);background:#fff;border-radius:18px;
  padding:14px 14px;display:flex;align-items:center;gap:12px;text-align:left;
  cursor:pointer;font:inherit;color:var(--wq-forest);
  box-shadow:0 4px 14px rgba(22,51,0,.04);
}
.mi:active{transform:scale(.985);background:var(--wq-mist)}
.mi-ic{
  width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.mi-ic svg{width:20px;height:20px}
.mi-ic.c1{background:#DBEAFE;color:#2563EB}
.mi-ic.c2{background:#F3F4F6;color:#163300}
.mi-ic.c3{background:#FFF7ED;color:#EA580C}
.mi-bd{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mi-bd strong{font-size:15px;font-weight:800;letter-spacing:-.02em}
.mi-bd small{font-size:12px;color:var(--wq-mute);font-weight:500;line-height:1.35}
.mi-ar{
  width:28px;height:28px;border-radius:50%;background:var(--wq-mist);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--wq-mute);
}
.mi-ar svg{width:14px;height:14px}

.sheet{margin:0 20px}
.sheet-title{font-size:14px;font-weight:800;margin-bottom:10px}
.tx{
  display:flex;align-items:center;gap:12px;padding:14px 0;
  border-bottom:1px solid var(--wq-line);
}
.tx:last-child{border-bottom:0}
.tx-ic{
  width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.tx-ic svg{width:18px;height:18px}
.tx-ic.in,.tx-ic.ok{background:var(--wq-mist);color:var(--wq-forest)}
.tx-ic.wait{background:#fff7ed;color:#c2410c}
.tx-bd{flex:1;min-width:0}
.tx-t{font-size:14px;font-weight:700}
.tx-s{font-size:12px;color:var(--wq-mute);font-weight:500;margin-top:2px}
.tx-r{text-align:right}
.tx-r span{display:block;font-size:14px;font-weight:800}
.tx-r .pos{color:#15803d}
.tx-r .mute{color:var(--wq-mute);font-weight:600}
.tx-r small{display:block;font-size:11px;color:var(--wq-mute);margin-top:2px;font-weight:500}

.subhead{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;gap:10px;position:sticky;top:0;z-index:5;
  background:rgba(242,245,237,.92);backdrop-filter:blur(10px);
}
.subhead h1,.np-head h2{font-size:17px;font-weight:800;letter-spacing:-.02em}

.sa-hero{
  margin:8px 20px 14px;padding:22px 20px;border-radius:24px;
  background:var(--wq-forest);color:#fff;
}
.sa-lab{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(159,232,112,.85)}
.sa-hero-val{font-size:clamp(1.8rem,6vw,2.2rem);font-weight:800;letter-spacing:-.04em;margin:8px 0}
.sa-hint{font-size:13px;color:rgba(232,249,216,.65);font-weight:500;line-height:1.4}

.card{
  margin:0 20px 12px;padding:18px;background:var(--wq-white);
  border:1.5px solid var(--wq-line);border-radius:22px;
}
.card-title{font-size:14px;font-weight:800;margin-bottom:14px}
.methods{display:flex;flex-direction:column;gap:10px}
.method{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  padding:14px;border-radius:16px;border:1.5px solid var(--wq-line);
  background:#fff;cursor:pointer;font:inherit;color:var(--wq-forest);
}
.method.sel{border-color:var(--wq-forest);background:var(--wq-mist)}
.method-ic{
  width:40px;height:40px;border-radius:14px;background:var(--wq-mist);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.method.sel .method-ic{background:var(--wq-lime)}
.method-ic svg{width:18px;height:18px}
.method-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.method-txt strong{font-size:14px;font-weight:800}
.method-txt small{font-size:12px;color:var(--wq-mute);font-weight:500}
.radio{
  width:20px;height:20px;border-radius:50%;border:2px solid var(--wq-line);flex-shrink:0;
}
.method.sel .radio{
  border-color:var(--wq-forest);background:var(--wq-lime);
  box-shadow:inset 0 0 0 4px var(--wq-forest);
}

.field{display:block;margin-bottom:14px}
.field:last-child{margin-bottom:0}
.field > span{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--wq-mute);margin-bottom:7px}
.field em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0;color:#9aa891}
.pig-in{
  width:100%;padding:14px 16px;border:1.5px solid var(--wq-line);border-radius:14px;
  font:inherit;font-size:15px;font-weight:600;color:var(--wq-forest);background:#fff;outline:none;
}
.pig-in:focus{border-color:var(--wq-forest);box-shadow:0 0 0 4px rgba(159,232,112,.3)}

.note{
  margin:4px 20px 16px;padding:14px 16px;border-radius:16px;background:var(--wq-mist);
  font-size:13px;color:var(--wq-mid);font-weight:500;line-height:1.45;
}
.note strong{display:block;color:var(--wq-forest);font-weight:800;margin-bottom:4px}

.btn-sq{
  width:calc(100% - 40px);margin:0 20px 8px;padding:17px 18px;border:0;border-radius:999px;
  background:var(--wq-lime);color:var(--wq-forest);
  font:inherit;font-size:15px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
}
.btn-sq svg{width:18px;height:18px}

.pv{
  display:none;flex-direction:column;align-items:center;justify-content:center;
  min-height:60vh;padding:40px 24px;text-align:center;
}
.pv-sp{
  width:48px;height:48px;border-radius:50%;
  border:3px solid var(--wq-line);border-top-color:var(--wq-forest);
  animation:spin .8s linear infinite;margin-bottom:18px;
}
@keyframes spin{to{transform:rotate(360deg)}}
.pv-t{font-size:17px;font-weight:800;margin-bottom:6px}
.pv-s{font-size:14px;color:var(--wq-mute);font-weight:500}

.status .status-row,.kv{
  display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  padding:12px 0;border-bottom:1px solid var(--wq-line);font-size:14px;
}
.status .status-row:last-child,.kv:last-child{border-bottom:0}
.status span,.kv span{color:var(--wq-mute);font-weight:500}
.status strong,.kv strong{font-weight:800;text-align:right}

.notif-panel{
  display:none;position:absolute;inset:0;background:var(--wq-mist);z-index:20;
  padding-bottom:calc(var(--bn-h) + 12px);overflow:auto;
}
.notif-panel.on{display:block}
.np-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;gap:10px;
}
.np-item{
  margin:8px 20px;padding:16px;border-radius:18px;background:#fff;border:1.5px solid var(--wq-line);
  display:flex;gap:12px;align-items:center;
}
.np-ic{
  width:40px;height:40px;border-radius:14px;background:var(--wq-mist);color:var(--wq-forest);
  display:flex;align-items:center;justify-content:center;
}
.np-ic svg{width:18px;height:18px}
.np-t{font-size:14px;font-weight:800}
.np-s{font-size:12px;color:var(--wq-mute);margin-top:2px;font-weight:500}

.bn{
  position:absolute;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));
  height:60px;padding:6px;border-radius:999px;
  background:rgba(255,255,255,.94);border:1.5px solid var(--wq-line);
  box-shadow:0 10px 30px rgba(22,51,0,.08);
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;z-index:30;
  backdrop-filter:blur(12px);
}
.ni{
  border:0;background:transparent;border-radius:999px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  color:var(--wq-mute);font:inherit;font-size:11px;font-weight:700;
}
.ni svg{width:20px;height:20px}
.ni.on{background:var(--wq-mist);color:var(--wq-forest)}

.tooltip{
  position:fixed;z-index:100;background:#EA580C;color:#fff;
  font-size:12px;font-weight:600;padding:11px 16px;border-radius:12px;
  max-width:240px;pointer-events:none;text-align:center;line-height:1.4;
  box-shadow:0 8px 24px rgba(0,0,0,.2);animation:ttIn .2s ease;
}
.tooltip::after{
  content:'';position:absolute;top:-5px;left:50%;transform:translateX(-50%);
  border-left:5px solid transparent;border-right:5px solid transparent;
  border-bottom:5px solid #EA580C;
}
@keyframes ttIn{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}

/* Auth modals */
.auth-overlay[hidden]{display:none!important}
.auth-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(10,16,8,.55);
  display:flex;align-items:flex-end;justify-content:center;
  padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px));
  backdrop-filter:blur(4px);
}
.auth-sheet{
  width:100%;max-width:420px;background:#fff;border-radius:24px;
  padding:22px 20px 20px;position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:ttIn .2s ease;
}
.auth-sheet--face{max-height:92vh;overflow:auto}
.auth-close{
  position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;background:transparent;
  font-size:24px;line-height:1;color:var(--wq-mute);cursor:pointer;
}
.auth-ico{
  width:48px;height:48px;border-radius:16px;background:var(--wq-mist);color:var(--wq-forest);
  display:flex;align-items:center;justify-content:center;margin-bottom:12px;
}
.auth-ico.ok{background:#E8F9D8;color:#15803d}
.auth-ico svg{width:22px;height:22px}
.auth-sheet h2{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;margin:0 0 6px;color:var(--wq-forest)}
.auth-lead{font-size:14px;color:var(--wq-mute);font-weight:500;line-height:1.45;margin:0 0 16px}
.auth-lab{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--wq-forest);margin:0 0 6px}
.auth-pw-wrap{position:relative;margin-bottom:10px}
.auth-pw-wrap input,.auth-in{
  width:100%;padding:14px 16px;border:1.5px solid var(--wq-line);border-radius:14px;
  font:inherit;font-size:16px;font-weight:600;color:var(--wq-forest);background:#fff;outline:none;
  margin-bottom:10px;
}
.auth-pw-wrap input{padding-right:78px;margin-bottom:0}
.auth-pw-wrap input:focus,.auth-in:focus{border-color:var(--wq-forest);box-shadow:0 0 0 4px rgba(159,232,112,.3)}
.auth-toggle{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  border:0;background:transparent;color:var(--wq-mute);font-size:12px;font-weight:800;
  padding:8px 10px;cursor:pointer;font-family:inherit;
}
.auth-err{color:#b42318;font-size:13px;font-weight:600;margin:8px 0 4px}
.auth-err[hidden]{display:none!important}
.auth-cta{
  width:100%;margin-top:10px;border:0;border-radius:999px;padding:15px 18px;
  background:var(--wq-lime);color:var(--wq-forest);font:inherit;font-size:15px;font-weight:800;cursor:pointer;
}
.auth-cta:disabled{opacity:.45}
.auth-sec{
  border:1.5px solid var(--wq-forest);background:#fff;color:var(--wq-forest);
  border-radius:999px;padding:14px 18px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;
}
.auth-link{
  display:block;width:100%;margin-top:12px;border:0;background:transparent;
  color:var(--wq-forest);font:inherit;font-size:14px;font-weight:700;text-decoration:underline;
  cursor:pointer;padding:8px;
}
.auth-frame{
  width:200px;height:260px;margin:8px auto 10px;border-radius:50% / 42%;overflow:hidden;
  background:var(--wq-forest);border:3px dashed rgba(159,232,112,.55);
}
.auth-frame.ok{border-style:solid;border-color:var(--wq-lime)}
.auth-frame video,.auth-frame img{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1)}
.auth-hint{text-align:center;font-size:13px;color:var(--wq-mute);font-weight:500;margin:0 0 12px}
.auth-face-actions{display:flex;gap:10px}
.auth-face-actions .auth-cta,.auth-face-actions .auth-sec{flex:1;margin-top:0}
