body {
  background:
    radial-gradient(circle at top, rgba(255, 82, 82, 0.14), transparent 34%),
    radial-gradient(circle at bottom, rgba(255, 0, 0, 0.12), transparent 42%),
    #07070d;
  color: #f5f7ff;
}

#pay-station-root {
  min-height: 100vh;
}

.auth-gate__card,
.cabinet-card,
.cabinet-sidebar,
.cabinet-toast,
.cabinet-profile-dropdown,
.support-widget__panel,
.modal-card {
  border-color: rgba(255, 92, 92, 0.18);
  background: linear-gradient(180deg, rgba(28, 12, 16, 0.96), rgba(14, 8, 12, 0.96));
  box-shadow: 0 24px 80px rgba(22, 4, 8, 0.38);
}

.cabinet-brand img,
.auth-gate__logo,
.auth-gate__brand-logo {
  filter: drop-shadow(0 0 12px rgba(255, 46, 46, 0.18));
}

.auth-gate__brand,
.cabinet-brand {
  text-decoration: none;
}

.auth-gate__header p,
.auth-gate__hint,
.cabinet-section-heading p,
.cabinet-copy,
.cabinet-list-meta,
.cabinet-card-label,
.cabinet-code-block,
.cabinet-plugin-card p,
.cabinet-empty,
.pay-station-muted,
.support-widget__message-head span,
.support-widget__attachment span,
.support-widget__empty,
.pay-station-card-label {
  color: #c8b5bc;
}

.cabinet-section,
.cabinet-card,
.cabinet-form,
.cabinet-info-stack,
.cabinet-two-factor-stack,
.cabinet-two-column,
.cabinet-button-row,
.cabinet-inline-form,
.pay-station-form-stack,
.pay-station-key-list,
.pay-station-generated-credentials,
.pay-station-toolbar,
.pay-station-quote-grid,
.pay-station-input-grid {
  gap: 18px;
}

.cabinet-section {
  display: grid;
  gap: 22px;
}

.cabinet-card {
  display: grid;
  gap: 18px;
}

.cabinet-section-heading,
.cabinet-card-head {
  display: grid;
  gap: 8px;
}

.cabinet-section-heading h2,
.cabinet-card-head h3,
.cabinet-info-row strong,
.cabinet-list-title,
.pay-station-balance-card__value,
.pay-station-metric-card strong,
.pay-station-active-resource__timer {
  margin: 0;
}

.cabinet-form label,
.cabinet-inline-form label,
.cabinet-transactions-filter,
.cabinet-info-row,
.pay-station-generated-credentials__row,
.pay-station-key-row,
.pay-station-active-resource,
.pay-station-toolbar {
  display: grid;
  gap: 8px;
}

.cabinet-form label > span,
.cabinet-inline-form label > span,
.cabinet-transactions-filter span,
.cabinet-info-row span,
.pay-station-card-label {
  font-size: 13px;
  letter-spacing: 0.02em;
}

.auth-gate__switch .is-active,
.cabinet-sidebar-button.is-active,
.cabinet-primary-button,
.cabinet-primary-button.is-ready:not(:disabled),
.support-widget__fab-icon {
  background: linear-gradient(180deg, rgba(255, 84, 84, 0.44), rgba(196, 20, 20, 0.44));
  box-shadow: 0 12px 28px rgba(176, 18, 18, 0.22);
}

.auth-gate__switch button:hover,
.cabinet-sidebar-button:hover,
.cabinet-profile-button:hover,
.cabinet-primary-button:hover,
.cabinet-ghost-button:hover,
.cabinet-inline-button:hover,
.cabinet-menu-button:hover,
.cabinet-info-button:hover,
.cabinet-icon-button:hover,
.cabinet-pagination-button:hover,
.cabinet-filter-chip:hover {
  border-color: rgba(255, 92, 92, 0.34);
  box-shadow: 0 14px 28px rgba(26, 6, 10, 0.28);
}

.cabinet-input,
.cabinet-select,
.cabinet-lang-switch,
.cabinet-profile-button,
.cabinet-profile-dropdown,
.auth-gate__requirement-icon,
.cabinet-ghost-button,
.cabinet-inline-button,
.cabinet-menu-button,
.cabinet-info-button,
.cabinet-icon-button,
.cabinet-pagination-button,
.cabinet-filter-chip,
.support-widget__textarea,
.support-widget__attach,
.support-widget__message {
  border-color: rgba(255, 92, 92, 0.18);
}

