:root {
  --aff-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --aff-dur: 0.45s;
}

body,
.layout-menu,
.layout-navbar,
.bg-menu-theme,
.bg-navbar-theme,
.bg-footer-theme,
.card,
.table,
.form-control,
.form-select,
.dropdown-menu,
.menu-link,
.nav-link,
.app-brand-text,
.aff-brand__plate,
.aff-brand__glyph,
.aff-brand__word,
.btn,
.aff-code-box,
.alert,
.badge,
.content-footer {
  transition:
    background-color var(--aff-dur) var(--aff-ease),
    color var(--aff-dur) var(--aff-ease),
    border-color var(--aff-dur) var(--aff-ease),
    box-shadow var(--aff-dur) var(--aff-ease),
    fill var(--aff-dur) var(--aff-ease),
    stroke var(--aff-dur) var(--aff-ease),
    opacity var(--aff-dur) var(--aff-ease);
}

html.aff-theme-animating body,
html.aff-theme-animating .layout-menu,
html.aff-theme-animating .layout-navbar,
html.aff-theme-animating .card,
html.aff-theme-animating .table,
html.aff-theme-animating .form-control,
html.aff-theme-animating .btn,
html.aff-theme-animating .menu-link {
  transition: none !important;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}

html[data-theme-transition="to-light"]::view-transition-old(root) {
  z-index: 1;
}
html[data-theme-transition="to-dark"]::view-transition-new(root) {
  z-index: 1;
}

::view-transition-group(root) {
  animation-duration: 560ms;
}

