:root {
  --friends-bg: #081526;
  --friends-bg-soft: #0d2039;
  --friends-surface: rgba(18, 40, 70, 0.88);
  --friends-surface-solid: #112744;
  --friends-border: rgba(128, 187, 255, 0.32);
  --friends-border-strong: rgba(98, 226, 255, 0.64);
  --friends-text: #f2f7ff;
  --friends-muted: #d0dced;
  --friends-primary: #5a98ff;
  --friends-primary-bright: #86b5ff;
  --friends-cyan: #62e2ff;
  --friends-mint: #83fadd;
  --friends-danger: #ff7f9f;
  --friends-radius: 24px;
  --friends-shadow: 0 26px 70px rgba(0, 4, 18, 0.42);
}

body.cabinet-theme-friends {
  --neo-primary: var(--friends-primary);
  --neo-primary-2: #3267de;
  --neo-accent: var(--friends-cyan);
  --neo-border: var(--friends-border);
  --neo-border-strong: var(--friends-border-strong);
  --text-muted: var(--friends-muted);
  --accent-color: var(--friends-cyan);
  color: var(--friends-text);
  background:
    radial-gradient(circle at 12% 4%, rgba(78, 140, 255, 0.28), transparent 32rem),
    radial-gradient(circle at 88% 12%, rgba(83, 215, 247, 0.2), transparent 30rem),
    var(--friends-bg);
}

body.cabinet-theme-friends .wc-neo-glow-a {
  background: #326ee9;
  opacity: 0.14;
}

body.cabinet-theme-friends .wc-neo-glow-b {
  background: #3fc8dd;
  opacity: 0.1;
}