.cabinet-select,
.cabinet-lang-switch {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 42px;
  background-image:
    linear-gradient(45deg, transparent 50%, #ffb9b9 50%),
    linear-gradient(135deg, #ffb9b9 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 1px),
    calc(100% - 12px) calc(50% - 1px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.cabinet-input:focus,
.cabinet-select:focus,
.support-widget__textarea:focus {
  outline: none;
  border-color: rgba(255, 110, 110, 0.48);
  box-shadow: 0 0 0 1px rgba(255, 110, 110, 0.16), 0 0 24px rgba(255, 64, 64, 0.08);
}

.auth-gate__requirement.is-passed {
  color: #ffb2b2;
}

.auth-gate__requirement.is-passed .auth-gate__requirement-icon {
  color: #2b0505;
  background: #ff6f6f;
  border-color: #ff6f6f;
}

.cabinet-profile-button--menu.is-active,
.cabinet-filter-chip.is-active,
.cabinet-pagination-button.is-active {
  background: rgba(255, 84, 84, 0.16);
  border-color: rgba(255, 92, 92, 0.32);
}

.cabinet-profile-dropdown,
.cabinet-logo-select__menu {
  background: #140b10;
}

.cabinet-toast-stack {
  z-index: 260;
}

.cabinet-toast {
  background: linear-gradient(180deg, rgba(28, 12, 16, 0.98), rgba(14, 8, 12, 0.98));
}

.cabinet-toast--danger {
  border-color: rgba(255, 110, 135, 0.34);
}

.pay-station-toolbar {
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr);
}

.pay-station-balance-card {
  min-width: 0;
  padding: 16px 18px;
}

.pay-station-balance-card__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.pay-station-balance-card__value {
  font-size: 28px;
  line-height: 1.1;
}

.pay-station-topup-button {
  justify-self: end;
  align-self: center;
  min-width: 148px;
  min-height: 46px;
  border-radius: 14px;
  padding-inline: 18px;
}

.pay-station-docs-button {
  min-height: 44px;
  border-radius: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 18px;
}

.pay-station-input-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pay-station-quote-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pay-station-quote-grid--spaced {
  margin-top: 8px;
}

.pay-station-metric-card,
.pay-station-generated-credentials,
.pay-station-key-row,
.pay-station-active-resource {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(255, 92, 92, 0.14);
  background: rgba(255, 255, 255, 0.03);
}

.pay-station-metric-card {
  display: grid;
  gap: 10px;
}

.pay-station-metric-card strong {
  font-size: 22px;
}

.pay-station-active-resource {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.pay-station-active-resource__side {
  justify-items: end;
}

.pay-station-active-resource__timer {
  font-size: 28px;
}

.pay-station-modal-link {
  justify-self: start;
}

.pay-station-inline-hint {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255, 92, 92, 0.18);
  background: rgba(255, 255, 255, 0.03);
  color: #d7c9ce;
  line-height: 1.45;
}

.pay-station-table-details {
  display: grid;
  gap: 8px;
  line-height: 1.45;
  word-break: break-word;
}

.pay-station-inline-copy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pay-station-inline-copy code {
  word-break: break-all;
}

.pay-station-generated-credentials {
  display: grid;
  gap: 14px;
}

.pay-station-generated-credentials__row,
.pay-station-key-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.pay-station-generated-credentials code,
.pay-station-key-row code,
.pay-station-secret-row code {
  display: block;
  word-break: break-all;
  font-family: "Consolas", "Courier New", monospace;
}

.pay-station-key-list {
  display: grid;
}

.pay-station-key-row__actions,
.pay-station-secret-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pay-station-delete-button {
  min-height: 40px;
}

.pay-station-copy-icon {
  width: 42px;
  height: 42px;
}

.pay-station-copy-icon svg {
  width: 18px;
  height: 18px;
}

.support-widget--pay-station .support-widget__fab {
  border-color: rgba(255, 92, 92, 0.32);
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.16), transparent 45%),
    linear-gradient(180deg, rgba(32, 12, 16, 0.98), rgba(14, 8, 12, 0.98));
}

.support-widget--pay-station .support-widget__fab::after {
  background: linear-gradient(180deg, #ff8686, #ff3434);
}

.support-widget--pay-station .support-widget__header,
.support-widget--pay-station .support-widget__footer {
  border-color: rgba(255, 92, 92, 0.18);
}

.support-widget--pay-station .support-widget__notice.is-info {
  border-color: rgba(255, 92, 92, 0.24);
  color: #ffd8d8;
  background: rgba(255, 92, 92, 0.08);
}

.support-widget--pay-station .support-widget__message.is-admin {
  border-color: rgba(255, 92, 92, 0.24);
}

.modal-card {
  width: min(520px, 100%);
  display: grid;
  gap: 20px;
}

.modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.pay-station-secret-row {
  justify-content: space-between;
}

.cabinet-transaction-card strong,
.cabinet-table-row span,
.support-widget__message-body {
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .pay-station-quote-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .pay-station-toolbar,
  .pay-station-input-grid,
  .pay-station-quote-grid,
  .pay-station-active-resource,
  .pay-station-balance-card__row,
  .pay-station-generated-credentials__row,
  .pay-station-key-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .pay-station-topup-button {
    min-width: 0;
  }

  .pay-station-active-resource__side {
    justify-items: start;
  }
}

@media (max-width: 580px) {
  .support-widget {
    right: 12px;
    bottom: 12px;
  }

  .support-widget__panel {
    width: min(360px, calc(100vw - 12px));
  }

  .pay-station-balance-card__value,
  .pay-station-active-resource__timer {
    font-size: 24px;
  }
}
