:root {
  --cg-black: #050807;
  --cg-panel: #0e1311;
  --cg-ink: #f7faf8;
  --cg-muted: #b9c4bd;
  --cg-green: #39b54a;
  --cg-green-dark: #238d33;
  --cg-blue: #10203f;
  --cg-line: rgba(255,255,255,.13);
}

body.cg-public-support-page {
  --cg-logo-size: 62px;
}

body.cg-public-support-page .cg-brand-shield {
  display: block !important;
  width: var(--cg-logo-size) !important;
  height: var(--cg-logo-size) !important;
  min-width: var(--cg-logo-size) !important;
  min-height: var(--cg-logo-size) !important;
  max-width: var(--cg-logo-size) !important;
  max-height: var(--cg-logo-size) !important;
  object-fit: contain !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cg-public-support-page .cg-brand-icon-shell {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  padding: 0 !important;
  border: 1px solid rgba(57,181,74,.45) !important;
  border-radius: 16px !important;
  background: #07100a !important;
  overflow: hidden !important;
}

body.cg-public-support-page .cg-brand-name {
  color: #fff !important;
  font-weight: 900 !important;
}

body.cg-public-support-page .cg-brand-tagline {
  color: #d4ddd7 !important;
}

body.cg-public-support-page .cg-public-hidden-control,
body.cg-public-support-page .cg-public-internal-link,
body.cg-public-support-page .cg-payment-bottom-dock-hidden {
  display: none !important;
}

body.cg-public-support-page input:not([type="checkbox"]):not([type="radio"]),
body.cg-public-support-page select,
body.cg-public-support-page textarea {
  font: inherit;
}

body.cg-public-support-page input:focus,
body.cg-public-support-page select:focus,
body.cg-public-support-page textarea:focus {
  border-color: var(--cg-green) !important;
  outline: 3px solid rgba(57,181,74,.20) !important;
}

.cg-public-fallback-header {
  position: relative;
  z-index: 99990;
  width: 100%;
  color: #fff;
  background: var(--cg-black);
  border-bottom: 1px solid rgba(57,181,74,.32);
}

.cg-public-fallback-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1180px, calc(100% - 32px));
  min-height: 96px;
  margin: 0 auto;
  gap: 24px;
}

.cg-public-fallback-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #fff !important;
  text-decoration: none !important;
}

.cg-public-fallback-copy {
  display: grid;
  gap: 5px;
}

.cg-public-fallback-name {
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
}

.cg-public-fallback-name strong {
  color: var(--cg-green);
}

.cg-public-fallback-tagline {
  color: #d4ddd7;
  font-size: .92rem;
}

.cg-public-fallback-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 9px;
}

.cg-public-fallback-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 15px;
  color: #eef5f0 !important;
  background: var(--cg-blue);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none !important;
}

.cg-public-fallback-nav a.cg-primary {
  color: #061108 !important;
  background: var(--cg-green);
  border-color: var(--cg-green);
}

.cg-public-standard-footer {
  width: 100%;
  margin-top: 48px;
  padding: 28px 16px;
  color: #dce5df;
  background: var(--cg-black);
  border-top: 1px solid rgba(57,181,74,.25);
}

.cg-public-standard-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1120px, 100%);
  margin: 0 auto;
  gap: 22px;
}

.cg-public-standard-footer strong {
  display: block;
  color: #fff;
}

.cg-public-standard-footer p {
  margin: 5px 0 0;
  color: #aeb8b2;
}

.cg-public-standard-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.cg-public-standard-footer a {
  color: #dce5df !important;
}

@media (max-width: 840px) {
  .cg-public-fallback-inner,
  .cg-public-standard-footer-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .cg-public-fallback-inner {
    padding: 16px 0;
  }

  .cg-public-fallback-nav {
    justify-content: flex-start;
  }
}
