:root{
  --btn-primary:#1d4ed8;
  --btn-primary-dark:#1e40af;
  --btn-secondary:#475569;
  --btn-secondary-dark:#334155;
  --btn-success:#15803d;
  --btn-success-light:#22c55e;
  --btn-warning:#d97706;
  --btn-warning-light:#f59e0b;
  --btn-danger:#dc2626;
  --btn-danger-light:#ef4444;
  --btn-light-text:#1e3a8a;
  --btn-light-border:#cdd8e6;
  --btn-light-start:#ffffff;
  --btn-light-end:#e5edf7;
}

.btn{
  border:none;
  border-radius:999px;
  padding:12px 18px;
  min-height:46px;
  font-weight:800;
  cursor:pointer;
  font-size:14px;
  line-height:1;
  letter-spacing:.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,23,42,.12);
  filter:brightness(1.01);
}

.btn:active{
  transform:translateY(0);
  box-shadow:0 6px 14px rgba(15,23,42,.08);
}

.btn:focus-visible{
  outline:3px solid rgba(29,78,216,.18);
  outline-offset:2px;
}

.btn:disabled{
  opacity:.7;
  cursor:not-allowed;
  transform:none;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.btn-primary{
  background:linear-gradient(180deg,var(--btn-primary) 0%,var(--btn-primary-dark) 100%);
  color:#fff;
  border:1px solid rgba(37,99,235,.18);
}

.btn-primary:hover{
  background:linear-gradient(180deg,#316df0 0%,var(--btn-primary-dark) 100%);
}

.btn-secondary{
  background:linear-gradient(180deg,var(--btn-secondary) 0%,var(--btn-secondary-dark) 100%);
  color:#fff;
  border:1px solid rgba(51,65,85,.18);
}

.btn-success{
  background:linear-gradient(180deg,var(--btn-success-light) 0%,var(--btn-success) 100%);
  color:#fff;
  border:1px solid rgba(21,128,61,.18);
}

.btn-warning{
  background:linear-gradient(180deg,var(--btn-warning-light) 0%,var(--btn-warning) 100%);
  color:#fff;
  border:1px solid rgba(217,119,6,.18);
}

.btn-danger{
  background:linear-gradient(180deg,var(--btn-danger-light) 0%,var(--btn-danger) 100%);
  color:#fff;
  border:1px solid rgba(220,38,38,.18);
}

.btn-light{
  background:linear-gradient(180deg,var(--btn-light-start) 0%,var(--btn-light-end) 100%);
  color:var(--btn-light-text);
  border:1px solid var(--btn-light-border);
  box-shadow:0 6px 16px rgba(148,163,184,.10);
}

.btn-light:hover{
  background:linear-gradient(180deg,#ffffff 0%,#dfe8f3 100%);
}

.btn-pill{
  border-radius:999px;
  padding-inline:20px;
}

.btn.is-active{
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45),0 10px 24px rgba(37,99,235,.18);
}

.verify-btn{
  border:none;
  border-radius:999px;
  padding:12px 18px;
  min-height:46px;
  font-weight:800;
  cursor:pointer;
  font-size:14px;
  line-height:1;
  letter-spacing:.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.verify-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,23,42,.12);
  filter:brightness(1.01);
}

.verify-btn.btn-success{
  background:linear-gradient(180deg,var(--btn-success-light) 0%,var(--btn-success) 100%);
  color:#fff;
  border:1px solid rgba(21,128,61,.18);
}

.verify-btn.pending{
  background:linear-gradient(180deg,var(--btn-warning-light) 0%,var(--btn-warning) 100%);
  color:#fff;
  border:1px solid rgba(217,119,6,.18);
}