.aff-theme-switch {
  display: inline-flex;
  align-items: center;
  padding: 2px;
  gap: 2px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
}
.aff-theme-switch__btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: #555;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1;
  padding: .45rem .75rem;
  border-radius: 999px;
  cursor: pointer;
}
.aff-theme-switch__btn.is-active {
  background: #111;
  color: #fff;
}
.aff-theme-switch__btn:focus-visible {
  outline: 2px solid #111;
  outline-offset: 1px;
}
html.dark-style .aff-theme-switch {
  border-color: #333;
  background: #151515;
}
html.dark-style .aff-theme-switch__btn {
  color: #bbb;
}
html.dark-style .aff-theme-switch__btn.is-active {
  background: #f2f2f2;
  color: #111;
}
.aff-pass-toggle {
  min-width: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #555;
  background: transparent;
  border-left: 0;
}
.aff-pass-toggle .aff-pass-icon { display: none; }
.aff-pass-toggle .aff-pass-icon--hide { display: block; }
.aff-pass-toggle.is-shown .aff-pass-icon--hide { display: none; }
.aff-pass-toggle.is-shown .aff-pass-icon--show { display: block; }
html.dark-style .aff-pass-toggle { color: #ddd; }

.aff-theme-btn {
  display: none;
}

html.dark-style {
  color-scheme: dark;
}
html.dark-style body {
  background: #000 !important;
  color: #f2f2f2;
}
html.dark-style .layout-wrapper,
html.dark-style .content-wrapper,
html.dark-style .container-p-y,
html.dark-style .layout-page {
  background: transparent;
}
html.dark-style .bg-menu-theme,
html.dark-style .layout-menu {
  background: #0a0a0a !important;
  box-shadow: none !important;
  border-right: 1px solid #222;
}
html.dark-style .bg-navbar-theme,
html.dark-style .layout-navbar {
  background-color: #0a0a0a !important;
  box-shadow: 0 1px 0 #1a1a1a !important;
}
html.dark-style .bg-footer-theme,
html.dark-style .content-footer {
  background-color: #000 !important;
  color: #a0a0a0 !important;
  border-top: 1px solid #1a1a1a;
}
html.dark-style .card,
html.dark-style .authentication-inner .card {
  background: #111 !important;
  border-color: #2a2a2a !important;
  color: #f2f2f2 !important;
  box-shadow: none !important;
}
html.dark-style .card-header,
html.dark-style .card-footer {
  background: transparent !important;
  border-color: #2a2a2a !important;
  color: #f2f2f2 !important;
}
html.dark-style .card-title,
html.dark-style .card-header h5,
html.dark-style h1,
html.dark-style h2,
html.dark-style h3,
html.dark-style h4,
html.dark-style h5,
html.dark-style h6,
html.dark-style .modal-title {
  color: #f2f2f2 !important;
}
html.dark-style .card-body,
html.dark-style .card-body p,
html.dark-style .card-body li,
html.dark-style .card-body strong {
  color: #e8e8e8;
}
html.dark-style p,
html.dark-style li,
html.dark-style label,
html.dark-style .form-label,
html.dark-style small,
html.dark-style .small {
  color: #e6e6e6;
}
html.dark-style .text-muted,
html.dark-style small.text-muted,
html.dark-style .small.text-muted {
  color: #9a9a9a !important;
}
html.dark-style .text-body,
html.dark-style .app-brand-text {
  color: #f2f2f2 !important;
}
html.dark-style .table,
html.dark-style .form-control,
html.dark-style .form-select,
html.dark-style textarea.form-control,
html.dark-style .dropdown-menu {
  background-color: #111 !important;
  color: #f2f2f2 !important;
  border-color: #2a2a2a !important;
}
html.dark-style .form-control::placeholder,
html.dark-style .form-select::placeholder,
html.dark-style textarea.form-control::placeholder {
  color: #777 !important;
  opacity: 1;
}
html.dark-style .table > :not(caption) > * > * {
  background-color: transparent !important;
  color: #f2f2f2 !important;
  border-bottom-color: #222 !important;
}
html.dark-style .table thead th,
html.dark-style .table > thead > tr > th {
  color: #cfcfcf !important;
  border-bottom-color: #333 !important;
}
html.dark-style .table-hover > tbody > tr:hover > * {
  background-color: #1a1a1a !important;
  color: #fff !important;
}
html.dark-style .form-control:focus,
html.dark-style .form-select:focus,
html.dark-style textarea.form-control:focus {
  background-color: #161616 !important;
  color: #fff !important;
  border-color: #fff !important;
  box-shadow: 0 0 0 0.15rem rgba(255, 255, 255, 0.12) !important;
}
html.dark-style .menu-link,
html.dark-style .navbar-nav .nav-link,
html.dark-style .menu-icon {
  color: #e6e6e6 !important;
}
html.dark-style .menu-item.active > .menu-link {
  color: #fff !important;
  background: #1a1a1a !important;
}
html.dark-style .menu-item.active > .menu-link .menu-icon {
  color: #fff !important;
}
html.dark-style .menu-item:hover > .menu-link {
  background: #141414 !important;
  color: #fff !important;
}
html.dark-style .dropdown-item {
  color: #e6e6e6 !important;
}
html.dark-style .dropdown-item:hover,
html.dark-style .dropdown-item:focus,
html.dark-style .dropdown-item.active {
  background: #1a1a1a !important;
  color: #fff !important;
}
html.dark-style .btn-primary {
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}
html.dark-style .btn-primary:hover,
html.dark-style .btn-primary:focus,
html.dark-style .btn-primary:active {
  background: #e8e8e8 !important;
  border-color: #e8e8e8 !important;
  color: #000 !important;
}
html.dark-style .btn-outline-secondary,
html.dark-style .btn-outline-primary,
html.dark-style .btn-outline-danger,
html.dark-style .btn-outline-warning,
html.dark-style .btn-outline-info,
html.dark-style .btn-outline-success {
  color: #e6e6e6 !important;
  border-color: #444 !important;
  background: transparent !important;
}
html.dark-style .btn-outline-secondary:hover,
html.dark-style .btn-outline-secondary.active,
html.dark-style .btn-outline-primary:hover,
html.dark-style .btn-outline-primary.active,
html.dark-style .btn-outline-danger:hover,
html.dark-style .btn-outline-warning:hover,
html.dark-style .btn-outline-info:hover,
html.dark-style .btn-outline-success:hover {
  background: #1a1a1a !important;
  border-color: #666 !important;
  color: #fff !important;
}
html.dark-style .btn-link {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
html.dark-style .btn-link:hover {
  color: #ccc !important;
}
html.dark-style .btn-secondary {
  background: #222 !important;
  border-color: #333 !important;
  color: #f2f2f2 !important;
}
html.dark-style .alert,
html.dark-style .alert-primary,
html.dark-style .alert-secondary,
html.dark-style .alert-success,
html.dark-style .alert-info,
html.dark-style .alert-warning,
html.dark-style .alert-danger,
html.dark-style .alert-dark,
html.dark-style .alert-gray {
  background: #1a1a1a !important;
  color: #f2f2f2 !important;
  border: 1px solid #3a3a3a !important;
}
html.dark-style .alert a,
html.dark-style .alert .alert-link {
  color: #fff !important;
  text-decoration: underline;
}
html.dark-style .badge,
html.dark-style .bg-label-primary,
html.dark-style .bg-label-success,
html.dark-style .bg-label-warning,
html.dark-style .bg-label-danger,
html.dark-style .bg-label-info,
html.dark-style .bg-label-secondary {
  background: #1a1a1a !important;
  color: #f2f2f2 !important;
}
html.dark-style .text-primary,
html.dark-style .text-success,
html.dark-style .text-info,
html.dark-style .text-warning,
html.dark-style .text-danger,
html.dark-style .text-secondary {
  color: #fff !important;
}
html.dark-style .avatar-initial,
html.dark-style .avatar-initial.bg-label-primary,
html.dark-style .avatar-initial.bg-label-success,
html.dark-style .avatar-initial.bg-label-info,
html.dark-style .avatar-initial.bg-label-warning {
  background: #1a1a1a !important;
  color: #fff !important;
}
html.dark-style code,
html.dark-style pre {
  color: #fff !important;
  background: #1a1a1a !important;
}
html.dark-style .aff-code-box {
  background: #161616 !important;
  border: 1px dashed #444 !important;
  color: #fff !important;
}
html.dark-style hr,
html.dark-style .dropdown-divider,
html.dark-style .border,
html.dark-style .border-top,
html.dark-style .border-bottom {
  border-color: #2a2a2a !important;
  opacity: 1;
}
html.dark-style .modal-content {
  background: #111 !important;
  color: #f2f2f2 !important;
  border: 1px solid #2a2a2a !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.65) !important;
}
html.dark-style .modal-header,
html.dark-style .modal-body,
html.dark-style .modal-footer {
  background: transparent !important;
  color: #f2f2f2 !important;
  border-color: #2a2a2a !important;
}
html.dark-style .modal-body p,
html.dark-style .modal-body span,
html.dark-style .modal-body strong {
  color: #e8e8e8 !important;
}
html.dark-style .modal-backdrop {
  background: #000 !important;
}
html.dark-style .modal .btn-close {
  background-color: #1a1a1a !important;
  box-shadow: none !important;
  filter: invert(1);
  opacity: 1;
}
html.dark-style .list-group-item {
  background: #111 !important;
  color: #f2f2f2 !important;
  border-color: #2a2a2a !important;
}
html.dark-style .pagination .page-link {
  background: #111 !important;
  color: #e6e6e6 !important;
  border-color: #2a2a2a !important;
}
html.dark-style .pagination .page-item.active .page-link {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}
html.dark-style .nav-tabs .nav-link {
  color: #bdbdbd !important;
}
html.dark-style .nav-tabs .nav-link.active {
  color: #fff !important;
  background: #111 !important;
  border-color: #2a2a2a !important;
}
html.dark-style .progress {
  background: #1a1a1a !important;
}
html.dark-style .progress-bar {
  background: #fff !important;
}
html.dark-style .form-check-input {
  width: 1.15em;
  height: 1.15em;
  background-color: #1f1f1f !important;
  border: 2px solid #a3a3a3 !important;
  background-image: none !important;
  box-shadow: none !important;
}
html.dark-style .form-check-input:hover {
  border-color: #d4d4d4 !important;
}
html.dark-style .form-check-input:focus {
  border-color: #8b8eff !important;
  box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.35) !important;
}
html.dark-style .form-check-input:checked {
  background-color: #696cff !important;
  border-color: #696cff !important;
}
html.dark-style .form-check-input:checked[type="checkbox"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}
html.dark-style .form-check-input:checked[type="radio"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e") !important;
}
html.dark-style .form-check-input[type="checkbox"]:indeterminate {
  background-color: #696cff !important;
  border-color: #696cff !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e") !important;
}
html.dark-style .form-check-input:disabled {
  opacity: 0.45;
  border-color: #555 !important;
}
html.dark-style .form-check-label {
  color: #f0f0f0 !important;
  cursor: pointer;
}
html.dark-style .form-check-input:disabled ~ .form-check-label {
  color: #888 !important;
  cursor: not-allowed;
}
html.dark-style .form-switch .form-check-input {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23a3a3a3'/%3e%3c/svg%3e") !important;
  border-color: #777 !important;
  background-color: #2a2a2a !important;
}
html.dark-style .form-switch .form-check-input:checked {
  background-color: #696cff !important;
  border-color: #696cff !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
}
html.dark-style .input-group-text {
  background: #1a1a1a !important;
  color: #e6e6e6 !important;
  border-color: #2a2a2a !important;
}
.form-password-toggle .input-group-text {
  cursor: pointer;
  user-select: none;
}
html.dark-style .border.rounded,
html.dark-style .border.rounded.p-3 {
  border-color: #3a3a3a !important;
  background-color: rgba(255, 255, 255, 0.03);
}
html.dark-style .bg-label-secondary,
html.dark-style .bg-label-secondary.border {
  background-color: #1c1c1c !important;
  color: #e8e8e8 !important;
  border-color: #333 !important;
}
html.dark-style .form-control:disabled,
html.dark-style .form-select:disabled,
html.dark-style .form-control[readonly] {
  background-color: #1a1a1a !important;
  color: #9a9a9a !important;
  opacity: 1;
}
html.dark-style .form-select option {
  background-color: #111;
  color: #f2f2f2;
}
html.dark-style .form-control:-webkit-autofill,
html.dark-style .form-control:-webkit-autofill:hover,
html.dark-style .form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: #f2f2f2;
  box-shadow: 0 0 0 1000px #111 inset;
  transition: background-color 99999s ease-out;
}
html.dark-style .accordion-item,
html.dark-style .accordion-button {
  background-color: #111 !important;
  color: #f2f2f2 !important;
  border-color: #2a2a2a !important;
}
html.dark-style .accordion-button:not(.collapsed) {
  background-color: #1a1a1a !important;
  color: #fff !important;
  box-shadow: none !important;
}
html.dark-style .accordion-button::after {
  filter: invert(1);
}
html.dark-style details summary {
  color: #e8e8e8;
}
html.dark-style .offcanvas,
html.dark-style .offcanvas-body {
  background-color: #111 !important;
  color: #f2f2f2 !important;
}
html.dark-style .tooltip-inner {
  background-color: #2a2a2a;
  color: #fff;
}
html.dark-style .breadcrumb-item,
html.dark-style .breadcrumb-item a {
  color: #9a9a9a !important;
}
html.dark-style .breadcrumb-item.active {
  color: #f2f2f2 !important;
}
html.dark-style .authentication-wrapper {
  background: #000;
}

