
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.u-hidden{
  display:none !important;
}

.u-block{
  display:block !important;
}

.u-inline{
  display:inline !important;
}

.u-inlineBlock{
  display:inline-block !important;
}

.u-flex{
  display:flex !important;
}

.u-inlineFlex{
  display:inline-flex !important;
}

.u-grid{
  display:grid !important;
}

.u-center{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.u-flexBetween{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}

.u-flexStart{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.u-flexEnd{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}

.u-wrap{
  flex-wrap:wrap !important;
}

.u-nowrap{
  flex-wrap:nowrap !important;
}

.u-gap-8{ gap:8px !important; }
.u-gap-10{ gap:10px !important; }
.u-gap-12{ gap:12px !important; }
.u-gap-14{ gap:14px !important; }
.u-gap-16{ gap:16px !important; }
.u-gap-20{ gap:20px !important; }
.u-gap-24{ gap:24px !important; }
.u-gap-32{ gap:32px !important; }

.u-stack-8 > * + *{ margin-top:8px !important; }
.u-stack-12 > * + *{ margin-top:12px !important; }
.u-stack-16 > * + *{ margin-top:16px !important; }
.u-stack-20 > * + *{ margin-top:20px !important; }
.u-stack-24 > * + *{ margin-top:24px !important; }
.u-stack-32 > * + *{ margin-top:32px !important; }

.u-grid-2{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:24px !important;
}

.u-grid-3{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:24px !important;
}

.u-grid-4{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:20px !important;
}

.u-textLeft{ text-align:left !important; }
.u-textCenter{ text-align:center !important; }
.u-textRight{ text-align:right !important; }

.u-text{
  color:var(--pv-text) !important;
}

.u-muted{
  color:var(--pv-muted) !important;
}

.u-muted2{
  color:var(--pv-muted-2) !important;
}

.u-accent{
  color:var(--pv-accent-2) !important;
}

.u-bgCard{
  background:var(--pv-panel) !important;
}

.u-border{
  border:1px solid var(--pv-line) !important;
}

.u-rounded-sm{ border-radius:12px !important; }
.u-rounded-md{ border-radius:16px !important; }
.u-rounded-lg{ border-radius:20px !important; }
.u-rounded-xl{ border-radius:24px !important; }

.u-shadow{
  box-shadow:var(--pv-shadow) !important;
}

.u-wFull{ width:100% !important; }
.u-maxWFull{ max-width:100% !important; }

.u-mt-0{ margin-top:0 !important; }
.u-mt-8{ margin-top:8px !important; }
.u-mt-12{ margin-top:12px !important; }
.u-mt-16{ margin-top:16px !important; }
.u-mt-20{ margin-top:20px !important; }
.u-mt-24{ margin-top:24px !important; }
.u-mt-32{ margin-top:32px !important; }
.u-mt-40{ margin-top:40px !important; }

.u-mb-0{ margin-bottom:0 !important; }
.u-mb-8{ margin-bottom:8px !important; }
.u-mb-12{ margin-bottom:12px !important; }
.u-mb-16{ margin-bottom:16px !important; }
.u-mb-20{ margin-bottom:20px !important; }
.u-mb-24{ margin-bottom:24px !important; }
.u-mb-32{ margin-bottom:32px !important; }

.u-p-0{ padding:0 !important; }
.u-p-12{ padding:12px !important; }
.u-p-16{ padding:16px !important; }
.u-p-20{ padding:20px !important; }
.u-p-24{ padding:24px !important; }
.u-p-32{ padding:32px !important; }

.u-relative{ position:relative !important; }
.u-absolute{ position:absolute !important; }

.u-overflowHidden{ overflow:hidden !important; }
.u-overflowAuto{ overflow:auto !important; }

.u-mono{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
}

.u-uppercase{
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
}

.u-ellipsis{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.u-dividerTop{
  border-top:1px solid var(--pv-line) !important;
}

.u-dividerBottom{
  border-bottom:1px solid var(--pv-line) !important;
}