.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.75rem;
  border-radius:2px;
  border:1px solid transparent;
  font-weight:700;
  font-size:var(--fs-14);
  letter-spacing:.01em;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
  line-height:1;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--green-600);color:#fff;}
.btn-primary:hover{background:var(--green-700);}
.btn-amber{background:var(--amber-600);color:#fff;}
.btn-amber:hover{background:var(--amber-800);}
.btn-outline{background:transparent;border-color:var(--green-600);color:var(--green-700);}
.btn-outline:hover{background:var(--green-600);color:#fff;}
.btn-ghost{background:transparent;color:var(--ink-700);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--green-600);color:var(--green-700);}
.btn-sm{padding:.5rem 1.1rem;font-size:var(--fs-12);}
.btn-lg{padding:1.05rem 2.25rem;font-size:var(--fs-16);}
.btn-block{width:100%;}
.btn-danger{background:var(--danger);color:#fff;}
.btn[disabled]{opacity:.55;cursor:not-allowed;}

.pill{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.35rem .9rem;border-radius:999px;
  background:var(--green-50);color:var(--green-700);
  font-size:var(--fs-12);font-weight:700;border:1px solid var(--line-soft);
}
.pill-amber{background:#fff3e2;color:var(--amber-800);border-color:#ffe1b3;}

.filter-bar{
  display:flex;flex-wrap:wrap;gap:.6rem;
  padding:1rem;background:var(--paper-dim);border:1px solid var(--line);border-radius:var(--radius-md);
}
.filter-chip{
  padding:.5rem 1rem;border-radius:999px;border:1px solid var(--line);
  background:#fff;font-size:var(--fs-14);font-weight:600;color:var(--ink-700);
}
.filter-chip[aria-pressed="true"]{background:var(--green-600);border-color:var(--green-600);color:#fff;}

.toggle-group{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;}
.toggle-group button{
  padding:.5rem 1.1rem;border:0;background:#fff;font-weight:700;font-size:var(--fs-12);color:var(--ink-500);
}
.toggle-group button[aria-pressed="true"]{background:var(--green-600);color:#fff;}

.currency-switch{
  display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.25rem;background:#fff;
}
.currency-switch button{
  border:0;background:transparent;padding:.3rem .75rem;border-radius:999px;font-size:var(--fs-12);font-weight:700;color:var(--ink-500);
}
.currency-switch button[aria-pressed="true"]{background:var(--ink-900);color:#fff;}

.select-field{
  width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink-700);
}
.text-field{
  width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink-700);
}
.text-field:focus,.select-field:focus{border-color:var(--green-600);}
.field-label{display:block;font-size:var(--fs-14);font-weight:700;color:var(--ink-900);margin-bottom:.4rem;}
.field-group{margin-bottom:1.1rem;}
.field-error{color:var(--danger);font-size:var(--fs-12);margin-top:.3rem;display:block;}