.aff-auth-cta {
  margin-top: 1.5rem;
  padding: 1.25rem 1.15rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.01) 100%);
  text-align: center;
}
.aff-auth-cta__label {
  display: inline-block;
  margin-bottom: 0.5rem;
  padding: 0.2rem 0.55rem;
  border-radius: 0.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #696cff;
  background: rgba(105, 108, 255, 0.12);
}
.aff-auth-cta__title {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.35;
}
.aff-auth-cta__text {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #6b7280;
}
html.dark-style .aff-auth-cta {
  border-color: #2a2a2a;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
}
html.dark-style .aff-auth-cta__label {
  color: #a5a7ff;
  background: rgba(105, 108, 255, 0.18);
}
html.dark-style .aff-auth-cta__title {
  color: #f5f5f5;
}
html.dark-style .aff-auth-cta__text {
  color: #9a9a9a;
}
html.dark-style a:not(.btn):not(.menu-link):not(.nav-link):not(.dropdown-item):not(.page-link) {
  color: #fff;
}
html.dark-style #aff-2fa-qr {
  background: #fff !important;
  border-color: #333 !important;
}
html.dark-style .apexcharts-tooltip,
html.dark-style .apexcharts-menu {
  background: #111 !important;
  color: #f2f2f2 !important;
  border-color: #2a2a2a !important;
}
html.dark-style .apexcharts-text tspan,
html.dark-style .apexcharts-legend-text {
  fill: #9a9a9a !important;
  color: #9a9a9a !important;
}

