/* LOP Streak frontend button design system — v2.8.618 */
body.lopsp-public-body:not(.lop-admin-portal-body){
  --lop-btn-primary:#2563eb;
  --lop-btn-primary-hover:#1d4ed8;
  --lop-btn-primary-active:#1e40af;
  --lop-btn-secondary-bg:#ffffff;
  --lop-btn-secondary-hover:#eff6ff;
  --lop-btn-secondary-text:#1d4ed8;
  --lop-btn-secondary-border:#bfdbfe;
  --lop-btn-success:#16a34a;
  --lop-btn-success-hover:#15803d;
  --lop-btn-success-active:#166534;
  --lop-btn-danger-bg:#fff1f2;
  --lop-btn-danger-hover:#ffe4e6;
  --lop-btn-danger-text:#be123c;
  --lop-btn-danger-border:#fda4af;
  --lop-btn-ghost-hover:#f1f5f9;
  --lop-btn-ghost-text:#475569;
  --lop-btn-disabled-bg:#e2e8f0;
  --lop-btn-disabled-text:#94a3b8;
  --lop-btn-focus:rgba(37,99,235,.28);
  --lop-btn-radius:12px;
  --lop-btn-height:44px;
  --lop-btn-shadow:0 8px 20px rgba(37,99,235,.16);
}

body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn{
  min-width:0!important;
  min-height:var(--lop-btn-height)!important;
  height:auto!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:10px 16px!important;
  border:1px solid transparent!important;
  border-radius:var(--lop-btn-radius)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  cursor:pointer!important;
  user-select:none!important;
  vertical-align:middle!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn > *{color:inherit!important;}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn:hover:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  transform:translateY(-1px)!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn:active:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  transform:translateY(0) scale(.985)!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn:focus-visible{
  outline:3px solid var(--lop-btn-focus)!important;
  outline-offset:2px!important;
}

body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="primary"]{
  background:var(--lop-btn-primary)!important;
  border-color:var(--lop-btn-primary)!important;
  color:#fff!important;
  box-shadow:var(--lop-btn-shadow)!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="primary"]:hover:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  background:var(--lop-btn-primary-hover)!important;
  border-color:var(--lop-btn-primary-hover)!important;
  color:#fff!important;
  box-shadow:0 12px 25px rgba(37,99,235,.22)!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="primary"]:active:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  background:var(--lop-btn-primary-active)!important;
  border-color:var(--lop-btn-primary-active)!important;
}

body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="secondary"]{
  background:var(--lop-btn-secondary-bg)!important;
  border-color:var(--lop-btn-secondary-border)!important;
  color:var(--lop-btn-secondary-text)!important;
  box-shadow:0 5px 14px rgba(37,99,235,.08)!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="secondary"]:hover:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  background:var(--lop-btn-secondary-hover)!important;
  border-color:#93c5fd!important;
  color:#1e40af!important;
  box-shadow:0 9px 20px rgba(37,99,235,.13)!important;
}

body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="success"]{
  background:var(--lop-btn-success)!important;
  border-color:var(--lop-btn-success)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(22,163,74,.18)!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="success"]:hover:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  background:var(--lop-btn-success-hover)!important;
  border-color:var(--lop-btn-success-hover)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(22,163,74,.24)!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="success"]:active:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  background:var(--lop-btn-success-active)!important;
  border-color:var(--lop-btn-success-active)!important;
}

body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="danger"]{
  background:var(--lop-btn-danger-bg)!important;
  border-color:var(--lop-btn-danger-border)!important;
  color:var(--lop-btn-danger-text)!important;
  box-shadow:none!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="danger"]:hover:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  background:var(--lop-btn-danger-hover)!important;
  border-color:#fb7185!important;
  color:#9f1239!important;
  box-shadow:0 8px 18px rgba(190,18,60,.12)!important;
}

body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="ghost"]{
  background:transparent!important;
  border-color:transparent!important;
  color:var(--lop-btn-ghost-text)!important;
  box-shadow:none!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[data-lop-btn-role="ghost"]:hover:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  background:var(--lop-btn-ghost-hover)!important;
  border-color:#e2e8f0!important;
  color:#0f172a!important;
  box-shadow:none!important;
}

body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn.is-compact{
  min-height:36px!important;
  padding:7px 11px!important;
  border-radius:10px!important;
  font-size:12.5px!important;
  gap:5px!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn.is-wide{width:100%!important;}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn:disabled,
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[aria-disabled="true"],
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn.is-disabled{
  background:var(--lop-btn-disabled-bg)!important;
  border-color:var(--lop-btn-disabled-bg)!important;
  color:var(--lop-btn-disabled-text)!important;
  box-shadow:none!important;
  opacity:1!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
  transform:none!important;
  filter:none!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn.is-loading,
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[aria-busy="true"]{
  position:relative!important;
  pointer-events:none!important;
  opacity:.78!important;
  cursor:wait!important;
}
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn.is-loading::after,
body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[aria-busy="true"]::after{
  content:"";
  width:14px;
  height:14px;
  flex:0 0 14px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:999px;
  animation:lopUiButtonSpin .7s linear infinite;
}
@keyframes lopUiButtonSpin{to{transform:rotate(360deg)}}

@media(max-width:620px){
  body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn{min-height:44px!important;padding:10px 14px!important;}
  body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn.is-compact{min-height:38px!important;padding:8px 10px!important;}
}
@media(prefers-reduced-motion:reduce){
  body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn{transition:none!important;}
  body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn:hover,
  body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn:active{transform:none!important;}
  body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn.is-loading::after,
  body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn[aria-busy="true"]::after{animation-duration:1.4s;}
}
@media(forced-colors:active){
  body.lopsp-public-body:not(.lop-admin-portal-body) .lop-ui-btn{border:1px solid ButtonText!important;box-shadow:none!important;forced-color-adjust:auto;}
}