body.cabinet-theme-friends .wc-neo-grid {
  background-image:
    linear-gradient(rgba(88, 148, 236, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(88, 148, 236, 0.045) 1px, transparent 1px);
  opacity: 0.35;
}

body.cabinet-theme-friends .wc-neo-sidebar,
body.cabinet-theme-friends .wc-neo-main,
body.cabinet-theme-friends .wc-neo-main-head {
  border-color: var(--friends-border);
  background: rgba(7, 17, 33, 0.84);
  box-shadow: var(--friends-shadow);
}

/* Authenticated desktop shell: compact glass navigation in the new visual language. */
body.cabinet-theme-friends.wc-authenticated .wc-neo-app {
  grid-template-columns: 272px minmax(0, 1fr);
  gap: 18px;
  padding: 16px;
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-sidebar {
  top: 16px;
  height: calc(100vh - 32px);
  padding: 14px;
  border-color: rgba(98, 226, 255, 0.2);
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 0, rgba(90, 152, 255, 0.22), transparent 15rem),
    linear-gradient(180deg, rgba(13, 32, 57, 0.96), rgba(7, 20, 38, 0.98));
  box-shadow: 0 26px 60px rgba(0, 5, 20, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-sidebar-head {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(128, 187, 255, 0.13);
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-brand {
  min-height: 68px;
  padding: 10px;
  border: 1px solid rgba(98, 226, 255, 0.18);
  border-radius: 19px;
  background: linear-gradient(135deg, rgba(90, 152, 255, 0.2), rgba(98, 226, 255, 0.09));
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-brand .m2-brand-logo {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(98, 226, 255, 0.34);
  border-radius: 50%;
  background: #132d4c;
  box-shadow: 0 0 26px rgba(98, 226, 255, 0.14);
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-brand .m2-brand-logo-img {
  padding: 3px;
  object-fit: cover;
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-nav {
  gap: 5px;
  padding: 8px 2px 8px 0;
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-nav-link {
  position: relative;
  min-height: 46px;
  justify-content: flex-start;
  padding: 10px 13px 10px 17px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #c3d2e5;
  background: transparent;
  box-shadow: none;
  font-size: 13px;
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-nav-link::before {
  width: 3px;
  height: 18px;
  border-radius: 999px;
  background: rgba(128, 187, 255, 0.35);
  box-shadow: none;
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-nav-link:hover {
  transform: translateX(2px);
  border-color: rgba(128, 187, 255, 0.16);
  color: #f4f9ff;
  background: rgba(31, 60, 96, 0.48);
  box-shadow: none;
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-nav-link.is-active {
  color: #fff;
  border-color: rgba(98, 226, 255, 0.3);
  background: linear-gradient(90deg, rgba(90, 152, 255, 0.3), rgba(40, 85, 133, 0.18));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(0, 8, 26, .22);
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-nav-link.is-active::before {
  background: var(--friends-cyan);
  box-shadow: 0 0 13px rgba(98, 226, 255, 0.7);
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-sidebar-foot {
  padding: 14px 6px 4px;
  border-top: 1px solid rgba(128, 187, 255, 0.13);
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-logout {
  min-height: 40px;
  border: 1px solid rgba(255, 127, 159, 0.24);
  border-radius: 13px;
  color: #ffc0d0;
  background: rgba(255, 87, 132, 0.08);
  box-shadow: none;
}

body.cabinet-theme-friends.wc-authenticated .wc-neo-main {
  border-color: rgba(128, 187, 255, 0.18);
  background: rgba(8, 21, 39, 0.72);
}

body.cabinet-theme-friends .wc-neo-main-head {
  border-bottom-color: var(--friends-border);
  background: rgba(8, 19, 37, 0.9);
}

body.cabinet-theme-friends .wc-neo-brand {
  background: linear-gradient(135deg, rgba(78, 140, 255, 0.18), rgba(83, 215, 247, 0.1));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.cabinet-theme-friends .m2-brand-title,
body.cabinet-theme-friends .m2-topbar-title,
body.cabinet-theme-friends h1,
body.cabinet-theme-friends h2,
body.cabinet-theme-friends h3,
body.cabinet-theme-friends .m2-metric {
  color: var(--friends-text);
}

body.cabinet-theme-friends .m2-brand-sub,
body.cabinet-theme-friends .m2-topbar-sub,
body.cabinet-theme-friends .m2-muted,
body.cabinet-theme-friends .muted,
body.cabinet-theme-friends .m2-field,
body.cabinet-theme-friends .m2-kicker {
  color: var(--friends-muted);
}

body.cabinet-theme-friends .wc-neo-nav-link,
body.cabinet-theme-friends .wc-neo-logout {
  color: #cbd8eb;
  border-color: transparent;
  background: rgba(17, 34, 59, 0.72);
}

body.cabinet-theme-friends .wc-neo-nav-link:hover {
  color: #fff;
  border-color: var(--friends-border-strong);
  background: rgba(26, 49, 82, 0.9);
}

body.cabinet-theme-friends .wc-neo-nav-link.is-active {
  color: #fff;
  background: linear-gradient(135deg, var(--friends-primary), #3478e7);
  box-shadow: 0 14px 30px rgba(44, 105, 222, 0.28);
}

body.cabinet-theme-friends .wc-neo-sidebar-foot {
  border-top-color: var(--friends-border);
}

body.cabinet-theme-friends .wc-neo-legal-links a,
body.cabinet-theme-friends a {
  color: var(--friends-cyan);
}

body.cabinet-theme-friends .wc-neo-badge,
body.cabinet-theme-friends .wc-neo-burger,
body.cabinet-theme-friends .wc-neo-sidebar-close,
body.cabinet-theme-friends .wc-neo-locale-item {
  color: #cbd8eb;
  border-color: var(--friends-border);
  background: rgba(14, 29, 52, 0.96);
}

body.cabinet-theme-friends .m2-topbar,
body.cabinet-theme-friends .m2-card,
body.cabinet-theme-friends .card,
body.cabinet-theme-friends .m2-auth-main,
body.cabinet-theme-friends .m2-auth-side {
  color: var(--friends-text);
  border-color: var(--friends-border);
  background: linear-gradient(160deg, rgba(15, 31, 56, 0.94), rgba(10, 23, 43, 0.96));
  box-shadow: 0 18px 44px rgba(0, 5, 20, 0.28);
}

body.cabinet-theme-friends .m2-table-wrap,
body.cabinet-theme-friends .table-container {
  border-color: var(--friends-border);
  background: rgba(10, 23, 43, 0.92);
}

body.cabinet-theme-friends .m2-table thead th,
body.cabinet-theme-friends thead th,
body.cabinet-theme-friends .data-table thead th {
  color: #dce8fb;
  border-bottom-color: var(--friends-border);
  background: rgba(78, 140, 255, 0.12);
}

body.cabinet-theme-friends .m2-table td,
body.cabinet-theme-friends .m2-table th,
body.cabinet-theme-friends td,
body.cabinet-theme-friends th,
body.cabinet-theme-friends .data-table td,
body.cabinet-theme-friends .data-table th {
  color: #cedbee;
  border-bottom-color: rgba(125, 174, 255, 0.12);
}

body.cabinet-theme-friends .m2-table tbody tr:hover td,
body.cabinet-theme-friends tbody tr:hover td {
  background: rgba(78, 140, 255, 0.08);
}

body.cabinet-theme-friends input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.cabinet-theme-friends select,
body.cabinet-theme-friends textarea,
body.cabinet-theme-friends .m2-input,
body.cabinet-theme-friends .admin-input {
  color: #edf5ff !important;
  border-color: var(--friends-border) !important;
  background: rgba(5, 15, 30, 0.84) !important;
}

body.cabinet-theme-friends input::placeholder,
body.cabinet-theme-friends textarea::placeholder {
  color: #7186a5;
}

body.cabinet-theme-friends input:focus,
body.cabinet-theme-friends select:focus,
body.cabinet-theme-friends textarea:focus {
  border-color: var(--friends-cyan) !important;
  box-shadow: 0 0 0 4px rgba(83, 215, 247, 0.13) !important;
}

body.cabinet-theme-friends .m2-btn,
body.cabinet-theme-friends .btn {
  color: #fff !important;
  background: linear-gradient(135deg, var(--friends-primary), #326fdf);
  box-shadow: 0 14px 30px rgba(50, 111, 223, 0.24);
}

body.cabinet-theme-friends .m2-btn-ghost,
body.cabinet-theme-friends .btn-secondary {
  color: #dbe8fa !important;
  border-color: var(--friends-border);
  background: rgba(13, 28, 51, 0.82);
}

body.cabinet-theme-friends .wc-neo-mobile-tabbar {
  border-color: var(--friends-border);
  background: rgba(7, 18, 35, 0.96);
  box-shadow: 0 18px 38px rgba(0, 4, 18, 0.5);
}

body.cabinet-theme-friends .wc-neo-mobile-tab {
  color: var(--friends-muted);
}

body.cabinet-theme-friends .wc-neo-mobile-tab.is-active {
  color: var(--friends-cyan);
}

/* The public home is a full marketing page; authenticated and inner pages keep the app shell. */
body.cabinet-theme-friends.wc-guest.wc-home-route .wc-neo-sidebar,
body.cabinet-theme-friends.wc-guest.wc-home-route .wc-neo-main-head,
body.cabinet-theme-friends.wc-guest.wc-home-route .wc-neo-mobile-tabbar,
body.cabinet-theme-friends.wc-guest.wc-home-route .m2-topbar,
body.cabinet-theme-friends.wc-guest.wc-home-route #support-chat,
body.cabinet-theme-friends.wc-guest.wc-home-route .support-widget,
body.cabinet-theme-friends.wc-guest.wc-home-route .support-fab {
  display: none !important;
}

body.cabinet-theme-friends.wc-guest.wc-home-route .wc-neo-app {
  display: block;
  padding: 0;
}

body.cabinet-theme-friends.wc-guest.wc-home-route .wc-neo-main {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.cabinet-theme-friends.wc-guest.wc-home-route .wc-neo-content-wrap {
  max-width: none;
  margin: 0;
  padding: 0;
}

body.cabinet-theme-friends.wc-guest.wc-home-route .m2-content {
  margin: 0;
}

.friends-landing {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 100vh;
  color: var(--friends-text);
  background:
    radial-gradient(circle at 16% 10%, rgba(90, 152, 255, 0.25), transparent 27rem),
    radial-gradient(circle at 80% 18%, rgba(98, 226, 255, 0.17), transparent 26rem),
    linear-gradient(180deg, rgba(8, 21, 38, 0.76), #081526 34%, #0a192c 100%);
}

.friends-landing::before,
.friends-landing::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.friends-landing::before {
  inset: 0;
  opacity: 0.48;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.72) 0 1px, transparent 1.3px),
    radial-gradient(circle, rgba(83,215,247,.55) 0 1px, transparent 1.4px);
  background-position: 0 0, 38px 52px;
  background-size: 94px 94px, 137px 137px;
  mask-image: linear-gradient(to bottom, #000 0, transparent 52%);
}

.friends-landing::after {
  width: 560px;
  height: 560px;
  top: 520px;
  right: -300px;
  border-radius: 50%;
  background: rgba(78, 140, 255, 0.09);
  filter: blur(8px);
}

.friends-nav,
.friends-hero,
.friends-signal-strip,
.friends-section,
.friends-final-cta,
.friends-footer {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.friends-nav {
  position: relative;
  z-index: 20;
  min-height: 86px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid rgba(125, 174, 255, 0.11);
}

.friends-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--friends-text) !important;
  text-decoration: none;
}

.friends-brand > span:last-child {
  display: grid;
  gap: 2px;
}

.friends-brand strong {
  max-width: 230px;
  overflow: hidden;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.friends-brand small {
  color: var(--friends-muted);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.friends-brand-mark {
  position: relative;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgba(22, 52, 88, 0.78);
  box-shadow: 0 0 30px rgba(83, 215, 247, 0.18);
}

.friends-brand-mark svg {
  width: 46px;
  height: 46px;
  overflow: visible;
}

.friends-brand-mark svg circle:first-child {
  fill: rgba(37, 61, 104, 0.86);
  stroke: var(--friends-cyan);
  stroke-width: 2.5;
}

.friends-brand-mark svg path,
.friends-brand-mark svg ellipse {
  fill: none;
  stroke: var(--friends-cyan);
  stroke-width: 2.2;
}

.friends-brand-mark svg .friends-brand-dot {
  fill: var(--friends-cyan);
  stroke: none;
}

.friends-nav-links {
  display: flex;
  justify-content: center;
  gap: clamp(16px, 2.8vw, 34px);
}

.friends-nav-links a,
.friends-link-button {
  color: #b8c7db !important;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  transition: color .18s ease;
}

.friends-nav-links a:hover,
.friends-link-button:hover {
  color: var(--friends-cyan) !important;
}

.friends-nav-actions,
.friends-hero-actions,
.friends-final-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.friends-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 21px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #fff !important;
  background: linear-gradient(135deg, #4e8cff, #3675e8);
  box-shadow: 0 14px 32px rgba(45, 104, 220, 0.3), inset 0 1px 0 rgba(255,255,255,.16);
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.friends-button:hover {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(45, 104, 220, 0.38), inset 0 1px 0 rgba(255,255,255,.2);
}

.friends-button:focus-visible,
.friends-nav a:focus-visible,
.friends-faq summary:focus-visible {
  outline: 3px solid rgba(83, 215, 247, 0.42);
  outline-offset: 3px;
}

.friends-button-small {
  min-height: 40px;
  padding: 9px 15px;
  border-radius: 12px;
  font-size: 12px;
}

.friends-button-secondary {
  color: #deebfa !important;
  border-color: var(--friends-border);
  background: rgba(14, 29, 52, 0.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.friends-button-secondary:hover {
  color: #fff !important;
  border-color: var(--friends-border-strong);
  background: rgba(21, 43, 74, 0.92);
  box-shadow: 0 16px 30px rgba(0, 5, 18, 0.22);
}

.friends-notice {
  width: min(1180px, calc(100% - 40px));
  margin: 16px auto 0;
  padding: 13px 16px;
  border: 1px solid var(--friends-border);
  border-radius: 14px;
  background: var(--friends-surface);
}

.friends-notice-success { border-color: rgba(124, 249, 218, .35); }
.friends-notice-error { border-color: rgba(255, 127, 159, .45); }

.friends-hero {
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  align-items: center;
  gap: clamp(44px, 7vw, 94px);
  padding-block: 82px 72px;
}

.friends-eyebrow,
.friends-section-heading > span,
.friends-final-cta > div > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--friends-cyan);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.friends-eyebrow > span {
  width: 28px;
  height: 1px;
  background: var(--friends-cyan);
  box-shadow: 0 0 10px var(--friends-cyan);
}

.friends-hero h1 {
  max-width: 720px;
  margin: 18px 0 20px;
  color: #f7fbff;
  font-size: clamp(46px, 6.2vw, 78px);
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: .98;
  text-wrap: balance;
}

.friends-hero-copy > p {
  max-width: 620px;
  margin: 0;
  color: var(--friends-muted);
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.7;
}

.friends-hero-actions {
  flex-wrap: wrap;
  margin-top: 30px;
}

.friends-telegram-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 6px;
  color: var(--friends-cyan) !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.friends-telegram-link:hover { color: var(--friends-mint) !important; }

.friends-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 28px 0 0;
  padding: 0;
  color: #adbed3;
  font-size: 12px;
  list-style: none;
}

.friends-trust-list li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.friends-trust-list span {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #071525;
  background: var(--friends-mint);
  font-size: 10px;
  font-weight: 900;
}

.friends-hero-visual {
  position: relative;
  min-height: 460px;
  display: grid;
  place-items: center;
}

.friends-orbit {
  position: absolute;
  border: 1px solid rgba(83, 215, 247, 0.13);
  border-radius: 50%;
  transform: rotate(-14deg);
}

.friends-orbit-one { width: 470px; height: 310px; }
.friends-orbit-two { width: 390px; height: 500px; transform: rotate(28deg); }

.friends-dashboard-preview {
  position: relative;
  z-index: 2;
  width: min(100%, 390px);
  padding: 18px;
  border: 1px solid rgba(134, 190, 255, 0.44);
  border-radius: 30px;
  background: linear-gradient(160deg, rgba(25, 53, 90, 0.97), rgba(11, 29, 53, 0.98));
  box-shadow: 0 38px 90px rgba(0, 5, 20, 0.52), inset 0 1px 0 rgba(255,255,255,.07);
  transform: perspective(900px) rotateY(-4deg) rotateX(2deg);
}

.friends-preview-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 4px 4px 15px;
  border-bottom: 1px solid rgba(125, 174, 255, 0.14);
}

.friends-preview-logo {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--friends-primary), var(--friends-cyan));
  box-shadow: 0 9px 22px rgba(78, 140, 255, 0.24);
}

.friends-preview-head > span:nth-child(2) { display: grid; gap: 2px; }
.friends-preview-head small { color: var(--friends-muted); font-size: 10px; }
.friends-preview-head strong { color: #eef7ff; font-size: 13px; }
.friends-preview-head i { width: 9px; height: 9px; border-radius: 50%; background: var(--friends-mint); box-shadow: 0 0 16px var(--friends-mint); }

.friends-preview-status {
  display: grid;
  justify-items: center;
  padding: 28px 10px 24px;
  text-align: center;
}

.friends-power {
  width: 94px;
  height: 94px;
  display: grid;
  place-items: center;
  margin-bottom: 15px;
  border: 1px solid rgba(83, 215, 247, .32);
  border-radius: 50%;
  color: var(--friends-cyan);
  background: radial-gradient(circle, rgba(83,215,247,.16), rgba(78,140,255,.05) 66%, transparent 68%);
  box-shadow: 0 0 44px rgba(83, 215, 247, 0.15), inset 0 0 28px rgba(83, 215, 247, 0.08);
}

.friends-power svg { width: 45px; height: 45px; }
.friends-power path { fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; }
.friends-preview-status strong { font-size: 18px; }
.friends-preview-status small { margin-top: 6px; color: var(--friends-muted); font-size: 11px; }

.friends-preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.friends-preview-grid > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1px 8px;
  padding: 12px;
  border: 1px solid rgba(125, 174, 255, 0.13);
  border-radius: 15px;
  background: rgba(7, 18, 35, 0.58);
}

.friends-preview-grid span { grid-row: 1 / 3; align-self: center; color: var(--friends-cyan); font-size: 18px; }
.friends-preview-grid small { color: var(--friends-muted); font-size: 9px; }
.friends-preview-grid b { color: #e8f4ff; font-size: 11px; }

.friends-float-card {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  border: 1px solid rgba(125, 174, 255, 0.23);
  border-radius: 13px;
  color: #d6e4f6;
  background: rgba(12, 27, 49, 0.9);
  box-shadow: 0 18px 42px rgba(0, 5, 18, 0.38);
  backdrop-filter: blur(12px);
  font-size: 11px;
  font-weight: 700;
}

.friends-float-card span { color: var(--friends-mint); }
.friends-float-card-left { left: -12px; bottom: 88px; }
.friends-float-card-right { right: -20px; top: 90px; }

.friends-signal-strip {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  padding: 18px 26px;
  border: 1px solid var(--friends-border);
  border-radius: 20px;
  color: #cad8e9;
  background: rgba(12, 27, 49, 0.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.friends-signal-strip span { color: var(--friends-muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.friends-signal-strip b { font-size: 13px; }
.friends-signal-strip i { width: 3px; height: 3px; border-radius: 50%; background: var(--friends-primary-bright); }

.friends-section {
  padding-block: 104px 10px;
  scroll-margin-top: 24px;
}

.friends-section-heading {
  max-width: 730px;
  margin: 0 auto 42px;
  text-align: center;
}

.friends-section-heading-left {
  margin-left: 0;
  text-align: left;
}

.friends-section-heading h2,
.friends-final-cta h2 {
  margin: 12px 0 14px;
  color: #f4f9ff;
  font-size: clamp(31px, 4vw, 48px);
  font-weight: 820;
  letter-spacing: -.035em;
  line-height: 1.08;
  text-wrap: balance;
}

.friends-section-heading p,
.friends-final-cta p {
  margin: 0;
  color: var(--friends-muted);
  font-size: 15px;
  line-height: 1.7;
}

.friends-story-grid,
.friends-benefit-grid,
.friends-device-grid {
  display: grid;
  gap: 14px;
}

.friends-story-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.friends-story-grid article,
.friends-benefit-grid article,
.friends-device-grid article,
.friends-plan-card,
.friends-empty-card {
  position: relative;
  border: 1px solid var(--friends-border);
  background: linear-gradient(160deg, rgba(21, 46, 79, 0.88), rgba(11, 28, 51, 0.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.friends-story-grid article {
  min-height: 260px;
  padding: 24px;
  border-radius: 22px;
  overflow: hidden;
}

.friends-story-grid article::after {
  content: "";
  position: absolute;
  width: 110px;
  height: 110px;
  right: -60px;
  bottom: -60px;
  border-radius: 50%;
  background: rgba(78, 140, 255, 0.13);
}

.friends-story-number {
  position: absolute;
  top: 18px;
  right: 20px;
  color: rgba(137, 169, 216, .22);
  font-size: 34px;
  font-weight: 850;
}

.friends-story-icon,
.friends-benefit-icon,
.friends-device-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin-bottom: 30px;
  border: 1px solid rgba(83, 215, 247, .23);
  border-radius: 16px;
  background: rgba(83, 215, 247, 0.08);
  font-size: 22px;
}

.friends-story-grid h3,
.friends-benefit-grid h3,
.friends-device-grid h3 {
  margin: 0 0 10px;
  font-size: 17px;
}

.friends-story-grid p,
.friends-benefit-grid p,
.friends-device-grid p,
.friends-plan-card p,
.friends-empty-card p {
  margin: 0;
  color: var(--friends-muted);
  font-size: 13px;
  line-height: 1.65;
}

.friends-benefits {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  gap: 60px;
  align-items: start;
}

.friends-benefit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.friends-benefit-grid article {
  min-height: 250px;
  padding: 24px;
  border-radius: 22px;
}

.friends-benefit-icon { margin-bottom: 38px; color: var(--friends-cyan); font-size: 26px; font-weight: 300; }

.friends-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.friends-steps::before {
  content: "";
  position: absolute;
  top: 25px;
  left: 16.5%;
  right: 16.5%;
  height: 1px;
  background: linear-gradient(90deg, var(--friends-primary), var(--friends-cyan));
  opacity: .45;
}

.friends-steps li {
  position: relative;
  display: grid;
  justify-items: center;
  text-align: center;
}

.friends-steps li > span {
  position: relative;
  z-index: 2;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border: 1px solid rgba(83, 215, 247, .32);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #244f91, #142d53);
  box-shadow: 0 0 0 8px var(--friends-bg), 0 0 24px rgba(83, 215, 247, .12);
  font-weight: 800;
}

.friends-steps h3 { margin: 0 0 8px; font-size: 17px; }
.friends-steps p { max-width: 280px; margin: 0 auto; color: var(--friends-muted); font-size: 13px; line-height: 1.6; }

.friends-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 15px;
  align-items: stretch;
}

.friends-plan-card {
  display: flex;
  flex-direction: column;
  min-height: 430px;
  padding: 25px;
  border-radius: 24px;
}

.friends-plan-popular {
  border-color: rgba(83, 215, 247, .5);
  background: linear-gradient(160deg, rgba(31, 67, 111, 0.96), rgba(12, 34, 61, 0.98));
  box-shadow: 0 22px 50px rgba(20, 96, 174, 0.17), inset 0 1px 0 rgba(255,255,255,.06);
}

.friends-plan-badge {
  position: absolute;
  top: -11px;
  right: 18px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #071525;
  background: var(--friends-mint);
  box-shadow: 0 8px 20px rgba(124, 249, 218, .2);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.friends-plan-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 15px;
}

.friends-plan-topline span {
  padding: 5px 8px;
  border: 1px solid rgba(83, 215, 247, .2);
  border-radius: 999px;
  color: var(--friends-cyan);
  background: rgba(83, 215, 247, .06);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
}

.friends-plan-topline small { color: var(--friends-muted); font-size: 11px; }
.friends-plan-card h3 { margin: 0 0 10px; font-size: 19px; }

.friends-plan-price {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  margin: 6px 0 16px;
}

.friends-plan-price strong { font-size: 42px; line-height: 1; letter-spacing: -.04em; }
.friends-plan-price span { margin-top: 4px; color: var(--friends-cyan); font-size: 16px; font-weight: 800; }

.friends-plan-card ul {
  display: grid;
  gap: 10px;
  margin: 22px 0 24px;
  padding: 18px 0 0;
  border-top: 1px solid rgba(125, 174, 255, .12);
  color: #c5d4e7;
  font-size: 12px;
  list-style: none;
}

.friends-plan-card li { display: flex; gap: 8px; line-height: 1.45; }
.friends-plan-card li span { color: var(--friends-mint); }
.friends-plan-card .friends-button { width: 100%; margin-top: auto; }

.friends-empty-card {
  padding: 28px;
  border-radius: 22px;
}

.friends-empty-card strong { display: block; margin-bottom: 8px; }
.friends-empty-card a { display: inline-block; margin-top: 14px; text-decoration: none; }
.friends-empty-card-centered { text-align: center; color: var(--friends-muted); }

.friends-section-action {
  margin-top: 24px;
  text-align: center;
}

.friends-section-action a {
  color: var(--friends-cyan) !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.friends-section-action span { margin-left: 5px; }

.friends-devices {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: 60px;
}

.friends-device-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.friends-device-grid article {
  min-height: 220px;
  padding: 24px;
  border-radius: 22px;
}

.friends-device-icon {
  margin-bottom: 48px;
  color: var(--friends-cyan);
  font-family: ui-monospace, monospace;
  font-size: 30px;
}

.friends-location-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

.friends-location-list > div {
  min-height: 120px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: center;
  gap: 3px 12px;
  padding: 18px;
  border: 1px solid var(--friends-border);
  border-radius: 19px;
  background: rgba(17, 39, 68, .84);
  transition: transform .18s ease, border-color .18s ease;
}

.friends-location-list > div:hover { transform: translateY(-3px); border-color: var(--friends-border-strong); }
.friends-location-list span { grid-row: 1 / 3; align-self: center; font-size: 30px; }
.friends-location-list strong { font-size: 13px; }
.friends-location-list small { color: var(--friends-mint); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.friends-faq {
  display: grid;
  grid-template-columns: minmax(230px, .62fr) minmax(0, 1.38fr);
  gap: 70px;
  align-items: start;
}

.friends-faq-list { display: grid; gap: 10px; }

.friends-faq details {
  border: 1px solid var(--friends-border);
  border-radius: 18px;
  background: rgba(17, 39, 68, .84);
  overflow: hidden;
}

.friends-faq summary {
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 19px;
  color: #e8f2ff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 720;
  list-style: none;
}

.friends-faq summary::-webkit-details-marker { display: none; }

.friends-faq summary span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: var(--friends-cyan);
  background: rgba(83, 215, 247, .08);
  transition: transform .2s ease;
}

.friends-faq details[open] { border-color: rgba(83, 215, 247, .3); }
.friends-faq details[open] summary span { transform: rotate(45deg); }
.friends-faq details p { margin: -4px 54px 18px 19px; color: var(--friends-muted); font-size: 13px; line-height: 1.65; }

.friends-final-cta {
  min-height: 250px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 40px;
  margin-top: 110px;
  padding: 44px 50px;
  border: 1px solid rgba(83, 215, 247, .26);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 20%, rgba(83, 215, 247, .14), transparent 18rem),
    linear-gradient(145deg, rgba(23, 51, 87, .9), rgba(11, 27, 50, .94));
  box-shadow: 0 28px 70px rgba(0, 5, 20, .32), inset 0 1px 0 rgba(255,255,255,.05);
}

.friends-final-cta h2 { max-width: 700px; font-size: clamp(30px, 4vw, 46px); }
.friends-final-actions { flex-wrap: wrap; justify-content: flex-end; }

.friends-footer {
  min-height: 180px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 36px;
  margin-top: 56px;
  border-top: 1px solid rgba(125, 174, 255, .12);
}

.friends-brand-mark-small { width: 36px; height: 36px; border-radius: 12px; color: var(--friends-cyan); }
.friends-footer p { max-width: 560px; margin: 0; color: var(--friends-muted); font-size: 12px; line-height: 1.6; }
.friends-footer nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 18px; }
.friends-footer nav a { color: var(--friends-muted) !important; font-size: 11px; text-decoration: none; }
.friends-footer nav a:hover { color: var(--friends-cyan) !important; }

@media (max-width: 1040px) {
  body.cabinet-theme-friends.wc-authenticated .wc-neo-app {
    display: block;
    padding: 10px;
  }

  .friends-nav-links { display: none; }
  .friends-nav { grid-template-columns: 1fr auto; }
  .friends-hero { grid-template-columns: 1fr; padding-top: 64px; text-align: center; }
  .friends-hero-copy { display: grid; justify-items: center; }
  .friends-hero-actions, .friends-trust-list { justify-content: center; }
  .friends-hero-visual { width: min(100%, 600px); margin: -10px auto 0; }
  .friends-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .friends-benefits, .friends-devices, .friends-faq { grid-template-columns: 1fr; gap: 24px; }
  .friends-benefits .friends-section-heading,
  .friends-devices .friends-section-heading,
  .friends-faq .friends-section-heading { max-width: 730px; margin-left: auto; text-align: center; }
  .friends-final-cta { grid-template-columns: 1fr; text-align: center; }
  .friends-final-cta > div { display: grid; justify-items: center; }
  .friends-final-actions { justify-content: center; }
}

@media (max-width: 760px) {
  .friends-nav,
  .friends-hero,
  .friends-signal-strip,
  .friends-section,
  .friends-final-cta,
  .friends-footer,
  .friends-notice {
    width: min(100% - 24px, 620px);
  }

  .friends-nav { min-height: 74px; gap: 12px; }
  .friends-nav-actions .friends-link-button { display: none; }
  .friends-brand strong { max-width: 150px; }
  .friends-brand small { display: none; }
  .friends-brand-mark, .friends-brand-mark svg { width: 40px; height: 40px; }

  .friends-hero { min-height: 0; gap: 42px; padding-block: 58px 50px; }
  .friends-hero h1 { font-size: clamp(42px, 13vw, 62px); }
  .friends-hero-copy > p { font-size: 16px; }
  .friends-hero-actions { width: 100%; }
  .friends-hero-actions .friends-button { flex: 1 1 190px; }
  .friends-telegram-link { width: 100%; justify-content: center; }
  .friends-trust-list { display: grid; justify-items: start; }
  .friends-hero-visual { min-height: 420px; }
  .friends-dashboard-preview { width: min(86vw, 370px); transform: none; }
  .friends-orbit-one { width: 95vw; max-width: 450px; }
  .friends-orbit-two { width: 76vw; height: 430px; }
  .friends-float-card-left { left: 0; bottom: 68px; }
  .friends-float-card-right { right: 0; top: 72px; }

  .friends-signal-strip { gap: 10px; }
  .friends-signal-strip span { width: 100%; text-align: center; }
  .friends-section { padding-top: 82px; }
  .friends-section-heading { margin-bottom: 30px; }
  .friends-story-grid, .friends-benefit-grid, .friends-device-grid { grid-template-columns: 1fr; }
  .friends-story-grid article, .friends-benefit-grid article, .friends-device-grid article { min-height: 0; }
  .friends-story-icon, .friends-benefit-icon, .friends-device-icon { margin-bottom: 22px; }

  .friends-steps { grid-template-columns: 1fr; gap: 26px; }
  .friends-steps::before { top: 26px; bottom: 26px; left: 25px; right: auto; width: 1px; height: auto; }
  .friends-steps li { grid-template-columns: auto 1fr; justify-items: start; gap: 16px; text-align: left; }
  .friends-steps li > span { margin: 0; }
  .friends-steps li > div { padding-top: 4px; }
  .friends-steps p { margin-left: 0; }

  .friends-plan-grid { grid-template-columns: 1fr; }
  .friends-plan-card { min-height: 0; }
  .friends-location-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .friends-final-cta { min-height: 0; margin-top: 82px; padding: 34px 22px; }
  .friends-final-actions { width: 100%; }
  .friends-final-actions .friends-button { flex: 1 1 190px; }
  .friends-footer { grid-template-columns: 1fr; justify-items: center; gap: 18px; padding-block: 40px; text-align: center; }
  .friends-footer nav { justify-content: center; }
}

@media (max-width: 440px) {
  .friends-nav-actions .friends-button { min-height: 38px; padding-inline: 11px; font-size: 11px; }
  .friends-hero h1 { font-size: 41px; }
  .friends-eyebrow { justify-content: center; font-size: 9px; line-height: 1.5; }
  .friends-eyebrow > span { display: none; }
  .friends-preview-grid { grid-template-columns: 1fr; }
  .friends-float-card { display: none; }
  .friends-location-list { grid-template-columns: 1fr; }
  .friends-faq summary { font-size: 13px; }
  .friends-section-heading h2, .friends-final-cta h2 { font-size: 31px; }
}

@media (prefers-reduced-motion: reduce) {
  .friends-landing *,
  .friends-landing *::before,
  .friends-landing *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* High-contrast typography pass. Keep decorative colors, but never let
   meaningful copy inherit the old theme's dark text values. */
body.cabinet-theme-friends .friends-landing {
  color: #f6f9ff;
}

body.cabinet-theme-friends .friends-landing h1,
body.cabinet-theme-friends .friends-landing h2,
body.cabinet-theme-friends .friends-landing h3,
body.cabinet-theme-friends .friends-landing strong,
body.cabinet-theme-friends .friends-landing b,
body.cabinet-theme-friends .friends-faq summary {
  color: #f8fbff !important;
  text-shadow: 0 1px 2px rgba(0, 4, 15, 0.38);
}

body.cabinet-theme-friends .friends-landing p,
body.cabinet-theme-friends .friends-story-grid p,
body.cabinet-theme-friends .friends-benefit-grid p,
body.cabinet-theme-friends .friends-device-grid p,
body.cabinet-theme-friends .friends-plan-card p,
body.cabinet-theme-friends .friends-empty-card p,
body.cabinet-theme-friends .friends-faq details p,
body.cabinet-theme-friends .friends-final-cta p,
body.cabinet-theme-friends .friends-footer p {
  color: #d8e3f1 !important;
  text-shadow: 0 1px 1px rgba(0, 4, 15, 0.3);
}

body.cabinet-theme-friends .friends-plan-card li,
body.cabinet-theme-friends .friends-trust-list,
body.cabinet-theme-friends .friends-steps p {
  color: #dbe6f3 !important;
}

body.cabinet-theme-friends .friends-preview-head small,
body.cabinet-theme-friends .friends-preview-status small,
body.cabinet-theme-friends .friends-preview-grid small,
body.cabinet-theme-friends .friends-plan-topline small,
body.cabinet-theme-friends .friends-brand small {
  color: #c8d7e9 !important;
}

body.cabinet-theme-friends .friends-nav-links a,
body.cabinet-theme-friends .friends-link-button,
body.cabinet-theme-friends .friends-float-card,
body.cabinet-theme-friends .friends-signal-strip {
  color: #e0eaf6 !important;
}

body.cabinet-theme-friends .friends-section-heading > span,
body.cabinet-theme-friends .friends-final-cta > div > span,
body.cabinet-theme-friends .friends-plan-topline span,
body.cabinet-theme-friends .friends-location-list small,
body.cabinet-theme-friends .friends-section-action a,
body.cabinet-theme-friends .friends-telegram-link {
  color: #7be8ff !important;
}

body.cabinet-theme-friends .m2-card p:not(.m2-muted),
body.cabinet-theme-friends .card p:not(.m2-muted),
body.cabinet-theme-friends .m2-card li,
body.cabinet-theme-friends .card li,
body.cabinet-theme-friends .m2-card label,
body.cabinet-theme-friends .card label {
  color: #e1eaf6;
}

body.cabinet-theme-friends .m2-muted,
body.cabinet-theme-friends .muted,
body.cabinet-theme-friends .m2-topbar-sub,
body.cabinet-theme-friends .m2-field,
body.cabinet-theme-friends .m2-kicker,
body.cabinet-theme-friends .m2-brand-sub {
  color: #c8d5e6 !important;
}

body.cabinet-theme-friends .m2-card h1,
body.cabinet-theme-friends .m2-card h2,
body.cabinet-theme-friends .m2-card h3,
body.cabinet-theme-friends .card h1,
body.cabinet-theme-friends .card h2,
body.cabinet-theme-friends .card h3 {
  color: #f7faff !important;
}

/* ========================================================================== */
/* Friends application system: shared inner pages                             */
/* ========================================================================== */

body.cabinet-theme-friends .wc-neo-content-wrap {
  max-width: 1320px;
  padding: 22px;
}

body.cabinet-theme-friends .wc-neo-main-head {
  min-height: 68px;
  padding: 12px 22px;
  backdrop-filter: blur(18px);
}

body.cabinet-theme-friends .wc-neo-badge {
  min-height: 36px;
  color: #dce8f6;
  border-color: rgba(128, 187, 255, 0.25);
  background: rgba(17, 39, 68, 0.82);
}

body.cabinet-theme-friends .m2-topbar {
  position: relative;
  overflow: hidden;
  padding: 18px 20px 18px 24px;
  border-color: rgba(98, 226, 255, 0.22);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 0, rgba(98, 226, 255, 0.12), transparent 16rem),
    linear-gradient(145deg, rgba(19, 44, 76, 0.94), rgba(10, 28, 51, 0.96));
  box-shadow: 0 20px 46px rgba(0, 5, 20, 0.28), inset 0 1px 0 rgba(255,255,255,.05);
}

body.cabinet-theme-friends .m2-topbar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--friends-cyan), var(--friends-primary));
  box-shadow: 0 0 16px rgba(98, 226, 255, .45);
}

body.cabinet-theme-friends .m2-topbar-title {
  color: #f8fbff;
  font-size: clamp(20px, 2.3vw, 28px);
  letter-spacing: -.02em;
}

body.cabinet-theme-friends .m2-topbar-sub {
  margin-top: 5px;
  color: #c7d5e7 !important;
  font-size: 13px;
}

body.cabinet-theme-friends .m2-content {
  margin-top: 16px;
}

body.cabinet-theme-friends .m2-card,
body.cabinet-theme-friends .card {
  border-color: rgba(128, 187, 255, 0.23);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgba(90, 152, 255, .07), transparent 13rem),
    linear-gradient(155deg, rgba(18, 40, 70, 0.93), rgba(10, 27, 50, 0.97));
  box-shadow: 0 20px 48px rgba(0, 5, 20, 0.28), inset 0 1px 0 rgba(255,255,255,.045);
}

body.cabinet-theme-friends .m2-card-link {
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.cabinet-theme-friends .m2-card-link:hover {
  transform: translateY(-3px);
  border-color: rgba(98, 226, 255, .5);
  box-shadow: 0 26px 58px rgba(0, 8, 28, .38), 0 0 0 1px rgba(98, 226, 255, .08);
}

body.cabinet-theme-friends .m2-btn,
body.cabinet-theme-friends .btn,
body.cabinet-theme-friends .t2-cta {
  min-height: 44px;
  border-radius: 13px;
  font-weight: 720;
  letter-spacing: .005em;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

body.cabinet-theme-friends .m2-btn:hover,
body.cabinet-theme-friends .btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

body.cabinet-theme-friends .m2-btn:focus-visible,
body.cabinet-theme-friends .btn:focus-visible,
body.cabinet-theme-friends input:focus-visible,
body.cabinet-theme-friends select:focus-visible,
body.cabinet-theme-friends textarea:focus-visible,
body.cabinet-theme-friends a:focus-visible,
body.cabinet-theme-friends button:focus-visible {
  outline: 3px solid rgba(98, 226, 255, .38);
  outline-offset: 3px;
}

body.cabinet-theme-friends .m2-btn-ghost,
body.cabinet-theme-friends .btn-secondary,
body.cabinet-theme-friends .m2-btn-outline {
  color: #e2ecf8 !important;
  border-color: rgba(128, 187, 255, 0.29);
  background: rgba(20, 44, 75, 0.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

body.cabinet-theme-friends .m2-btn-ghost:hover,
body.cabinet-theme-friends .btn-secondary:hover,
body.cabinet-theme-friends .m2-btn-outline:hover {
  border-color: rgba(98, 226, 255, .48);
  background: rgba(30, 59, 94, .9);
}

body.cabinet-theme-friends .m2-chip,
body.cabinet-theme-friends .m2-kpi-pill,
body.cabinet-theme-friends .m2-chip-link,
body.cabinet-theme-friends .m2-tab-btn {
  border-color: rgba(98, 226, 255, 0.23);
  color: #dce8f6 !important;
  background: rgba(19, 43, 73, 0.82);
}

body.cabinet-theme-friends .m2-chip-link,
body.cabinet-theme-friends .m2-tab-btn {
  min-height: 40px;
  border-radius: 12px;
  box-shadow: none;
}

body.cabinet-theme-friends .m2-chip-link:hover,
body.cabinet-theme-friends .m2-chip-link.is-active,
body.cabinet-theme-friends .m2-tab-btn:hover,
body.cabinet-theme-friends .m2-tab-btn.is-active {
  color: #fff !important;
  border-color: rgba(98, 226, 255, .43);
  background: linear-gradient(135deg, rgba(90, 152, 255, .38), rgba(43, 108, 173, .28));
}

body.cabinet-theme-friends .m2-form-grid {
  gap: 15px;
}

body.cabinet-theme-friends .m2-field {
  gap: 7px;
  color: #dbe6f3 !important;
  font-size: 13px;
  font-weight: 620;
}

body.cabinet-theme-friends input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.cabinet-theme-friends select,
body.cabinet-theme-friends textarea {
  min-height: 46px;
  border-radius: 13px !important;
  border-color: rgba(128, 187, 255, .3) !important;
  background: rgba(5, 17, 33, .78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

body.cabinet-theme-friends textarea {
  min-height: 116px;
  line-height: 1.55;
  resize: vertical;
}

body.cabinet-theme-friends input[type="checkbox"],
body.cabinet-theme-friends input[type="radio"] {
  accent-color: var(--friends-primary);
}

body.cabinet-theme-friends .m2-field-checkbox {
  color: #d7e2f0;
}

body.cabinet-theme-friends .m2-notice,
body.cabinet-theme-friends .notice,
body.cabinet-theme-friends .alert {
  display: block !important;
  padding: 13px 15px;
  border: 1px solid rgba(128, 187, 255, .28);
  border-radius: 14px;
  color: #e5eef9;
  background: rgba(22, 48, 80, .9);
}

body.cabinet-theme-friends .m2-success,
body.cabinet-theme-friends .notice.success {
  border-color: rgba(131, 250, 221, .42);
  color: #dffcf4;
  background: rgba(28, 113, 91, .26);
}

body.cabinet-theme-friends .m2-error,
body.cabinet-theme-friends .notice.error {
  border-color: rgba(255, 127, 159, .48);
  color: #ffe5ec;
  background: rgba(130, 35, 66, .28);
}

body.cabinet-theme-friends .m2-info {
  border-color: rgba(98, 226, 255, .4);
  color: #e2faff;
  background: rgba(33, 103, 132, .25);
}

body.cabinet-theme-friends .m2-table-wrap,
body.cabinet-theme-friends .table-container {
  border-color: rgba(128, 187, 255, .22);
  border-radius: 17px;
  background: rgba(7, 21, 40, .66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

body.cabinet-theme-friends .m2-table thead th,
body.cabinet-theme-friends thead th,
body.cabinet-theme-friends .data-table thead th {
  color: #e8f1fc;
  background: linear-gradient(135deg, rgba(90, 152, 255, .2), rgba(98, 226, 255, .08));
}

body.cabinet-theme-friends .m2-table td,
body.cabinet-theme-friends .m2-table th,
body.cabinet-theme-friends td,
body.cabinet-theme-friends th {
  border-bottom-color: rgba(128, 187, 255, .12);
}

body.cabinet-theme-friends .m2-table tbody tr:last-child td {
  border-bottom: 0;
}

body.cabinet-theme-friends .m2-props,
body.cabinet-theme-friends .m2-profile-props-grid,
body.cabinet-theme-friends .m2-pay-summary-grid {
  gap: 10px;
}

body.cabinet-theme-friends .m2-props > p,
body.cabinet-theme-friends .m2-profile-prop,
body.cabinet-theme-friends .m2-pay-summary-item {
  border: 1px solid rgba(128, 187, 255, .16);
  border-radius: 14px;
  background: rgba(7, 21, 40, .52);
}

/* ========================================================================== */
/* Login, registration, verification and password recovery                    */
/* ========================================================================== */

body.cabinet-theme-friends.wc-guest-auth-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 8%, rgba(90, 152, 255, .26), transparent 30rem),
    radial-gradient(circle at 88% 15%, rgba(98, 226, 255, .16), transparent 26rem),
    #081526;
}

body.cabinet-theme-friends.wc-guest-auth-page .wc-neo-sidebar,
body.cabinet-theme-friends.wc-guest-auth-page .wc-neo-main-head,
body.cabinet-theme-friends.wc-guest-auth-page .wc-neo-mobile-tabbar,
body.cabinet-theme-friends.wc-guest-auth-page .m2-topbar,
body.cabinet-theme-friends.wc-guest-auth-page #support-chat,
body.cabinet-theme-friends.wc-guest-auth-page .support-widget,
body.cabinet-theme-friends.wc-guest-auth-page .support-fab {
  display: none !important;
}

body.cabinet-theme-friends.wc-guest-auth-page .wc-neo-app {
  display: block !important;
  min-height: 100vh;
  padding: 0;
}

body.cabinet-theme-friends.wc-guest-auth-page .wc-neo-main {
  min-height: 100vh;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.cabinet-theme-friends.wc-guest-auth-page .wc-neo-content-wrap {
  max-width: 1060px !important;
  padding: 10px 24px 64px !important;
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-content {
  margin: 0;
}

.friends-auth-brandbar {
  width: min(1060px, calc(100% - 48px));
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 auto;
  border-bottom: 1px solid rgba(128, 187, 255, .13);
}

.friends-auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #f7fbff !important;
  text-decoration: none;
}

.friends-auth-brand > span:last-child { display: grid; gap: 2px; }
.friends-auth-brand strong { font-size: 15px; }
.friends-auth-brand small { color: #c8d7e9; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

.friends-auth-brandmark {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(20, 45, 77, .88);
  box-shadow: 0 0 28px rgba(98, 226, 255, .14);
}

.friends-auth-brandmark svg { width: 45px; height: 45px; }
.friends-auth-brandmark circle:first-child { fill: #193a62; stroke: var(--friends-cyan); stroke-width: 2.5; }
.friends-auth-brandmark path,
.friends-auth-brandmark ellipse { fill: none; stroke: var(--friends-cyan); stroke-width: 2.2; }
.friends-auth-brandmark .friends-auth-branddot { fill: var(--friends-cyan); stroke: none; }

.friends-auth-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #d3dfed !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.friends-auth-back:hover { color: var(--friends-cyan) !important; }

body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-layout {
  grid-template-columns: minmax(290px, .88fr) minmax(360px, 1.12fr);
  gap: 18px;
  align-items: stretch;
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-side,
body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-main {
  margin: 0;
  padding: clamp(28px, 4vw, 44px);
  border-radius: 28px;
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-side {
  position: relative;
  overflow: hidden;
  border-color: rgba(98, 226, 255, .28);
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .18), transparent 19rem),
    radial-gradient(circle at 0 100%, rgba(90, 152, 255, .21), transparent 19rem),
    linear-gradient(150deg, rgba(25, 57, 96, .96), rgba(10, 29, 53, .98));
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-side::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  right: -95px;
  bottom: -95px;
  border: 1px solid rgba(98, 226, 255, .17);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(90, 152, 255, .035), 0 0 0 70px rgba(98, 226, 255, .025);
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-side h1 {
  margin: 22px 0 14px;
  font-size: clamp(34px, 4vw, 48px);
  letter-spacing: -.035em;
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-feature-list {
  display: grid;
  gap: 13px;
  padding: 0;
  list-style: none;
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-feature-list li {
  position: relative;
  padding-left: 28px;
  color: #deebf8;
  line-height: 1.55;
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-feature-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #082038;
  background: var(--friends-mint);
  font-size: 10px;
  font-weight: 900;
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-main {
  border-color: rgba(128, 187, 255, .25);
  background: linear-gradient(155deg, rgba(18, 40, 70, .97), rgba(9, 26, 48, .98));
}

body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-main > h2 {
  margin: 0 0 22px;
  font-size: 25px;
  letter-spacing: -.02em;
}

body.cabinet-theme-friends.wc-guest-auth-page .auth-card {
  width: min(100%, 620px);
  margin: 28px auto 0;
  padding: clamp(28px, 5vw, 46px);
  border-radius: 28px;
}

body.cabinet-theme-friends.wc-guest-auth-page .auth-card > h1 {
  margin-top: 0;
  font-size: clamp(28px, 4vw, 38px);
}

/* ========================================================================== */
/* Dashboard and data-heavy account pages                                     */
/* ========================================================================== */

body.cabinet-theme-friends.wc-authenticated .m2-greeting-strip {
  position: relative;
  min-height: 180px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid rgba(98, 226, 255, .25);
  border-radius: 26px;
  background:
    radial-gradient(circle at 86% 22%, rgba(98, 226, 255, .18), transparent 18rem),
    linear-gradient(140deg, rgba(28, 64, 106, .94), rgba(11, 31, 57, .97));
  box-shadow: 0 24px 58px rgba(0, 5, 20, .34), inset 0 1px 0 rgba(255,255,255,.05);
}

body.cabinet-theme-friends.wc-authenticated .m2-greeting-strip::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -90px;
  top: -115px;
  border: 1px solid rgba(98, 226, 255, .2);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(90,152,255,.04), 0 0 0 84px rgba(98,226,255,.025);
}

body.cabinet-theme-friends.wc-authenticated .m2-greeting-strip h1 {
  max-width: 780px;
  margin: 14px 0 10px;
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: -.035em;
}

body.cabinet-theme-friends .m2-grid-4,
body.cabinet-theme-friends .m2-keys-kpis,
body.cabinet-theme-friends .m2-pay-kpis {
  gap: 14px;
}

body.cabinet-theme-friends .m2-metric-card,
body.cabinet-theme-friends .m2-keys-kpi-card,
body.cabinet-theme-friends .m2-pay-kpi-card {
  min-height: 128px;
  margin: 0;
  padding: 20px;
  border-color: rgba(128, 187, 255, .2);
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .1), transparent 10rem),
    linear-gradient(155deg, rgba(21, 47, 80, .94), rgba(10, 28, 51, .97));
}

body.cabinet-theme-friends .m2-metric,
body.cabinet-theme-friends .m2-keys-kpi-value,
body.cabinet-theme-friends .m2-pay-kpi-value {
  color: #f8fbff;
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 820;
  letter-spacing: -.03em;
}

body.cabinet-theme-friends .m2-subscription-focus,
body.cabinet-theme-friends .m2-subscription-focus-empty {
  border-color: rgba(98, 226, 255, .18);
  border-radius: 17px;
  background: rgba(7, 22, 41, .52);
}

body.cabinet-theme-friends .m2-tariff-item {
  border-color: rgba(128, 187, 255, .22);
  border-radius: 19px;
  background: rgba(10, 28, 51, .7);
}

body.cabinet-theme-friends .m2-tariff-featured {
  border-color: rgba(98, 226, 255, .5);
  background: linear-gradient(155deg, rgba(29, 65, 106, .9), rgba(10, 31, 57, .94));
}

/* Tariffs template has its own inline palette, so theme it through important
   custom properties and focused component overrides. */
body.cabinet-theme-friends .t2-page {
  --t2-accent: #5a98ff !important;
  --t2-accent-2: #62e2ff !important;
  --t2-accent-glow: rgba(90, 152, 255, .36) !important;
  --t2-success: #83fadd !important;
  --t2-text: #f2f7ff !important;
  --t2-text-dim: #d0dced !important;
  --t2-text-mute: #b9c9dc !important;
  --t2-bg-card: rgba(17, 39, 68, .92) !important;
  --t2-border: rgba(128, 187, 255, .25) !important;
  --t2-border-strong: rgba(98, 226, 255, .48) !important;
  --t2-radius: 22px !important;
}

body.cabinet-theme-friends .t2-tabs {
  padding: 7px;
  border: 1px solid rgba(128, 187, 255, .18);
  border-radius: 16px;
  background: rgba(7, 22, 41, .55);
}

body.cabinet-theme-friends .t2-tab {
  color: #d5e1ef !important;
  border-radius: 11px !important;
}

body.cabinet-theme-friends .t2-tab.active {
  color: #fff !important;
  border-color: rgba(98, 226, 255, .42) !important;
  background: linear-gradient(135deg, rgba(90, 152, 255, .36), rgba(43, 111, 176, .24)) !important;
  box-shadow: 0 0 0 4px rgba(98, 226, 255, .045) !important;
}

body.cabinet-theme-friends .t2-card {
  min-height: 400px;
  padding: 25px !important;
  border-color: rgba(128, 187, 255, .25) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .08), transparent 12rem),
    linear-gradient(155deg, rgba(20, 45, 77, .96), rgba(9, 27, 50, .98)) !important;
  box-shadow: 0 22px 52px rgba(0, 5, 20, .32), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

body.cabinet-theme-friends .t2-card.popular {
  border-color: rgba(98, 226, 255, .58) !important;
  background:
    radial-gradient(circle at 50% 0, rgba(98, 226, 255, .16), transparent 16rem),
    linear-gradient(155deg, rgba(30, 67, 110, .98), rgba(10, 31, 57, .99)) !important;
}

body.cabinet-theme-friends .t2-card.popular::before {
  background: radial-gradient(60% 50% at 50% 0%, rgba(98, 226, 255, .2), transparent 70%) !important;
}

body.cabinet-theme-friends .t2-badge {
  color: #082038 !important;
  background: linear-gradient(180deg, #83fadd, #62e2ff) !important;
  box-shadow: 0 9px 24px rgba(98, 226, 255, .24) !important;
}

body.cabinet-theme-friends .t2-features .t2-ico {
  color: var(--friends-cyan) !important;
  background: rgba(98, 226, 255, .1) !important;
}

body.cabinet-theme-friends .t2-card.popular .t2-cta {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--friends-primary), #3675e8) !important;
  box-shadow: 0 14px 30px rgba(50, 111, 223, .28) !important;
}

body.cabinet-theme-friends .t2-anon-cta {
  border-color: rgba(98, 226, 255, .23) !important;
  color: #d8e4f2 !important;
  background: rgba(21, 48, 80, .68) !important;
}

body.cabinet-theme-friends .t2-anon-cta a {
  border-color: rgba(98, 226, 255, .3) !important;
  background: rgba(90, 152, 255, .2) !important;
}

/* ========================================================================== */
/* Subscriptions, payments and profile                                        */
/* ========================================================================== */

body.cabinet-theme-friends .m2-keys-layout,
body.cabinet-theme-friends .m2-pay-layout,
body.cabinet-theme-friends .m2-profile-layout {
  gap: 18px;
}

body.cabinet-theme-friends .m2-keys-header {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 3.2vw, 32px) !important;
  border-color: rgba(98, 226, 255, .27);
  background:
    radial-gradient(circle at 92% 14%, rgba(98, 226, 255, .16), transparent 16rem),
    linear-gradient(145deg, rgba(27, 60, 101, .96), rgba(9, 28, 52, .98));
}

body.cabinet-theme-friends .m2-keys-title,
body.cabinet-theme-friends .m2-pay-title {
  color: #f8fbff;
  font-size: clamp(27px, 3vw, 38px);
  letter-spacing: -.035em;
}

body.cabinet-theme-friends .m2-keys-subtitle,
body.cabinet-theme-friends .m2-pay-subtitle {
  color: #d2deec;
}

body.cabinet-theme-friends .m2-keys-toolbar {
  position: relative;
  z-index: 1;
  gap: 18px;
}

body.cabinet-theme-friends .m2-keys-actions-primary,
body.cabinet-theme-friends .m2-keys-actions-secondary,
body.cabinet-theme-friends .m2-keys-table-actions {
  gap: 8px;
}

body.cabinet-theme-friends .m2-keys-status,
body.cabinet-theme-friends .m2-pay-status {
  border-width: 1px;
  color: #e9f3fd;
  background: rgba(90, 152, 255, .12);
}

body.cabinet-theme-friends .m2-keys-status--active,
body.cabinet-theme-friends .m2-pay-status--success {
  color: #bffceb;
  border-color: rgba(80, 226, 184, .45);
  background: rgba(45, 181, 146, .14);
}

body.cabinet-theme-friends .m2-keys-status--renew,
body.cabinet-theme-friends .m2-pay-status--pending {
  color: #ffe9a8;
  border-color: rgba(255, 204, 82, .42);
  background: rgba(212, 153, 31, .14);
}

body.cabinet-theme-friends .m2-keys-status--expired,
body.cabinet-theme-friends .m2-pay-status--failed {
  color: #ffc3c7;
  border-color: rgba(255, 112, 126, .4);
  background: rgba(205, 65, 84, .14);
}

body.cabinet-theme-friends .m2-keys-modal {
  padding: clamp(10px, 2vw, 24px);
  background: rgba(3, 12, 25, .82);
  backdrop-filter: blur(14px);
}

body.cabinet-theme-friends .m2-keys-modal-box {
  border-color: rgba(98, 226, 255, .27);
  border-radius: 25px;
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .1), transparent 18rem),
    linear-gradient(155deg, rgba(18, 42, 73, .99), rgba(8, 25, 47, .995));
  box-shadow: 0 30px 90px rgba(0, 4, 18, .62), inset 0 1px 0 rgba(255,255,255,.05);
  scrollbar-color: rgba(98, 226, 255, .35) rgba(5, 20, 38, .6);
}

body.cabinet-theme-friends .m2-promo-block,
body.cabinet-theme-friends .m2-install-sidebar,
body.cabinet-theme-friends .m2-install-main,
body.cabinet-theme-friends .m2-app-card,
body.cabinet-theme-friends .m2-hwid-device {
  border: 1px solid rgba(128, 187, 255, .2);
  border-radius: 17px;
  background: rgba(6, 22, 42, .52);
}

body.cabinet-theme-friends .m2-promo-block {
  padding: 15px;
}

body.cabinet-theme-friends .m2-install-sidebar,
body.cabinet-theme-friends .m2-install-main {
  padding: 18px;
}

body.cabinet-theme-friends .m2-platform-tab,
body.cabinet-theme-friends .m2-app-item {
  color: #d8e4f2;
  border-color: rgba(128, 187, 255, .2);
  background: rgba(16, 39, 67, .72);
}

body.cabinet-theme-friends .m2-platform-tab:hover,
body.cabinet-theme-friends .m2-app-item:hover,
body.cabinet-theme-friends .m2-platform-tab.is-active,
body.cabinet-theme-friends .m2-app-item.is-active {
  color: #fff;
  border-color: rgba(98, 226, 255, .48);
  background: rgba(43, 104, 169, .48);
}

body.cabinet-theme-friends .m2-hwid-meta-row {
  border-color: rgba(128, 187, 255, .19);
  background: rgba(3, 16, 32, .54);
}

body.cabinet-theme-friends .m2-hwid-meta-label {
  color: #b8c9dc;
}

body.cabinet-theme-friends .m2-hwid-meta-value,
body.cabinet-theme-friends .m2-hwid-device-index {
  color: #f3f8ff;
}

body.cabinet-theme-friends .m2-pay-top > .m2-card:first-child {
  border-color: rgba(98, 226, 255, .27);
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .12), transparent 15rem),
    linear-gradient(155deg, rgba(25, 56, 94, .97), rgba(9, 28, 52, .98));
}

body.cabinet-theme-friends .m2-pay-provider-card {
  min-height: 46px;
  border: 1px solid rgba(128, 187, 255, .23);
  border-radius: 13px;
  color: #d5e2f0;
  background: rgba(8, 27, 51, .7);
}

body.cabinet-theme-friends .m2-pay-provider-card:hover {
  color: #fff;
  border-color: rgba(98, 226, 255, .48);
  background: rgba(24, 58, 96, .84);
}

body.cabinet-theme-friends .m2-pay-provider-card.is-selected {
  color: #fff;
  border-color: rgba(98, 226, 255, .7);
  background: linear-gradient(135deg, rgba(65, 124, 222, .55), rgba(33, 125, 163, .36));
  box-shadow: 0 0 0 4px rgba(98, 226, 255, .055);
}

body.cabinet-theme-friends .m2-pay-summary-item,
body.cabinet-theme-friends .m2-profile-prop {
  padding: 13px 15px;
  border-color: rgba(128, 187, 255, .2);
  border-radius: 14px;
  background: rgba(7, 24, 45, .58);
}

body.cabinet-theme-friends .m2-pay-summary-item span,
body.cabinet-theme-friends .m2-profile-prop span {
  color: #bdcde0;
}

body.cabinet-theme-friends .m2-pay-summary-item strong,
body.cabinet-theme-friends .m2-profile-prop b,
body.cabinet-theme-friends .m2-profile-prop a {
  color: #f5f9ff;
}

body.cabinet-theme-friends .m2-tab-bar {
  gap: 6px;
  padding: 6px;
  border: 1px solid rgba(128, 187, 255, .18);
  border-radius: 14px;
  background: rgba(4, 18, 35, .48);
}

body.cabinet-theme-friends .m2-tab-btn {
  margin: 0;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #bfd0e3;
}

body.cabinet-theme-friends .m2-tab-btn:hover:not(.is-active) {
  color: #fff;
  background: rgba(90, 152, 255, .1);
}

body.cabinet-theme-friends .m2-tab-btn.is-active {
  color: #fff;
  border-color: rgba(98, 226, 255, .33);
  background: rgba(55, 116, 194, .34);
}

body.cabinet-theme-friends .m2-profile-nav-wrap {
  border-color: rgba(98, 226, 255, .24);
  background:
    radial-gradient(circle at 95% 0, rgba(98, 226, 255, .11), transparent 15rem),
    linear-gradient(155deg, rgba(24, 54, 91, .96), rgba(9, 28, 52, .98));
}

body.cabinet-theme-friends .m2-profile-push-banner {
  padding: 16px 18px;
  border-color: rgba(98, 226, 255, .31);
  border-radius: 16px;
  color: #eaf4ff;
  background: linear-gradient(135deg, rgba(52, 114, 188, .28), rgba(31, 117, 137, .18));
}

/* ========================================================================== */
/* Support, legal copy and service states                                     */
/* ========================================================================== */

body.cabinet-theme-friends .wc-support-widget,
body.cabinet-theme-friends .wc-support-fab {
  --sw-accent: var(--friends-primary);
  --sw-bg: #0c213b;
  --sw-text: #f2f7ff;
  --sw-text-2: #c3d3e6;
  --sw-text-3: #8fa5bf;
  --sw-border: rgba(98, 226, 255, .24);
  --sw-surface: rgba(90, 152, 255, .11);
}

body.cabinet-theme-friends .wc-support-fab {
  border: 1px solid rgba(98, 226, 255, .38);
  background: linear-gradient(135deg, var(--friends-primary), #2e9ebd);
  box-shadow: 0 12px 32px rgba(47, 116, 222, .36), 0 0 0 5px rgba(98, 226, 255, .045);
}

body.cabinet-theme-friends .wc-support-widget {
  border-color: rgba(98, 226, 255, .27);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .1), transparent 15rem),
    linear-gradient(160deg, rgba(17, 40, 69, .99), rgba(7, 23, 43, .995));
  box-shadow: 0 28px 72px rgba(0, 4, 18, .58), inset 0 1px 0 rgba(255,255,255,.05);
}

body.cabinet-theme-friends .wc-sw-header {
  border-bottom-color: rgba(98, 226, 255, .2);
  background: linear-gradient(135deg, rgba(90, 152, 255, .24), rgba(49, 154, 181, .13));
}

body.cabinet-theme-friends .wc-sw-avatar {
  background: linear-gradient(135deg, var(--friends-primary), #2e9ebd);
  box-shadow: 0 8px 20px rgba(49, 124, 216, .24);
}

body.cabinet-theme-friends .wc-sw-form {
  border-top-color: rgba(98, 226, 255, .18);
  background: rgba(5, 19, 37, .78);
}

body.cabinet-theme-friends .from-user .wc-sw-msg-bubble {
  border-color: rgba(98, 226, 255, .29);
  background: linear-gradient(135deg, rgba(67, 127, 218, .3), rgba(42, 132, 159, .18));
}

body.cabinet-theme-friends .from-support .wc-sw-msg-bubble {
  border-color: rgba(128, 187, 255, .19);
  background: rgba(8, 27, 51, .72);
}

body.cabinet-theme-friends #supportTicketsMode > .m2-grid-2 {
  gap: 18px;
}

body.cabinet-theme-friends #supportTicketsList {
  align-content: start;
}

body.cabinet-theme-friends #supportTicketsList .m2-btn {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  white-space: normal;
}

body.cabinet-theme-friends #supportMessages .m2-card {
  margin: 0;
  border-color: rgba(128, 187, 255, .18);
  background: rgba(7, 24, 45, .66);
  box-shadow: none;
}

body.cabinet-theme-friends input[type="file"] {
  color: #c6d6e8;
}

body.cabinet-theme-friends input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 9px 13px;
  border: 1px solid rgba(128, 187, 255, .25);
  border-radius: 10px;
  color: #e9f3ff;
  background: rgba(42, 83, 137, .54);
  cursor: pointer;
}

body.cabinet-theme-friends .m2-legal-page {
  width: min(100%, 940px);
  margin: 0 auto;
  padding: clamp(25px, 4.5vw, 52px);
  border-color: rgba(98, 226, 255, .22);
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .075), transparent 19rem),
    linear-gradient(155deg, rgba(17, 40, 69, .96), rgba(8, 25, 47, .98));
}

body.cabinet-theme-friends .m2-legal-page h1 {
  margin: 0 0 28px;
  color: #f8fbff;
  font-size: clamp(30px, 4.2vw, 44px);
  letter-spacing: -.035em;
}

body.cabinet-theme-friends .m2-legal-page h2 {
  margin: 34px 0 12px;
  color: #f1f7ff;
  font-size: clamp(19px, 2.2vw, 24px);
}

body.cabinet-theme-friends .m2-legal-page p,
body.cabinet-theme-friends .m2-legal-page li {
  color: #d3dfed;
  font-size: 15px;
  line-height: 1.78;
}

body.cabinet-theme-friends .m2-legal-page ul {
  padding-left: 23px;
}

body.cabinet-theme-friends .m2-legal-page li::marker {
  color: var(--friends-cyan);
}

body.cabinet-theme-friends .m2-legal-page a {
  color: #8eeaff;
  text-decoration-color: rgba(142, 234, 255, .45);
}

body.cabinet-theme-friends .m2-content > .m2-card:only-child {
  min-height: 180px;
}

/* ========================================================================== */
/* Responsive application shell                                               */
/* ========================================================================== */

@media (max-width: 980px) {
  body.cabinet-theme-friends.wc-guest-auth-page {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 100svh;
    overflow: auto !important;
  }

  body.cabinet-theme-friends.wc-guest-auth-page .wc-neo-app,
  body.cabinet-theme-friends.wc-guest-auth-page .wc-neo-main {
    height: auto !important;
    min-height: 100svh;
    overflow: visible !important;
  }

  body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-brandbar {
    width: min(100%, 660px);
    padding-top: 20px;
  }

  body.cabinet-theme-friends.wc-guest-auth-page .m2-content {
    padding-top: 14px;
  }

  body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-layout {
    grid-template-columns: 1fr;
  }

  body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-side {
    display: none;
  }

  body.cabinet-theme-friends .m2-pay-top,
  body.cabinet-theme-friends .m2-profile-main-grid {
    grid-template-columns: 1fr;
  }

  body.cabinet-theme-friends .m2-connect-modal-box .m2-install-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  body.cabinet-theme-friends.wc-authenticated .m2-content {
    padding-inline: 12px;
  }

  body.cabinet-theme-friends .m2-card {
    border-radius: 18px;
  }

  body.cabinet-theme-friends.wc-authenticated .m2-greeting-strip {
    min-height: 150px;
    border-radius: 20px;
  }

  body.cabinet-theme-friends .m2-keys-header,
  body.cabinet-theme-friends .m2-profile-nav-wrap,
  body.cabinet-theme-friends .m2-legal-page {
    padding: 20px !important;
  }

  body.cabinet-theme-friends .m2-keys-kpis,
  body.cabinet-theme-friends .m2-pay-kpis {
    gap: 7px;
  }

  body.cabinet-theme-friends .m2-keys-kpi-card,
  body.cabinet-theme-friends .m2-pay-kpi-card {
    min-height: 96px;
    padding: 12px 10px !important;
  }

  body.cabinet-theme-friends .m2-keys-kpi-value,
  body.cabinet-theme-friends .m2-pay-kpi-value {
    font-size: clamp(17px, 5vw, 24px);
  }

  body.cabinet-theme-friends .m2-keys-toolbar-right,
  body.cabinet-theme-friends .m2-keys-actions-primary,
  body.cabinet-theme-friends .m2-keys-actions-secondary {
    width: 100%;
  }

  body.cabinet-theme-friends .m2-pay-summary-grid {
    grid-template-columns: 1fr;
  }

  body.cabinet-theme-friends .m2-keys-modal {
    align-items: flex-end;
    padding: 7px;
  }

  body.cabinet-theme-friends .m2-keys-modal-box {
    width: 100%;
    max-height: calc(100svh - 14px);
    border-radius: 22px;
  }

  body.cabinet-theme-friends .m2-dropdown-header,
  body.cabinet-theme-friends .m2-pay-history-head {
    align-items: stretch;
  }
}

@media (max-width: 480px) {
  body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-brandbar {
    padding-inline: 16px;
  }

  body.cabinet-theme-friends.wc-guest-auth-page .m2-auth-main,
  body.cabinet-theme-friends.wc-guest-auth-page .auth-card {
    padding: 22px;
    border-radius: 22px;
  }

  body.cabinet-theme-friends .m2-profile-prop {
    align-items: flex-start;
    flex-direction: column;
  }

  body.cabinet-theme-friends .m2-profile-prop b,
  body.cabinet-theme-friends .m2-profile-prop a {
    text-align: left;
  }

  body.cabinet-theme-friends .m2-profile-actions,
  body.cabinet-theme-friends .m2-profile-actions form,
  body.cabinet-theme-friends .m2-profile-actions .m2-btn {
    width: 100%;
  }

  body.cabinet-theme-friends .m2-tab-bar {
    overflow-x: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cabinet-theme-friends *,
  body.cabinet-theme-friends *::before,
  body.cabinet-theme-friends *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ========================================================================== */
/* Final Friends dark lock                                                    */
/* The base neo stylesheet ends with a light-theme !important lock. Keep this */
/* block last so no white surfaces or dark text can leak into Friends.        */
/* ========================================================================== */

body.cabinet-theme-friends.wc-neo-body {
  color-scheme: dark !important;
  --neo-bg: #081526;
  --neo-bg-soft: #0d2039;
  --neo-ink: #f2f7ff;
  --neo-muted: #d0dced;
  --neo-border: rgba(128, 187, 255, .3);
  --neo-border-strong: rgba(98, 226, 255, .58);
}

body.cabinet-theme-friends.wc-neo-body .m2-sidebar,
body.cabinet-theme-friends.wc-neo-body .m2-masthead,
body.cabinet-theme-friends.wc-neo-body .m2-topbar,
body.cabinet-theme-friends.wc-neo-body .m2-card,
body.cabinet-theme-friends.wc-neo-body .card,
body.cabinet-theme-friends.wc-neo-body .inner,
body.cabinet-theme-friends.wc-neo-body .m2-install-main,
body.cabinet-theme-friends.wc-neo-body .m2-install-sidebar,
body.cabinet-theme-friends.wc-neo-body .m2-auth-main,
body.cabinet-theme-friends.wc-neo-body .m2-auth-side,
body.cabinet-theme-friends.wc-neo-body .m2-app-card,
body.cabinet-theme-friends.wc-neo-body .m2-tariff-item,
body.cabinet-theme-friends.wc-neo-body .m2-table-wrap,
body.cabinet-theme-friends.wc-neo-body .table-container {
  color: #f2f7ff !important;
  border-color: rgba(128, 187, 255, .24) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(90, 152, 255, .07), transparent 13rem),
    linear-gradient(155deg, rgba(18, 40, 70, .96), rgba(9, 26, 49, .985)) !important;
  box-shadow: 0 20px 48px rgba(0, 5, 20, .3), inset 0 1px 0 rgba(255,255,255,.045) !important;
}

body.cabinet-theme-friends.wc-neo-body .m2-card p:not(.m2-muted),
body.cabinet-theme-friends.wc-neo-body .card p:not(.m2-muted),
body.cabinet-theme-friends.wc-neo-body .m2-card li,
body.cabinet-theme-friends.wc-neo-body .card li,
body.cabinet-theme-friends.wc-neo-body .m2-card label,
body.cabinet-theme-friends.wc-neo-body .card label {
  color: #e3edf8 !important;
}

body.cabinet-theme-friends.wc-neo-body .m2-muted,
body.cabinet-theme-friends.wc-neo-body .muted,
body.cabinet-theme-friends.wc-neo-body .m2-topbar-sub,
body.cabinet-theme-friends.wc-neo-body .m2-field,
body.cabinet-theme-friends.wc-neo-body .m2-kicker,
body.cabinet-theme-friends.wc-neo-body .m2-brand-sub {
  color: #d0dced !important;
}

body.cabinet-theme-friends.wc-neo-body .m2-input,
body.cabinet-theme-friends.wc-neo-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.cabinet-theme-friends.wc-neo-body select,
body.cabinet-theme-friends.wc-neo-body textarea,
body.cabinet-theme-friends.wc-neo-body .admin-input {
  color: #f2f7ff !important;
  border-color: rgba(128, 187, 255, .32) !important;
  background: rgba(4, 17, 33, .86) !important;
  -webkit-text-fill-color: #f2f7ff !important;
}

body.cabinet-theme-friends.wc-neo-body input::placeholder,
body.cabinet-theme-friends.wc-neo-body textarea::placeholder {
  color: #91a6c0 !important;
  -webkit-text-fill-color: #91a6c0 !important;
  opacity: 1;
}

body.cabinet-theme-friends.wc-neo-body select option {
  color: #f2f7ff;
  background: #0a1d35;
}

body.cabinet-theme-friends.wc-neo-body input[type="checkbox"],
body.cabinet-theme-friends.wc-neo-body input[type="radio"] {
  border-color: rgba(128, 187, 255, .42) !important;
  background-color: #081a31 !important;
  accent-color: var(--friends-primary);
  -webkit-text-fill-color: initial !important;
}

body.cabinet-theme-friends.wc-neo-body .m2-table,
body.cabinet-theme-friends.wc-neo-body .data-table {
  color: #dce8f5 !important;
  border-color: rgba(128, 187, 255, .18) !important;
  background: rgba(6, 21, 40, .76) !important;
}

body.cabinet-theme-friends.wc-neo-body .m2-table thead th,
body.cabinet-theme-friends.wc-neo-body .data-table thead th,
body.cabinet-theme-friends.wc-neo-body .m2-table td,
body.cabinet-theme-friends.wc-neo-body .m2-table th,
body.cabinet-theme-friends.wc-neo-body .data-table td,
body.cabinet-theme-friends.wc-neo-body .data-table th {
  color: #dce8f5 !important;
  border-bottom-color: rgba(128, 187, 255, .13) !important;
}

body.cabinet-theme-friends.wc-neo-body .wc-toast {
  color: #eef6ff !important;
  border-color: rgba(128, 187, 255, .28) !important;
  background: #102b4a !important;
  box-shadow: 0 15px 36px rgba(0, 5, 20, .42) !important;
}

body.cabinet-theme-friends.wc-neo-body .wc-toast-success {
  color: #dffcf4 !important;
  border-color: rgba(131, 250, 221, .42) !important;
  background: #153f3b !important;
}

body.cabinet-theme-friends.wc-neo-body .wc-toast-error {
  color: #ffe5ec !important;
  border-color: rgba(255, 127, 159, .46) !important;
  background: #492038 !important;
}

body.cabinet-theme-friends.wc-neo-body .wc-toast-close {
  color: #d5e2f0 !important;
}

body.cabinet-theme-friends.wc-neo-body .ref-hero {
  color: #f3f8ff;
  border-color: rgba(98, 226, 255, .26);
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .12), transparent 16rem),
    linear-gradient(150deg, rgba(26, 59, 99, .96), rgba(9, 28, 52, .98));
  box-shadow: 0 22px 52px rgba(0, 5, 20, .32);
}

body.cabinet-theme-friends.wc-neo-body .ref-hero-title,
body.cabinet-theme-friends.wc-neo-body .ref-kpi-val {
  color: #f7fbff;
}

body.cabinet-theme-friends.wc-neo-body .ref-hero-sub,
body.cabinet-theme-friends.wc-neo-body .ref-kpi-lbl,
body.cabinet-theme-friends.wc-neo-body .ref-balance-lbl {
  color: #c9d7e7;
}

body.cabinet-theme-friends.wc-neo-body .ref-kpi,
body.cabinet-theme-friends.wc-neo-body .ref-balance-card,
body.cabinet-theme-friends.wc-neo-body .ref-term {
  border-color: rgba(128, 187, 255, .17);
  background: rgba(6, 22, 42, .58);
}

@media (max-width: 760px) {
  body.cabinet-theme-friends.wc-neo-body .m2-table.keys-table tr {
    color: #e5eef9 !important;
    border-color: rgba(128, 187, 255, .21) !important;
    background: rgba(8, 26, 49, .92) !important;
    box-shadow: 0 10px 24px rgba(0, 5, 20, .24) !important;
  }

  body.cabinet-theme-friends.wc-neo-body .m2-table.keys-table td,
  body.cabinet-theme-friends.wc-neo-body .m2-table.keys-table td::before {
    color: #d9e6f4 !important;
  }
}

/* Login remains a focused blue sign-in screen. Registration reverses the    */
/* columns and uses a mint/cyan progression so both pages are unmistakable.  */
body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-login .m2-auth-side {
  border-color: rgba(90, 152, 255, .42) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(98, 226, 255, .16), transparent 18rem),
    linear-gradient(150deg, rgba(27, 61, 104, .98), rgba(10, 29, 53, .99)) !important;
}

body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-login .m2-auth-main {
  border-top: 3px solid var(--friends-primary) !important;
}

body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register {
  grid-template-columns: minmax(380px, 1.15fr) minmax(290px, .85fr);
}

body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register .m2-auth-main {
  order: 1;
  border-top: 3px solid var(--friends-mint) !important;
  background:
    radial-gradient(circle at 0 0, rgba(131, 250, 221, .075), transparent 15rem),
    linear-gradient(155deg, rgba(17, 43, 72, .99), rgba(8, 26, 48, .995)) !important;
}

body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register .m2-auth-side {
  order: 2;
  border-color: rgba(131, 250, 221, .34) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(131, 250, 221, .19), transparent 18rem),
    radial-gradient(circle at 0 100%, rgba(98, 226, 255, .16), transparent 18rem),
    linear-gradient(150deg, rgba(20, 68, 78, .97), rgba(8, 31, 52, .99)) !important;
}

body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register .m2-feature-list {
  counter-reset: register-feature;
}

body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register .m2-feature-list li {
  counter-increment: register-feature;
  padding-left: 34px;
}

body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register .m2-feature-list li::before {
  content: counter(register-feature);
  width: 23px;
  height: 23px;
  border-radius: 8px;
  color: #082038;
  background: linear-gradient(180deg, var(--friends-mint), var(--friends-cyan));
}

body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register form > .m2-btn[type="submit"] {
  color: #071d31 !important;
  background: linear-gradient(135deg, var(--friends-mint), var(--friends-cyan)) !important;
  box-shadow: 0 14px 32px rgba(98, 226, 255, .2) !important;
}

@media (max-width: 980px) {
  body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register {
    grid-template-columns: 1fr;
  }

  body.cabinet-theme-friends.wc-guest-auth-page .friends-auth-register .m2-auth-main {
    order: 1;
  }
}

/* ========================================================================== */
/* Authenticated Friends contrast lock                                        */
/* Base Neo and admin styles contain late light-theme guards with !important. */
/* Keep this block last and scoped to signed-in pages.                         */
/* ========================================================================== */

body.cabinet-theme-friends.wc-neo-body.wc-authenticated {
  color: #f3f8ff !important;
}

/* Desktop and drawer navigation. */
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar {
  color: #eef5fd !important;
  border-color: rgba(98, 226, 255, .3) !important;
  background:
    radial-gradient(circle at 18% 0, rgba(90, 152, 255, .25), transparent 17rem),
    linear-gradient(180deg, rgba(13, 34, 61, .985), rgba(6, 20, 39, .995)) !important;
  box-shadow: 0 28px 64px rgba(0, 5, 20, .5), inset 0 1px 0 rgba(255,255,255,.065) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-brand {
  border-color: rgba(98, 226, 255, .27) !important;
  background: linear-gradient(135deg, rgba(56, 113, 188, .34), rgba(28, 94, 126, .2)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-brand-title {
  color: #fbfdff !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-brand-sub {
  color: #d7e3f1 !important;
  opacity: 1 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar .wc-neo-nav-link {
  color: #edf4fc !important;
  border-color: transparent !important;
  background: rgba(12, 31, 56, .72) !important;
  text-shadow: none !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar .wc-neo-nav-link::before {
  background: #7faeff !important;
  box-shadow: 0 0 0 3px rgba(127, 174, 255, .1) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar .wc-neo-nav-link:hover {
  color: #ffffff !important;
  border-color: rgba(128, 187, 255, .29) !important;
  background: rgba(37, 73, 116, .8) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar .wc-neo-nav-link.is-active {
  color: #ffffff !important;
  border-color: rgba(98, 226, 255, .48) !important;
  background: linear-gradient(90deg, rgba(69, 131, 224, .62), rgba(27, 92, 139, .42)) !important;
  box-shadow: 0 11px 28px rgba(0, 8, 26, .28), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar .wc-neo-nav-link.is-active::before {
  background: var(--friends-cyan) !important;
  box-shadow: 0 0 14px rgba(98, 226, 255, .78) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar-foot {
  border-top-color: rgba(128, 187, 255, .22) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-legal-links a {
  color: #d6e3f1 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-legal-links a:hover {
  color: #8eeaff !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-logout {
  color: #ffdce5 !important;
  border: 1px solid rgba(255, 127, 159, .37) !important;
  background: rgba(115, 31, 60, .43) !important;
  text-shadow: none !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-logout:hover {
  color: #ffffff !important;
  border-color: rgba(255, 153, 178, .6) !important;
  background: rgba(153, 42, 79, .58) !important;
}

/* Main shell, account menu and locale switcher. */
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-main {
  color: #f2f7ff !important;
  border-color: rgba(128, 187, 255, .25) !important;
  background: rgba(6, 19, 37, .88) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-main-head {
  border-bottom-color: rgba(128, 187, 255, .2) !important;
  background: linear-gradient(180deg, rgba(11, 29, 52, .97), rgba(8, 23, 43, .95)) !important;
  box-shadow: 0 12px 28px rgba(0, 5, 20, .2) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-badge,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-user-toggle,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-burger,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar-close {
  color: #eef5fd !important;
  border-color: rgba(128, 187, 255, .32) !important;
  background: #132f50 !important;
  text-shadow: none !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-user-toggle:hover,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-burger:hover,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-sidebar-close:hover {
  border-color: rgba(98, 226, 255, .62) !important;
  background: #1b416b !important;
  box-shadow: 0 0 0 4px rgba(98, 226, 255, .07) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-user-dropdown,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-locale-menu {
  color: #eef5fd !important;
  border-color: rgba(128, 187, 255, .31) !important;
  background: #0d2745 !important;
  box-shadow: 0 18px 42px rgba(0, 5, 20, .48) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-user-dropdown-item,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-locale-item {
  color: #e9f2fc !important;
  border-color: transparent !important;
  background: rgba(20, 52, 88, .7) !important;
  text-shadow: none !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-user-dropdown-item:hover,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-locale-item:hover,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-locale-item.is-active {
  color: #ffffff !important;
  border-color: rgba(98, 226, 255, .35) !important;
  background: rgba(48, 102, 164, .52) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-user-dropdown-item--danger {
  color: #ffb9cb !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-user-dropdown-item--danger:hover {
  color: #ffe8ee !important;
  background: rgba(139, 39, 72, .48) !important;
}

/* Universal signed-in typography. This defeats the base light-theme guard. */
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content {
  color: #edf4fc !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content h1,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content h2,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content h3,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content h4,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-topbar-title {
  color: #fbfdff !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content p,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content li,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content label {
  color: #e3edf8 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-topbar-sub,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-muted,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .muted,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-kicker,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-field,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content small {
  color: #d2deec !important;
  opacity: 1 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-field > span,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-keys-subtitle,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-keys-kpi-label,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-pay-kpi-label,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-kpi-unit {
  color: #cfdeee !important;
  opacity: 1 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-metric,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-keys-kpi-value,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-pay-kpi-value {
  color: #fbfdff !important;
  text-shadow: none !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-props p,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-props b,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-props span,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-break-all,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .break-all {
  color: #e8f1fb !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-chip,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-kpi-pill {
  color: #edf6ff !important;
  border-color: rgba(98, 226, 255, .31) !important;
  background: #173a61 !important;
  text-shadow: none !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content a:not(.m2-btn):not(.btn):not(.m2-chip-link):not(.m2-platform-tab):not(.m2-app-btn):not(.t2-cta) {
  color: #8eeaff !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content a:not(.m2-btn):not(.btn):not(.m2-chip-link):not(.m2-platform-tab):not(.m2-app-btn):not(.t2-cta):hover {
  color: #c8f7ff !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-btn-ghost,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .btn-secondary,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-content .m2-btn-outline {
  color: #edf5ff !important;
  border-color: rgba(128, 187, 255, .34) !important;
  background: #173653 !important;
  text-shadow: none !important;
}

/* Content surfaces that are not regular cards. */
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-subscription-focus,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-subscription-focus-empty,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-pay-summary-item,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-profile-prop,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-pay-provider-card,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-platform-tab,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-app-item,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-hwid-meta-row {
  color: #e8f1fb !important;
  border-color: rgba(128, 187, 255, .27) !important;
  background: rgba(8, 28, 52, .86) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-pay-summary-item span,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-profile-prop span {
  color: #cedced !important;
  opacity: 1 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-pay-summary-item strong,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-profile-prop b,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-profile-prop a {
  color: #fbfdff !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-tab-bar {
  border-color: rgba(128, 187, 255, .25) !important;
  background: rgba(4, 18, 35, .78) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-tab-btn,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-platform-tab,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-app-item {
  color: #e0ebf7 !important;
  text-shadow: none !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-tab-btn:hover,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-tab-btn.is-active,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-platform-tab:hover,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-platform-tab.is-active,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-app-item:hover,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-app-item.is-active,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-pay-provider-card:hover,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-pay-provider-card.is-selected {
  color: #ffffff !important;
  border-color: rgba(98, 226, 255, .55) !important;
  background: rgba(45, 103, 166, .62) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-table thead th,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .data-table thead th {
  color: #f0f6ff !important;
  background: rgba(65, 124, 222, .18) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-table td,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-table th,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .data-table td,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .data-table th {
  color: #dce8f5 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-notice,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .notice {
  color: #eaf3fd !important;
  border-color: rgba(128, 187, 255, .31) !important;
  background: #122f50 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-notice.m2-success,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .notice.success {
  color: #dffcf4 !important;
  border-color: rgba(131, 250, 221, .45) !important;
  background: #153f3b !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated .m2-notice.m2-error,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated .notice.error {
  color: #ffe5ec !important;
  border-color: rgba(255, 127, 159, .48) !important;
  background: #492038 !important;
}

/* Admin CSS is loaded after the theme, so these must remain important. */
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-hub-nav,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-hub-nav__dropdown,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .m2-admin-page .m2-card,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-stat,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-compact-card,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-analytics-card,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-header,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-kpi,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-card,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-device-card {
  color: #edf4fc !important;
  border-color: rgba(128, 187, 255, .25) !important;
  background: rgba(10, 31, 56, .94) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-hub-nav__link {
  color: #dce8f5 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-hub-nav__link:hover {
  color: #ffffff !important;
  background: rgba(51, 105, 169, .42) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-hub-nav__link.is-active {
  color: #b8f3ff !important;
  background: rgba(59, 120, 194, .5) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-kpi {
  border: 1px solid rgba(128, 187, 255, .25) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-kpi--revenue {
  color: #9ff5d5 !important;
  background: linear-gradient(135deg, #174439, #0d2f2c) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-kpi--revenue-site {
  color: #b7d8ff !important;
  background: linear-gradient(135deg, #173b66, #102b4c) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-kpi--revenue-bot {
  color: #dfc9ff !important;
  background: linear-gradient(135deg, #3a2858, #271d43) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-kpi--pending {
  color: #ffe28a !important;
  background: linear-gradient(135deg, #4b3920, #352815) !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-kpi-label,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-kpi-sub,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-stat-label,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-compact-label,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-analytics-label,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-sub,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-kpi__lbl,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-field__label,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-field__hint,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-device-hwid,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-device-seen {
  color: #cedced !important;
  opacity: 1 !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-stat-value,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-compact-value,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-analytics-value,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-name,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-kpi__val,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-device-name {
  color: #fbfdff !important;
}

body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .m2-admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .m2-admin-page select,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .m2-admin-page textarea,
body.cabinet-theme-friends.wc-neo-body.wc-authenticated.wc-admin-route .adm-user-field__input {
  color: #f2f7ff !important;
  border-color: rgba(128, 187, 255, .34) !important;
  background: rgba(4, 17, 33, .9) !important;
  -webkit-text-fill-color: #f2f7ff !important;
}

/* Mobile signed-in navigation and its overflow menu. */
@media (max-width: 980px) {
  body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-mobile-tabbar {
    border-color: rgba(98, 226, 255, .32) !important;
    background: linear-gradient(150deg, rgba(10, 29, 52, .985), rgba(6, 21, 40, .985)) !important;
    box-shadow: 0 18px 42px rgba(0, 4, 18, .58) !important;
  }

  body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-mobile-tab {
    color: #d6e3f1 !important;
    text-shadow: none !important;
  }

  body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-mobile-tab:hover,
  body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-mobile-tab.is-active {
    color: #b9f4ff !important;
    border-color: rgba(98, 226, 255, .38) !important;
    background: rgba(47, 104, 171, .48) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
  }

  body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-mobile-dropdown-menu {
    border-color: rgba(98, 226, 255, .32) !important;
    background: #0d2745 !important;
    box-shadow: 0 18px 38px rgba(0, 5, 20, .5) !important;
  }

  body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-mobile-dropdown-item {
    color: #e6f0fb !important;
    background: rgba(20, 52, 88, .72) !important;
  }

  body.cabinet-theme-friends.wc-neo-body.wc-authenticated .wc-neo-mobile-dropdown-item:hover {
    color: #ffffff !important;
    background: rgba(48, 102, 164, .55) !important;
  }
}

/* Keys dialogs live directly under <body>; this keeps them viewport-bound even
   though the application shell uses backdrop-filter and clipped overflow. */
body.cabinet-theme-friends.m2-keys-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.cabinet-theme-friends > .m2-keys-modal {
  z-index: 1200;
}

@media (max-width: 700px) {
  body.cabinet-theme-friends > #connect-subscription-modal {
    inset: 0;
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
    overflow: hidden;
  }

  body.cabinet-theme-friends > #connect-subscription-modal .m2-connect-modal-box {
    box-sizing: border-box;
    width: 100%;
    height: 100svh;
    height: 100dvh;
    max-height: none;
    margin: 0;
    padding: max(16px, env(safe-area-inset-top)) 14px max(20px, env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 0;
  }

  body.cabinet-theme-friends > #connect-subscription-modal .m2-row-between {
    align-items: center;
    gap: 10px;
  }

  body.cabinet-theme-friends > #connect-subscription-modal .m2-row-between h2 {
    font-size: 18px;
    line-height: 1.25;
  }

  body.cabinet-theme-friends > #connect-subscription-modal .m2-install-top-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.cabinet-theme-friends > #connect-subscription-modal .m2-install-top-actions > * {
    width: 100%;
  }

  body.cabinet-theme-friends > #connect-subscription-modal .m2-install-grid {
    gap: 12px;
    margin-top: 14px;
  }

  body.cabinet-theme-friends > #connect-subscription-modal .m2-install-sidebar,
  body.cabinet-theme-friends > #connect-subscription-modal .m2-install-main {
    padding: 14px;
  }
}