.aff-brand {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.aff-brand__svg {
  height: 2rem;
  width: auto;
  display: block;
}
.aff-brand__svg--full {
  height: 2rem;
  width: 8.75rem;
}
.aff-brand--mark .aff-brand__svg {
  height: 2rem;
  width: 2rem;
}
.aff-brand__plate {
  fill: #111827;
  transition: fill var(--aff-dur) var(--aff-ease);
}
.aff-brand__glyph {
  fill: #ffffff;
  transition: fill var(--aff-dur) var(--aff-ease);
}
.aff-brand__word {
  fill: #111827;
  font-family: "Public Sans", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.18em;
  transition: fill var(--aff-dur) var(--aff-ease);
}
html.dark-style .aff-brand__plate {
  fill: #ffffff;
}
html.dark-style .aff-brand__glyph {
  fill: #111827;
}
html.dark-style .aff-brand__word {
  fill: #ffffff;
}
.layout-menu .app-brand-link .aff-brand {
  margin-inline-start: .25rem;
}

.aff-code-box {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1.05rem;
  word-break: break-all;
  padding: .75rem 1rem;
  border-radius: .375rem;
  background: rgba(0, 0, 0, 0.04);
  border: 1px dashed rgba(0, 0, 0, 0.2);
}
#aff-ref-prefix {
  max-width: min(58%, 22rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .8rem;
}
.aff-meter {
  height: 6px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.aff-meter--sm { height: 4px; }
.aff-meter > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #111;
  min-width: 0;
}
.aff-meter > span.aff-meter__ok { background: #16a34a; }
.aff-meter > span.aff-meter__wait { background: #ca8a04; }
.aff-meter > span.aff-meter__bad { background: #dc2626; }
html.dark-style .aff-meter {
  background: rgba(255, 255, 255, 0.12);
}
html.dark-style .aff-meter > span { background: #fff; }
html.dark-style .aff-meter > span.aff-meter__ok { background: #4ade80; }
html.dark-style .aff-meter > span.aff-meter__wait { background: #facc15; }
html.dark-style .aff-meter > span.aff-meter__bad { background: #f87171; }
.aff-delta { display: inline-block; margin-top: .25rem; font-size: .8rem; font-weight: 600; }
.aff-delta.is-up { color: #16a34a; }
.aff-delta.is-down { color: #dc2626; }
html.dark-style .aff-delta.is-up { color: #4ade80; }
html.dark-style .aff-delta.is-down { color: #f87171; }

#affChartCommission,
#affChartReferral {
  min-height: 300px;
}
.layout-navbar .avatar-initial {
  width: 2.375rem;
  height: 2.375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

#aff-theme-circle-layer {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  pointer-events: none;
  will-change: clip-path;
}
@media (prefers-reduced-motion: reduce) {
  body,
  .card,
  .layout-menu,
  .layout-navbar,
  .btn,
  .form-control {
    transition: none !important;
  }
  .aff-page-loader__bar,
  .aff-page-loader__spinner,
  .aff-toast {
    animation: none !important;
    transition: none !important;
  }
}

.aff-page-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease, visibility .15s ease;
  background: rgba(255, 255, 255, 0.55);
}
html.dark-style .aff-page-loader {
  background: rgba(0, 0, 0, 0.55);
}
.aff-page-loader.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: none;
}
html.aff-loading,
html.aff-loading body {
  cursor: progress;
}
.aff-page-loader__bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  width: 0;
  background: #111;
  animation: affLoaderBar 1.1s cubic-bezier(.4,0,.2,1) infinite;
}
html.dark-style .aff-page-loader__bar {
  background: #fff;
}
.aff-page-loader__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  margin: -1rem 0 0 -1rem;
  border: 2px solid rgba(0,0,0,.12);
  border-top-color: #111;
  border-radius: 50%;
  animation: affLoaderSpin .7s linear infinite;
  background: rgba(255,255,255,.72);
  box-shadow: 0 0 0 8px rgba(255,255,255,.72);
}
html.dark-style .aff-page-loader__spinner {
  border-color: rgba(255,255,255,.15);
  border-top-color: #fff;
  background: rgba(0,0,0,.55);
  box-shadow: 0 0 0 8px rgba(0,0,0,.55);
}
@keyframes affLoaderBar {
  0% { width: 0; left: 0; }
  50% { width: 55%; left: 20%; }
  100% { width: 0; left: 100%; }
}
@keyframes affLoaderSpin {
  to { transform: rotate(360deg); }
}

.aff-toast-host {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 2147483700;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  width: min(22rem, calc(100vw - 2rem));
  pointer-events: none;
}
.aff-toast {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .85rem 1rem;
  border-radius: .5rem;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: #111;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease;
}
.aff-toast.is-in {
  opacity: 1;
  transform: translateY(0);
}
.aff-toast.is-out {
  opacity: 0;
  transform: translateY(-6px);
}
.aff-toast__msg {
  flex: 1;
  font-size: .925rem;
  line-height: 1.35;
}
.aff-toast__close {
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.15rem;
  line-height: 1;
  padding: 0;
  opacity: .55;
  cursor: pointer;
}
.aff-toast__close:hover { opacity: 1; }
.aff-toast--success { border-left: 3px solid #111; }
.aff-toast--error { border-left: 3px solid #111; }
.aff-toast--warning { border-left: 3px solid #666; }
.aff-toast--info { border-left: 3px solid #999; }
html.dark-style .aff-toast {
  background: #111;
  color: #f2f2f2;
  border-color: #2a2a2a;
  box-shadow: 0 8px 24px rgba(0,0,0,.45);
}
html.dark-style .aff-toast--success,
html.dark-style .aff-toast--error,
html.dark-style .aff-toast--warning,
html.dark-style .aff-toast--info {
  border-left-color: #fff;
}

.aff-ui-dialog {
  position: fixed;
  inset: 0;
  z-index: 2147483800;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.aff-ui-dialog.is-open { display: flex; }
.aff-ui-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}
.aff-ui-dialog__panel {
  position: relative;
  width: min(26rem, 100%);
  background: #fff;
  color: #111;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: .6rem;
  padding: 1.25rem 1.25rem 1rem;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
html.dark-style .aff-ui-dialog__panel {
  background: #111 !important;
  color: #f2f2f2 !important;
  border-color: #2a2a2a !important;
}
html.dark-style .aff-ui-dialog__title,
html.dark-style .aff-ui-dialog__body {
  color: #f2f2f2 !important;
  opacity: 1;
}

.aff-status {
  font-weight: 600;
  letter-spacing: .01em;
}
.aff-status--ok {
  background: rgba(34, 197, 94, 0.16) !important;
  color: #16a34a !important;
  border: 1px solid rgba(34, 197, 94, 0.35);
}
.aff-status--bad {
  background: rgba(239, 68, 68, 0.14) !important;
  color: #dc2626 !important;
  border: 1px solid rgba(239, 68, 68, 0.35);
}
.aff-status--wait {
  background: rgba(234, 179, 8, 0.16) !important;
  color: #ca8a04 !important;
  border: 1px solid rgba(234, 179, 8, 0.4);
}
html.dark-style .aff-status--ok {
  background: rgba(34, 197, 94, 0.2) !important;
  color: #4ade80 !important;
  border-color: rgba(74, 222, 128, 0.35);
}
html.dark-style .aff-status--bad {
  background: rgba(239, 68, 68, 0.2) !important;
  color: #f87171 !important;
  border-color: rgba(248, 113, 113, 0.35);
}
html.dark-style .aff-status--wait {
  background: rgba(234, 179, 8, 0.2) !important;
  color: #facc15 !important;
  border-color: rgba(250, 204, 21, 0.4);
}
.aff-ui-dialog__title {
  margin: 0 0 .5rem;
  font-size: 1.05rem;
  font-weight: 600;
}
.aff-ui-dialog__body {
  margin: 0 0 1.1rem;
  color: inherit;
  opacity: .85;
  font-size: .95rem;
}
.aff-ui-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
}

