:root{
  --wa-green:#075E54;
  --wa-green-2:#128C7E;
  --wa-accent:#25D366;
  --wa-bg:#ECE5DD;
  --wa-card:#FFFFFF;
  --wa-text:#111827;
  --wa-muted:#6B7280;
  --wa-border:#E5E7EB;
}

*{box-sizing:border-box}
html,body{padding:0;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--wa-text);background:#f3f4f6}
a{text-decoration:none;color:inherit}

.wa-app{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.wa-topbar{
  background:var(--wa-green);
  color:#fff;
  padding:14px 14px 12px;
  position:sticky;
  top:0;
  z-index:20;
}

.wa-topbar .row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.wa-title{
  font-weight:700;
  letter-spacing:.2px;
  font-size:16px;
}

.wa-subtitle{
  font-size:12px;
  opacity:.85;
  margin-top:2px;
}

.wa-wrap{
  width:100%;
  max-width:520px;
  margin:0 auto;
  padding:12px;
}

.wa-card{
  background:var(--wa-card);
  border:1px solid var(--wa-border);
  border-radius:16px;
  padding:14px;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}

.wa-card + .wa-card{margin-top:12px}

.wa-balance{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.wa-balance .amount{
  font-size:22px;
  font-weight:800;
}

.wa-balance .label{
  color:var(--wa-muted);
  font-size:12px;
  margin-top:2px;
}

.wa-actions{
  display:flex;
  gap:10px;
  margin-top:12px;
}

.wa-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--wa-border);
  background:#fff;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  width:100%;
}

.wa-btn.primary{
  background:var(--wa-accent);
  color:#073b22;
  border-color:rgba(0,0,0,.06);
}

.wa-btn.dark{
  background:var(--wa-green-2);
  color:#fff;
  border-color:rgba(255,255,255,.12);
}

.wa-input{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--wa-border);
  outline:none;
  font-size:14px;
  background:#fff;
}

.wa-input:focus{
  border-color:rgba(18,140,126,.45);
  box-shadow:0 0 0 3px rgba(18,140,126,.12);
}

.wa-label{
  font-size:12px;
  color:var(--wa-muted);
  margin:0 0 6px 2px;
}

.wa-list{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.wa-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--wa-border);
  border-radius:14px;
  background:#fff;
}

.wa-row .left{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.wa-row .title{
  font-weight:800;
  font-size:13px;
}

.wa-row .sub{
  font-size:12px;
  color:var(--wa-muted);
}

.badge{
  font-size:11px;
  padding:6px 10px;
  border-radius:999px;
  background:#f3f4f6;
  border:1px solid var(--wa-border);
  font-weight:700;
}

.badge.pending{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.badge.approved{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.badge.rejected{background:#fef2f2;border-color:#fecaca;color:#991b1b}

.wa-alert{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--wa-border);
  background:#fff;
  font-size:13px;
}

.wa-alert.success{
  background:#ecfdf5;
  border-color:#a7f3d0;
  color:#065f46;
}
.wa-alert.error{
  background:#fef2f2;
  border-color:#fecaca;
  color:#991b1b;
}

.wa-footer-space{height:18px}
