
:root{
  --bg-main:#05060d;
  --bg-card:rgba(8,12,28,.96);
  --fx-red:#ff174f;
  --fx-cyan:#00e5ff;
  --fx-green:#00f5b4;
  --border-soft:rgba(255,255,255,0.06);
}
body.app-body{
  background:radial-gradient(circle at top left,#161c33,#05060d 55%,#020309 90%);
  color:#fff;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,'SF Pro Text',sans-serif;
}
.app-gradient-orbit{
  position:fixed;inset:-260px;
  background:
    radial-gradient(circle at 10% 0%,rgba(0,229,255,0.18) 0,transparent 55%),
    radial-gradient(circle at 90% 8%,rgba(255,23,79,0.18) 0,transparent 55%),
    radial-gradient(circle at 50% 100%,rgba(0,245,180,0.16) 0,transparent 55%);
  opacity:.9;pointer-events:none;z-index:-1;
}
.glass{
  background:radial-gradient(circle at top left,rgba(255,255,255,0.04),var(--bg-card));
  border-radius:22px;
  border:1px solid var(--border-soft);
  box-shadow:0 25px 80px rgba(0,0,0,.95);
}
.app-header.glass,.app-footer.glass{
  backdrop-filter:blur(22px);
  background:linear-gradient(90deg,rgba(5,9,23,.98),rgba(5,9,23,.9));
}
.brand-logo-spin{
  width:40px;height:40px;border-radius:50%;
  border:2px solid rgba(255,255,255,0.1);
  box-shadow:0 0 0 1px rgba(5,9,23,0.9),0 0 25px rgba(0,229,255,.8);
  position:relative;overflow:hidden;
}
.brand-logo-spin::before{
  content:'';position:absolute;inset:-40%;
  background:conic-gradient(from 0deg,#ff174f,#00e5ff,#00f5b4,#ff174f);
  animation:spin 10s linear infinite;opacity:.9;
}
.brand-logo-spin::after{
  content:'FX';position:absolute;inset:14%;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#101426,#020309);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.9rem;letter-spacing:.15em;
}
@keyframes spin{to{transform:rotate(360deg)}}
.brand-name{font-weight:800;letter-spacing:.22em;text-transform:uppercase;font-size:.85rem}
.brand-tagline{font-size:.75rem;color:#9ca3af}
.nav-link-app{
  color:#9ca3af;font-size:.85rem;text-decoration:none;
  text-transform:uppercase;letter-spacing:.08em;
}
.nav-link-app:hover{color:#fff}
.btn-app-fill,.btn-app-outline{
  border-radius:999px;font-weight:700;font-size:.8rem;
  text-transform:uppercase;letter-spacing:.12em;padding:.55rem 1.6rem;
}
.btn-app-fill{
  background:linear-gradient(90deg,var(--fx-red),#ff6f91);
  color:#fff;border:none;
  box-shadow:0 18px 40px rgba(255,23,79,.55);
}
.btn-app-outline{
  border:1px solid rgba(255,255,255,.3);
  background:radial-gradient(circle at top,rgba(5,9,23,.9),rgba(5,9,23,.8));
  color:#fff;
}
.btn-app-outline:hover{border-color:var(--fx-cyan);color:#fff}
.app-main{min-height:calc(100vh - 130px);}
.dash-card{padding:1.4rem 1.6rem;border-radius:22px;}
.section-title{
  font-size:.95rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.16em;
}
.section-muted{color:#9ca3af;font-size:.82rem;}

.hero-title{
  font-size:2.4rem;font-weight:800;line-height:1.15;
}
.hero-title span.fx-accent{color:var(--fx-cyan);}
.hero-kpi-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#9ca3af;}
.hero-kpi-value{font-size:1.1rem;font-weight:700;}

.currency-list{display:flex;flex-direction:column;gap:.45rem;margin-top:.4rem;}
.currency-row{display:flex;justify-content:space-between;font-size:.86rem;}
.cur-code{color:#7db2e6;font-weight:600;}
.cur-balance{color:var(--fx-cyan);font-weight:700;}

.ref-stats{margin-top:1.2rem;padding:1rem 1.4rem;border-radius:18px;background:rgba(10,14,28,.68);border:1px solid rgba(255,255,255,.05);}
.ref-stat-row{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.86rem;color:#c8d2e3;}
.ref-stat-row strong{color:var(--fx-cyan);}

.table-app{color:#e5e7eb;font-size:.82rem;}
.table-app thead{color:#9ca3af;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;}
.table-app tr{border-color:rgba(148,163,184,.45);}
.auth-card{padding:1.6rem 1.7rem;border-radius:22px;}
.auth-title{font-size:1.4rem;font-weight:700;}

.lang-switch{
  display:flex;align-items:center;
  padding:.2rem;
  border-radius:999px;
  background:rgba(15,23,42,.9);
  border:1px solid rgba(148,163,184,.5);
}
.lang-pill{
  font-size:.7rem;
  padding:.2rem .55rem;
  border-radius:999px;
  text-decoration:none;
  color:#9ca3af;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.lang-pill.active{
  background:linear-gradient(90deg,var(--fx-cyan),var(--fx-green));
  color:#020617;
}

.pay-node img{
  width: 22px;
  height: 22px;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.45));
  opacity: .95;
}

/* ===== FX Template Home (close to screenshot) ===== */
.fx-hero{position:relative;padding:3.2rem 2.2rem;overflow:hidden;border-radius:26px;}
.fx-hero::before{content:'';position:absolute;inset:-1px;background:
  radial-gradient(circle at 20% 10%, rgba(0,229,255,.18), transparent 55%),
  radial-gradient(circle at 85% 15%, rgba(255,23,79,.18), transparent 55%),
  radial-gradient(circle at 50% 90%, rgba(0,245,180,.12), transparent 60%),
  linear-gradient(135deg, rgba(7,10,22,.92), rgba(7,10,22,.80));
  z-index:0;}
.fx-hero .fx-wave{position:absolute;left:-120px;right:-120px;bottom:-60px;height:240px;background:url('assets/img/wave.svg') bottom/cover no-repeat;opacity:.9;z-index:1;}
.fx-hero .fx-grid{position:absolute;inset:0;background:
  linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:52px 52px;mask-image:radial-gradient(circle at 25% 35%, rgba(0,0,0,1), rgba(0,0,0,0) 68%);
  opacity:.45;z-index:1;}
.fx-hero .content{position:relative;z-index:2;}
.fx-eyebrow{letter-spacing:.45em;text-transform:uppercase;font-size:.75rem;color:#ff174f;margin-bottom:1rem;}
.fx-title{font-weight:900;font-size:3.2rem;line-height:1.02;margin:0 0 1.2rem}
.fx-title .red{color:#ff174f}.fx-title .cyan{color:#00e5ff}
.fx-sub{max-width:560px;color:#9ca3af;font-size:.95rem;line-height:1.6}
.fx-cta{display:flex;gap:.8rem;margin-top:1.35rem;align-items:center;flex-wrap:wrap}
.fx-btn-red,.fx-btn-cyan{border-radius:999px;border:0;padding:.62rem 1.6rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.fx-btn-red{background:linear-gradient(90deg,#ff174f,#ff527a);color:#fff;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 18px 46px rgba(255,23,79,.55);}
.fx-btn-cyan{background:linear-gradient(90deg,#00e5ff,#00f5b4);color:#05101a;font-weight:900;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 18px 46px rgba(0,229,255,.35);}
.fx-btn-red:hover,.fx-btn-cyan:hover{filter:brightness(1.05)}
.fx-portrait{position:absolute;right:1.4rem;top:1.4rem;width:420px;max-width:46%;z-index:2;opacity:.98;}
.fx-kpis{position:absolute;right:1.6rem;bottom:1.6rem;display:grid;gap:.75rem;z-index:2;}
.fx-kpi{width:220px;padding:0.8rem 1rem;border-radius:16px;background:rgba(5,9,23,.86);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.75);}
.fx-kpi .label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#9ca3af}
.fx-kpi .value{font-size:1.05rem;font-weight:900;color:#00e5ff;margin-top:.25rem}
.fx-section-title{text-align:center;font-size:2rem;font-weight:900;margin:2.2rem 0 1.2rem;}
.fx-section-title .red{color:#ff174f}.fx-section-title .cyan{color:#00e5ff}
.fx-stat-grid{display:grid;grid-template-columns:repeat(5, minmax(0,1fr));gap:1rem;margin-top:1.3rem;}
.fx-stat-pill{border-radius:999px;padding:0.9rem 1rem;background:rgba(5,9,23,.72);border:1px solid rgba(255,255,255,.08);display:flex;gap:.7rem;align-items:center;}
.fx-stat-pill img{width:34px;height:34px}
.fx-stat-pill .t{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#9ca3af}
.fx-stat-pill .n{font-size:1.05rem;font-weight:900;color:#00e5ff}
.fx-packages{margin-top:1.6rem;display:grid;grid-template-columns:1.2fr 1.2fr 1.2fr 1fr;gap:1.2rem;align-items:stretch;}
.tri{position:relative;background:rgba(5,9,23,.70);border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.85);min-height:210px;}
.tri::before{content:'';position:absolute;inset:-1px;background:linear-gradient(135deg, rgba(0,229,255,.18), rgba(255,23,79,.12));opacity:.8;clip-path:polygon(50% 6%, 96% 90%, 4% 90%);}
.tri .inner{position:absolute;inset:0;padding:1.1rem 1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}
.tri .pct{font-weight:900;font-size:2rem;color:#fff}
.tri .pct small{font-size:1rem;color:#00e5ff;font-weight:900}
.tri .sub{color:#9ca3af;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;margin-top:.2rem}
.tri .meta{margin-top:.85rem;color:#cbd5e1;font-size:.8rem;line-height:1.4}
.pkg-panel{border-radius:22px;background:rgba(5,9,23,.72);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 90px rgba(0,0,0,.85);padding:1.2rem;}
.pkg-panel .title{font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:#9ca3af}
.pkg-panel .profit{font-size:2rem;font-weight:900;color:#00e5ff;margin:.3rem 0 1rem}
.fx-two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem;margin-top:1.8rem;}
.fx-card{border-radius:26px;padding:1.6rem;background:rgba(5,9,23,.70);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 90px rgba(0,0,0,.85);}
.fx-card h3{font-weight:900}
.pay-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:center;margin-top:1rem}
.pay-row img{width:48px;height:48px;opacity:.95}
@media (max-width: 1200px){
  .fx-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-packages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-two-col{grid-template-columns:1fr}
  .fx-portrait{display:none}
  .fx-kpis{position:relative;right:auto;bottom:auto;margin-top:1.2rem;grid-template-columns:repeat(3,minmax(0,1fr))}
  .fx-kpi{width:auto}
}


.currency-ico{vertical-align:middle;margin-right:8px;border-radius:50%;box-shadow:0 10px 25px rgba(0,0,0,.45)}


.fx-section {
  padding: 120px 0;
}

/* локальный контейнер */
.fx-container {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px 1fr 260px;
  gap: 40px;
  align-items: center;
}

/* SIDE */
.fx-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.side-card {
  background: linear-gradient(135deg,#00e5ff,#ff174f);
  color: #fff;
  padding: 16px;
  border-radius: 14px;
  text-align: center;
  font-weight: 700;
}

/* CENTER */
.fx-center {
  display: flex;
  justify-content: center;
}

.fx-wrapper {
  position: relative;
  width: 560px;
  height: 560px;
}

/* CORE */
.fx-core {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, #0c2f47, #020814);
  box-shadow: 0 0 80px rgba(0,229,255,.45);
  color: #fff;
  text-align: center;
  padding-top: 60px;
  z-index: 5;
}

/* ORBITS */
.fx-orbit {
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  animation: spin linear infinite;
}

.orbit-1 {
  width: 360px;
  height: 360px;
  animation-duration: 20s;
}

.orbit-2 {
  width: 480px;
  height: 480px;
  animation-duration: 30s;
  animation-direction: reverse;
}

.orbit-pay {
  width: 560px;
  height: 560px;
  animation-duration: 45s;
}

/* NODES */
.fx-node,
.pay-node {
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  border-radius: 50%;
}

.fx-node {
  width: 70px;
  height: 70px;
  margin: -35px;
  background: linear-gradient(135deg,#00e5ff,#ff174f);
  color: #fff;
  text-align: center;
  line-height: 70px;
  font-weight: 700;
}

/* positions */
.orbit-1 .fx-node:nth-child(1){transform: translateX(180px);}
.orbit-1 .fx-node:nth-child(2){transform: rotate(90deg) translateX(180px);}
.orbit-1 .fx-node:nth-child(3){transform: rotate(180deg) translateX(180px);}
.orbit-1 .fx-node:nth-child(4){transform: rotate(270deg) translateX(180px);}

.orbit-2 .fx-node:nth-child(1){transform: rotate(45deg) translateX(240px);}
.orbit-2 .fx-node:nth-child(2){transform: rotate(135deg) translateX(240px);}
.orbit-2 .fx-node:nth-child(3){transform: rotate(225deg) translateX(240px);}
.orbit-2 .fx-node:nth-child(4){transform: rotate(315deg) translateX(240px);}

.orbit-pay .pay-node:nth-child(1){transform: rotate(0deg) translateX(280px);}
.orbit-pay .pay-node:nth-child(2){transform: rotate(90deg) translateX(280px);}
.orbit-pay .pay-node:nth-child(3){transform: rotate(180deg) translateX(280px);}
.orbit-pay .pay-node:nth-child(4){transform: rotate(270deg) translateX(280px);}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* <= 1200px: уменьшаем центр и боковые блоки */
@media (max-width: 1200px) {
  .fx-container {
    grid-template-columns: 220px 1fr 220px;
    gap: 24px;
    padding: 0 16px;
  }

  .fx-wrapper { width: 520px; height: 520px; }
  .orbit-1 { width: 330px; height: 330px; }
  .orbit-2 { width: 440px; height: 440px; }
  .orbit-pay { width: 520px; height: 520px; }

  .orbit-1 .fx-node:nth-child(1){transform: translateX(165px);}
  .orbit-1 .fx-node:nth-child(2){transform: rotate(90deg) translateX(165px);}
  .orbit-1 .fx-node:nth-child(3){transform: rotate(180deg) translateX(165px);}
  .orbit-1 .fx-node:nth-child(4){transform: rotate(270deg) translateX(165px);}

  .orbit-2 .fx-node:nth-child(1){transform: rotate(45deg) translateX(220px);}
  .orbit-2 .fx-node:nth-child(2){transform: rotate(135deg) translateX(220px);}
  .orbit-2 .fx-node:nth-child(3){transform: rotate(225deg) translateX(220px);}
  .orbit-2 .fx-node:nth-child(4){transform: rotate(315deg) translateX(220px);}

  .orbit-pay .pay-node:nth-child(1){transform: rotate(0deg) translateX(260px);}
  .orbit-pay .pay-node:nth-child(2){transform: rotate(90deg) translateX(260px);}
  .orbit-pay .pay-node:nth-child(3){transform: rotate(180deg) translateX(260px);}
  .orbit-pay .pay-node:nth-child(4){transform: rotate(270deg) translateX(260px);}
}

/* <= 992px: ставим все в колонку (сверху центр, ниже тарифы) */
@media (max-width: 992px) {
  .fx-container {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .fx-side.left { order: 2; }
  .fx-center { order: 1; }
  .fx-side.right { order: 3; }

  .fx-side {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .side-card {
    width: min(220px, 46vw);
  }
}

/* <= 520px: уменьшаем орбиты и карточки */
@media (max-width: 520px) {
  .fx-section { padding: 70px 0; }

  .fx-wrapper { width: 360px; height: 360px; }
  .fx-core { width: 170px; height: 170px; padding-top: 40px; }
  .fx-core h3 { font-size: 16px; }
  .fx-core p { font-size: 11px; }

  .orbit-1 { width: 240px; height: 240px; }
  .orbit-2 { width: 310px; height: 310px; }
  .orbit-pay { width: 360px; height: 360px; }

  .fx-node { width: 54px; height: 54px; margin: -27px; line-height: 54px; font-size: 12px; }
  /*.pay-node { width: 36px; height: 36px; margin: -18px; line-height: 36px; font-size: 10px; }*/

  .orbit-1 .fx-node:nth-child(1){transform: translateX(120px);}
  .orbit-1 .fx-node:nth-child(2){transform: rotate(90deg) translateX(120px);}
  .orbit-1 .fx-node:nth-child(3){transform: rotate(180deg) translateX(120px);}
  .orbit-1 .fx-node:nth-child(4){transform: rotate(270deg) translateX(120px);}

  .orbit-2 .fx-node:nth-child(1){transform: rotate(45deg) translateX(155px);}
  .orbit-2 .fx-node:nth-child(2){transform: rotate(135deg) translateX(155px);}
  .orbit-2 .fx-node:nth-child(3){transform: rotate(225deg) translateX(155px);}
  .orbit-2 .fx-node:nth-child(4){transform: rotate(315deg) translateX(155px);}

  .orbit-pay .pay-node:nth-child(1){transform: rotate(0deg) translateX(180px);}
  .orbit-pay .pay-node:nth-child(2){transform: rotate(90deg) translateX(180px);}
  .orbit-pay .pay-node:nth-child(3){transform: rotate(180deg) translateX(180px);}
  .orbit-pay .pay-node:nth-child(4){transform: rotate(270deg) translateX(180px);}

  .side-card { width: 46vw; padding: 14px; }
  .side-card small { display: block; opacity: .85; }
}

.pay-node img{
  width: 64px;
  height: 64px;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.45));
  opacity: .95;
}

.pay-node {
  width: 46px;
  height: 46px;
  margin: -23px;
  
  color: #00e5ff;
  text-align: center;
  line-height: 46px;
  font-size: 11px;
}