/* Voltaris visual reset based on site2 reference images. */

:root{
  --bg:#020204;
  --panel:rgba(10,10,12,.78);
  --panel-solid:#0d0d12;
  --panel-soft:rgba(255,255,255,.045);
  --text:#f6f3ff;
  --text-soft:#c7c1d0;
  --muted:#7f7a89;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.2);
  --accent:#7d3cff;
  --accent-2:#a060ff;
  --accent-hot:#f47b88;
  --accent-pink:#d7a8ff;
  --green:#47e184;
  --danger:#ff7b86;
  --shadow:0 28px 82px -42px rgba(0,0,0,.94);
  --shadow-soft:0 16px 42px -34px rgba(0,0,0,.88);
  --primary-bg:linear-gradient(180deg,#ef8e98,#d66074 55%,#bc4058);
  --primary-bg-hover:linear-gradient(180deg,#ff9ca5,#e07082 55%,#c94c64);
  --primary-ink:#fff;
  --r:8px;
  --r-sm:6px;
  --r-pill:999px;
  color-scheme:dark;
}

html.dark{
  --panel:rgba(9,9,12,.82);
  --panel-solid:#0a0a0e;
  --line:rgba(255,255,255,.1);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
  position:relative;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

body > main.shell{flex:1 0 auto;width:100%}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
}

body::before{
  z-index:0;
  background:
    radial-gradient(980px 520px at 52% -12%,rgba(124,60,255,.18),transparent 70%),
    radial-gradient(760px 460px at 8% 80%,rgba(244,123,136,.08),transparent 68%),
    linear-gradient(180deg,#07070a 0%,#010102 82%);
}

body::after{
  z-index:6;
  background:
    radial-gradient(1000px 640px at 50% 0%,transparent 42%,rgba(0,0,0,.34) 82%),
    linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.36) 72%,rgba(0,0,0,.72));
  mix-blend-mode:normal;
}

a{color:inherit;text-decoration:none}
button{font-family:inherit;color:inherit}
img,svg{display:block;max-width:100%}
::selection{background:var(--accent);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#050507}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}

.visual-stage{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  background:#020204;
}

.visual-stage::before{
  content:"";
  position:absolute;
  inset:-2%;
  background:
    linear-gradient(90deg,rgba(255,255,255,.072) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.064) 1px,transparent 1px);
  background-size:38px 38px;
  opacity:.46;
  transform:perspective(900px) rotateX(0deg);
  animation:gridMove 22s linear infinite;
  mask-image:radial-gradient(ellipse at 50% 48%,#000 0 62%,transparent 88%);
}

.visual-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 0 46%,rgba(255,255,255,.12) 50%,transparent 54% 100%),
    radial-gradient(circle at 50% 35%,rgba(124,60,255,.14),transparent 42%);
  opacity:.34;
  transform:translateX(-45%);
  animation:lightSweep 7.5s ease-in-out infinite;
}

.stage-bg,
.stage-object,
.stage-smoke,
.scanline{
  position:absolute;
  user-select:none;
}

.stage-bg{
  inset:-10% -8%;
  width:116%;
  height:116%;
  object-fit:cover;
  opacity:0;
  filter:grayscale(1) contrast(1.1) brightness(.78);
  mix-blend-mode:screen;
}

.stage-bg-1{animation:bgCycleOne 24s ease-in-out infinite}
.stage-bg-2{animation:bgCycleTwo 24s ease-in-out infinite}
.stage-bg-3{animation:bgCycleThree 24s ease-in-out infinite}

.stage-object{
  object-fit:cover;
  border:1px solid rgba(255,255,255,.04);
  border-radius:var(--r);
  opacity:.16;
  filter:grayscale(1) contrast(1.2) brightness(.76);
  mix-blend-mode:screen;
  box-shadow:0 34px 80px -54px #000;
}

.stage-object-1{
  width:320px;
  left:8%;
  top:16%;
  animation:objectDriftA 18s ease-in-out infinite;
}

.stage-object-2{
  width:270px;
  right:8%;
  top:18%;
  animation:objectDriftB 21s ease-in-out infinite -4s;
}

.stage-object-3{
  width:380px;
  left:38%;
  bottom:-6%;
  animation:objectDriftC 24s ease-in-out infinite -8s;
}

.stage-object-4{
  width:460px;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  opacity:.07;
  filter:grayscale(1) blur(.2px) brightness(.64);
  animation:objectPulse 16s ease-in-out infinite;
}

.stage-smoke{
  width:560px;
  height:240px;
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 40%,rgba(255,255,255,.18),transparent 58%),
    radial-gradient(circle at 66% 46%,rgba(124,60,255,.13),transparent 60%);
  filter:blur(52px);
  opacity:.34;
  mix-blend-mode:screen;
}

.smoke-a{left:-8%;top:28%;animation:smokeLeft 26s ease-in-out infinite}
.smoke-b{right:-12%;top:18%;animation:smokeRight 32s ease-in-out infinite -9s}
.smoke-c{left:34%;bottom:2%;animation:smokeCenter 29s ease-in-out infinite -15s}

.scanline{
  left:0;
  right:0;
  top:-18%;
  height:18%;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.07),transparent);
  opacity:.34;
  animation:scanDown 8s linear infinite;
}

.topbar,
.shell,
.footer{
  position:relative;
  z-index:20;
}

.shell{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
}

.page{animation:pageEnter .42s cubic-bezier(.2,.9,.2,1)}

.topbar{
  position:sticky;
  top:18px;
  z-index:70;
  width:min(940px,calc(100% - 32px));
  margin:22px auto 0;
  padding:8px 10px 8px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(16,16,20,.78);
  box-shadow:0 18px 46px -34px #000,inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:#fff;
  font-size:15px;
  font-weight:800;
}

.brand-logo{
  width:26px;
  height:26px;
  object-fit:contain;
  border-radius:50%;
  filter:drop-shadow(0 0 12px rgba(244,123,136,.46));
  animation:brandPulse 4.8s ease-in-out infinite;
}

.nav-cloud{
  display:flex;
  align-items:center;
  gap:22px;
  min-width:0;
}

.nav-link{
  position:relative;
  color:rgba(255,255,255,.55);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  transition:color .2s ease,transform .2s ease;
}

.nav-link::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-9px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent-hot);
  opacity:0;
  transform:translateX(-50%) scale(.4);
  box-shadow:0 0 16px var(--accent-hot);
  transition:opacity .2s ease,transform .2s ease;
}

.nav-link:hover,
.nav-link.active{
  color:#fff;
  transform:translateY(-1px);
}

.nav-link.active::before,
.nav-link:hover::before{
  opacity:1;
  transform:translateX(-50%) scale(1);
}

.topbar-auth{
  display:flex;
  align-items:center;
  gap:8px;
}

#auth-anon,
#auth-user{
  align-items:center;
  gap:8px;
}

.theme-toggle{
  display:inline-flex;
  padding:0;
  border:none;
  border-radius:var(--r);
  background:transparent;
  cursor:pointer;
}

.theme-toggle-track{
  position:relative;
  width:42px;
  height:38px;
  display:inline-grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}

.theme-icon{
  position:absolute;
  width:15px;
  height:15px;
  color:var(--accent-pink);
  transition:opacity .25s ease,transform .25s ease;
}

.theme-icon-sun{opacity:1}
.theme-icon-moon{opacity:0;transform:translateY(10px)}
html.dark .theme-icon-sun{opacity:0;transform:translateY(-10px)}
html.dark .theme-icon-moon{opacity:1;transform:translateY(0)}
.theme-toggle-knob{display:none}

.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:9px 18px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#fff;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
}

.btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0 40%,rgba(255,255,255,.32),transparent 60% 100%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(1px)}
.btn-block{width:100%;display:flex}
.btn-lg{min-height:48px;padding:13px 34px;font-size:14px}

.btn-primary{
  border-color:rgba(255,255,255,.12);
  background:var(--primary-bg);
  box-shadow:0 16px 32px -22px rgba(244,123,136,.86),inset 0 1px 0 rgba(255,255,255,.22);
}

.btn-primary:hover{
  background:var(--primary-bg-hover);
  transform:translateY(-1px);
}

.btn-outline,
.btn-ghost{
  border-color:var(--line);
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.82);
}

.btn-ghost{
  border-color:transparent;
  color:rgba(255,255,255,.62);
}

.btn-outline:hover,
.btn-ghost:hover{
  color:#fff;
  border-color:var(--line-strong);
  background:rgba(255,255,255,.08);
}

.btn-danger{
  color:#ffd0d5;
  border-color:rgba(255,123,134,.32);
  background:rgba(255,123,134,.08);
}

.user-chip{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:36px;
  padding:6px 12px 6px 8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:13px;
  font-weight:800;
}

.user-chip::before{
  content:"";
  width:18px;
  height:18px;
  border-radius:50%;
  background:linear-gradient(180deg,#ff9ca5,#7d3cff);
  box-shadow:0 0 14px rgba(244,123,136,.42);
}

.hero{
  position:relative;
  min-height:calc(100vh - 140px);
  padding:94px 0 56px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.hero::before{
  content:"";
  position:absolute;
  width:min(760px,92vw);
  height:min(420px,58vw);
  left:50%;
  top:52%;
  transform:translate(-50%,-50%);
  background:url("/главная%20страница/image%20(3).png") center/cover no-repeat;
  opacity:.18;
  filter:grayscale(1) blur(.2px) brightness(.64);
  mask-image:radial-gradient(ellipse at 50% 50%,#000 28%,rgba(0,0,0,.75) 52%,transparent 76%);
  animation:heroGhost 12s ease-in-out infinite;
  z-index:-1;
}

.hero::after{
  content:"";
  position:absolute;
  width:min(720px,86vw);
  height:1px;
  left:50%;
  top:62%;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  animation:heroLine 5s ease-in-out infinite;
}

.hero-title{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(60px,10vw,122px);
  line-height:.94;
  font-weight:800;
  letter-spacing:0;
  text-shadow:0 18px 70px rgba(0,0,0,.92),0 0 28px rgba(255,255,255,.08);
  animation:titleFloat 6s ease-in-out infinite;
}

.hero-sub{
  width:min(720px,100%);
  margin:0 0 30px;
  color:rgba(255,255,255,.7);
  font-size:17px;
  font-weight:700;
}

.page-title{
  margin:66px 0 30px;
  color:#fff;
  text-align:center;
  font-size:34px;
  line-height:1;
  font-weight:800;
  letter-spacing:0;
}

.page-title::after{
  content:"";
  display:block;
  width:76px;
  height:2px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  box-shadow:0 0 18px rgba(125,60,255,.75);
}

.muted{color:var(--muted);font-size:12px}
.card{
  padding:22px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:var(--panel);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.stats-showcase{
  position:relative;
  margin:4px auto 86px;
  padding:42px 34px 36px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:
    linear-gradient(180deg,rgba(8,8,10,.78),rgba(2,2,4,.86)),
    url("/фоны/2.png") center/cover no-repeat;
  box-shadow:var(--shadow);
  isolation:isolate;
}

.stats-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:32px 32px;
  opacity:.24;
  animation:panelGrid 18s linear infinite;
}

.stats-showcase::after{
  content:"";
  position:absolute;
  inset:-20% -10%;
  background:radial-gradient(circle at 18% 38%,rgba(255,255,255,.12),transparent 36%),
             radial-gradient(circle at 72% 24%,rgba(125,60,255,.18),transparent 38%);
  filter:blur(26px);
  animation:panelFog 12s ease-in-out infinite;
}

.stats-head,
.stats-cards{
  position:relative;
  z-index:1;
}

.stats-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin-bottom:34px;
  text-align:center;
}

.stats-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:31px;
  padding:7px 14px;
  border:1px solid rgba(125,60,255,.34);
  border-radius:var(--r);
  background:rgba(125,60,255,.12);
  color:#a777ff;
  font-size:13px;
  font-weight:800;
  text-shadow:0 0 18px rgba(125,60,255,.6);
}

.stats-title{
  margin:0;
  color:#fff;
  font-size:clamp(28px,4.6vw,54px);
  line-height:1.04;
  font-weight:800;
  letter-spacing:0;
}

.stats-sub{
  margin:0;
  max-width:560px;
  color:rgba(255,255,255,.62);
  font-size:14px;
}

.stats-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.stat-block{
  position:relative;
  min-height:236px;
  padding:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r);
  background:rgba(0,0,0,.46);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}

.stat-block::before{
  content:"";
  position:absolute;
  inset:-35%;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.11),transparent 64%);
  transform:translateX(-50%);
  animation:cardSweep 8s ease-in-out infinite;
}

.stat-block:hover{
  transform:translateY(-5px);
  border-color:rgba(125,60,255,.42);
  background:rgba(0,0,0,.58);
}

.stat-head,
.stat-desc,
.stat-value,
.stat-foot{
  position:relative;
  z-index:1;
}

.stat-head{
  display:flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:14px;
  font-weight:800;
}

.stat-desc{
  min-height:64px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:12.5px;
}

.stat-value{
  margin-top:auto;
  padding-top:10px;
  color:#fff;
  font-size:30px;
  line-height:1;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  display:flex;
  align-items:baseline;
}

.stat-value .plus{
  margin-left:2px;
  color:var(--accent);
  font-size:20px;
}

.stat-foot{
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.48);
  font-size:11.5px;
}

.stat-foot b{color:rgba(255,255,255,.72)}

.tariffs-grid{
  display:grid;
  grid-template-columns:1.04fr .96fr .96fr;
  grid-auto-flow:dense;
  gap:18px;
  align-items:stretch;
}

.tariff{
  position:relative;
  min-height:382px;
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.075);
  border-radius:var(--r);
  background:#030304;
  box-shadow:var(--shadow-soft);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.tariff:first-child{
  grid-row:span 2;
  min-height:580px;
}

.tariff::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.88) 68%),
    radial-gradient(440px 220px at 80% 20%,rgba(125,60,255,.18),transparent 70%);
  pointer-events:none;
}

.tariff::after{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.13),transparent 56%);
  opacity:0;
  transform:translateX(-44%);
  transition:opacity .22s ease;
}

.tariff:hover{
  transform:translateY(-8px);
  border-color:rgba(125,60,255,.42);
  box-shadow:0 32px 82px -46px rgba(125,60,255,.72);
}

.tariff:hover::after{
  opacity:1;
  animation:tariffFlash .9s ease both;
}

.tariff-media{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}

.tariff-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1) contrast(1.14) brightness(.66);
  transform:scale(1.02);
  transition:transform .65s ease,filter .65s ease;
}

.tariff:hover .tariff-media img{
  transform:scale(1.1);
  filter:grayscale(1) contrast(1.24) brightness(.76);
}

.tariff h3,
.tariff .price,
.tariff ul,
.tariff-buy{
  position:relative;
  z-index:3;
}

.tariff h3{
  margin:34px 28px 0;
  color:#fff;
  font-size:22px;
  font-weight:800;
  line-height:1.2;
}

.tariff .price{
  margin:12px 28px 0;
  color:#fff;
  font-size:48px;
  line-height:1;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

.tariff .price small{
  margin-left:4px;
  color:var(--accent);
  font-size:16px;
}

.tariff ul{
  margin:26px 28px 30px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  list-style:none;
}

.tariff li{
  position:relative;
  padding-left:18px;
  color:rgba(255,255,255,.68);
  font-size:14px;
  font-weight:700;
}

.tariff li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 16px rgba(125,60,255,.7);
}

.tariff-buy{
  margin:auto 28px 28px;
}

.auth-stage{
  min-height:66vh;
  padding:52px 0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.auth-card{
  width:100%;
  max-width:410px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(10,10,12,.78);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.auth-card h2{
  margin:0 0 24px;
  color:#fff;
  text-align:center;
  font-size:30px;
  font-weight:800;
}

.auth-switch{
  margin:20px 0 0;
  color:rgba(255,255,255,.55);
  text-align:center;
  font-size:13px;
}

.auth-switch a{
  color:#fff;
  border-bottom:1px solid var(--accent-hot);
}


.form{
  display:flex;
  flex-direction:column;
  gap:13px;
}

.form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:rgba(255,255,255,.55);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.form input,
.form textarea,
.form select,
.inline-form input,
.inline-form select{
  appearance:none;
  width:100%;
  min-height:42px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:var(--r);
  outline:none;
  background:rgba(255,255,255,.045);
  color:#fff;
  font:inherit;
  font-size:14px;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.form input:focus,
.form textarea:focus,
.form select:focus,
.inline-form input:focus,
.inline-form select:focus{
  border-color:rgba(125,60,255,.54);
  box-shadow:0 0 0 3px rgba(125,60,255,.18);
  background:rgba(255,255,255,.07);
}

.form input::placeholder,
.inline-form input::placeholder{color:rgba(255,255,255,.38)}

.form-error,
.form-msg{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:var(--r);
  font-size:13px;
  text-align:center;
  background:rgba(0,0,0,.28);
}

.form-error,
.form-msg.err{
  color:#ffd2d6;
  border-color:rgba(255,123,134,.34);
  background:rgba(255,123,134,.12);
}

.form-msg.ok{
  color:#d3ffe1;
  border-color:rgba(71,225,132,.34);
  background:rgba(71,225,132,.12);
}

.inline-form{
  margin-bottom:18px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

.inline-form input,
.inline-form select{
  width:auto;
  flex:1 1 160px;
}

.admin-tabs{
  width:fit-content;
  max-width:100%;
  margin-bottom:18px;
  padding:6px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(10,10,12,.78);
  box-shadow:var(--shadow-soft);
}

.admin-tab{
  min-height:34px;
  padding:7px 13px;
  border:1px solid transparent;
  border-radius:var(--r-sm);
  background:transparent;
  color:rgba(255,255,255,.52);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.admin-tab:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
}

.admin-tab.active{
  color:#fff;
  border-color:rgba(255,255,255,.14);
  background:rgba(125,60,255,.22);
}

.admin-tab-content{animation:pageEnter .24s ease}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
}

.stat-card,
.table-wrap{
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(10,10,12,.78);
  box-shadow:var(--shadow-soft);
}

.stat-card{padding:18px}
.stat-card .label{
  color:rgba(255,255,255,.52);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.stat-card .value{
  margin-top:8px;
  color:#fff;
  font-size:34px;
  line-height:1;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

.table-wrap{
  overflow:hidden;
  overflow-x:auto;
}

.admin-table{
  width:100%;
  min-width:740px;
  border-collapse:collapse;
  font-size:13.5px;
}

.admin-table th,
.admin-table td{
  padding:13px 15px;
  text-align:left;
  vertical-align:middle;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.admin-table th{
  color:rgba(255,255,255,.48);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.admin-table tbody tr:last-child td{border-bottom:none}
.admin-table tbody tr:hover td{background:rgba(255,255,255,.045)}

.role-badge{
  display:inline-block;
  padding:3px 9px;
  border:1px solid rgba(125,60,255,.34);
  border-radius:var(--r-sm);
  background:rgba(125,60,255,.14);
  color:#efe9ff;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.role-badge.role-admin{
  border-color:rgba(244,123,136,.34);
  background:rgba(244,123,136,.12);
  color:#ffdbe0;
}

.role-badge.role-owner{
  border-color:rgba(255,213,126,.48);
  background:linear-gradient(180deg,#ffd98f,#e0a84e);
  color:#211500;
}

.status-dot{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.7);
  font-size:12px;
}

.status-dot::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green);
}

.status-dot.off{color:rgba(255,255,255,.45)}
.status-dot.off::before{background:rgba(255,255,255,.35)}

.icon-btn{
  min-height:28px;
  margin:2px 4px 2px 0;
  padding:5px 10px;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.icon-btn:hover{
  color:#fff;
  border-color:var(--line-strong);
  background:rgba(255,255,255,.08);
}

.icon-btn.danger{
  color:#ffd2d6;
  border-color:rgba(255,123,134,.34);
  background:rgba(255,123,134,.08);
}

.mono{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:12.5px;
}

.footer{
  width:min(940px,calc(100% - 32px));
  margin:68px auto 28px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(10,10,12,.72);
  color:rgba(255,255,255,.48);
  font-size:13px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.footer a{color:rgba(255,255,255,.68)}
.footer a:hover{color:#fff}

/* Profile area kept isolated. */
.page-profile{padding:32px 0 24px}
.profile-hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin:24px 0 28px;
  text-align:center;
}

.profile-avatar{
  width:88px;
  height:88px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#ff8ec7,#7b2cbf 55%,#1a0033 100%);
  border:2px solid rgba(255,255,255,.25);
  box-shadow:0 8px 24px -8px rgba(0,0,0,.5);
}

.profile-name{
  color:#fff;
  font-size:28px;
  font-weight:700;
  letter-spacing:0;
}

.profile-tag{color:#4ade80;font-size:13px;font-weight:600}
.profile-tag.role-owner{color:#ffb300}
.profile-tag.role-admin{color:#60a5fa}
.profile-tag.role-user{color:var(--muted)}

.profile-grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:18px;
}

.field{display:flex;flex-direction:column;gap:6px}
.field > label{color:#fff;font-size:13px;font-weight:600}
.field-value{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:14px 20px;
  word-break:break-all;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r);
  background:rgba(20,20,23,.5);
  color:rgba(255,255,255,.78);
  font-size:14px;
  backdrop-filter:blur(10px) saturate(130%);
  -webkit-backdrop-filter:blur(10px) saturate(130%);
}

.field-value.mono{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:13px;
}

.field-group{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r);
  background:rgba(20,20,23,.5);
  backdrop-filter:blur(10px) saturate(130%);
  -webkit-backdrop-filter:blur(10px) saturate(130%);
}

.field-group-title{
  margin:0 0 4px;
  color:#fff;
  font-size:16px;
  font-weight:700;
}

.form-compact{gap:10px}
.form-compact input{
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r);
  background:rgba(28,28,33,.6);
  color:#fff;
  font-size:13.5px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.form-compact input:focus{outline:none;border-color:#fff}
.profile-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.profile-history-wrap{
  margin-top:28px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r);
  background:rgba(20,20,23,.5);
  backdrop-filter:blur(10px) saturate(130%);
  -webkit-backdrop-filter:blur(10px) saturate(130%);
}

.list-rows{display:flex;flex-direction:column;gap:0}
.list-rows .empty{padding:8px 0;color:var(--muted);font-size:14px}
.list-rows .row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.list-rows .row:last-child{border-bottom:none}
.list-rows .row span{color:var(--muted);font-size:12px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}

@keyframes gridMove{
  from{background-position:0 0,0 0}
  to{background-position:38px 38px,38px 38px}
}

@keyframes lightSweep{
  0%,20%{transform:translateX(-52%);opacity:.12}
  48%{opacity:.38}
  72%,100%{transform:translateX(52%);opacity:.14}
}

@keyframes bgCycleOne{
  0%,26%{opacity:.5;transform:scale(1.02)}
  34%,100%{opacity:0;transform:scale(1.07)}
}

@keyframes bgCycleTwo{
  0%,28%{opacity:0;transform:scale(1.07)}
  36%,60%{opacity:.46;transform:scale(1.02)}
  70%,100%{opacity:0;transform:scale(1.08)}
}

@keyframes bgCycleThree{
  0%,58%{opacity:0;transform:scale(1.08)}
  68%,92%{opacity:.46;transform:scale(1.02)}
  100%{opacity:0;transform:scale(1.06)}
}

@keyframes objectDriftA{
  0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}
  50%{transform:translate3d(32px,-18px,0) rotate(2deg)}
}

@keyframes objectDriftB{
  0%,100%{transform:translate3d(0,0,0) rotate(2deg)}
  50%{transform:translate3d(-28px,24px,0) rotate(-2deg)}
}

@keyframes objectDriftC{
  0%,100%{transform:translate3d(0,0,0) rotate(1deg)}
  50%{transform:translate3d(18px,-26px,0) rotate(-2deg)}
}

@keyframes objectPulse{
  0%,100%{opacity:.055;transform:translate(-50%,-50%) scale(1)}
  50%{opacity:.12;transform:translate(-50%,-50%) scale(1.04)}
}

@keyframes smokeLeft{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.28}
  50%{transform:translate3d(86px,-24px,0) scale(1.08);opacity:.42}
}

@keyframes smokeRight{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.2}
  50%{transform:translate3d(-96px,28px,0) scale(1.1);opacity:.38}
}

@keyframes smokeCenter{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.18}
  50%{transform:translate3d(34px,-30px,0) scale(1.12);opacity:.32}
}

@keyframes scanDown{
  from{transform:translateY(0)}
  to{transform:translateY(760%)}
}

@keyframes brandPulse{
  0%,100%{filter:drop-shadow(0 0 10px rgba(244,123,136,.34))}
  50%{filter:drop-shadow(0 0 18px rgba(244,123,136,.68))}
}

@keyframes pageEnter{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

@keyframes heroGhost{
  0%,100%{opacity:.13;transform:translate(-50%,-50%) scale(1)}
  50%{opacity:.22;transform:translate(-50%,-52%) scale(1.035)}
}

@keyframes heroLine{
  0%,100%{opacity:.2;width:min(500px,70vw)}
  50%{opacity:.7;width:min(760px,86vw)}
}

@keyframes titleFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

@keyframes panelGrid{
  from{background-position:0 0,0 0}
  to{background-position:32px 32px,32px 32px}
}

@keyframes panelFog{
  0%,100%{transform:translate3d(-2%,0,0) scale(1);opacity:.72}
  50%{transform:translate3d(2%,-2%,0) scale(1.04);opacity:.92}
}

@keyframes cardSweep{
  0%,70%{transform:translateX(-54%);opacity:0}
  82%{opacity:1}
  100%{transform:translateX(54%);opacity:0}
}

@keyframes tariffFlash{
  from{transform:translateX(-46%);opacity:.2}
  to{transform:translateX(46%);opacity:0}
}

@media (max-width: 980px){
  .shell{padding:0 18px}
  .topbar{
    width:calc(100% - 24px);
    margin-top:12px;
    flex-wrap:wrap;
  }
  .brand{flex:1 1 auto}
  .nav-cloud{
    order:3;
    width:100%;
    justify-content:center;
    gap:16px;
    overflow-x:auto;
    padding:6px 0 2px;
  }
  .topbar-auth{margin-left:auto}
  .hero{
    min-height:auto;
    padding:82px 0 52px;
  }
  .stats-showcase{
    padding:32px 20px 24px;
    margin-bottom:58px;
  }
  .stats-cards,
  .tariffs-grid{
    grid-template-columns:1fr;
  }
  .tariff:first-child{
    grid-row:auto;
    min-height:430px;
  }
  .tariff{min-height:390px}
  .stage-object{opacity:.1}
  .footer{
    width:calc(100% - 24px);
    margin-top:50px;
  }
}

@media (max-width: 560px){
  body{font-size:14px}
  .shell{padding:0 14px}
  .topbar{border-radius:14px}
  .nav-cloud{justify-content:flex-start}
  .topbar-auth .btn-ghost{display:none}
  .theme-toggle-track{width:38px;height:34px}
  .hero-title{font-size:50px}
  .hero-sub{font-size:14px}
  .page-title{font-size:30px;margin-top:46px}
  .stats-title{font-size:28px}
  .auth-card{padding:24px 18px}
  .tariff{min-height:360px}
  .tariff h3{font-size:19px;margin:28px 22px 0}
  .tariff .price{font-size:42px;margin-left:22px}
  .tariff ul{margin-left:22px;margin-right:22px}
  .tariff-buy{margin-left:22px;margin-right:22px}
  .footer{
    flex-direction:column;
    align-items:flex-start;
  }
  .profile-grid2{grid-template-columns:1fr}
}

/* Final rounded redesign pass */
:root{
  --r:26px;
  --r-sm:18px;
  --panel:rgba(10,10,14,.68);
  --line:rgba(255,255,255,.12);
}

.topbar,
.theme-toggle-track,
.btn,
.user-chip,
.card,
.stats-showcase,
.stat-block,
.tariff,
.auth-card,
.form input,
.form textarea,
.form select,
.inline-form input,
.inline-form select,
.form-error,
.form-msg,
.admin-tabs,
.admin-tab,
.stat-card,
.table-wrap,
.role-badge,
.icon-btn,
.footer,
.field-value,
.field-group,
.profile-history-wrap,
.form-compact input{
  border-radius:var(--r) !important;
}

.topbar{
  width:min(1040px,calc(100% - 36px));
  padding:10px 12px 10px 18px;
  border-color:rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(20,20,26,.76),rgba(6,6,9,.68));
}

.nav-cloud{
  gap:10px;
  padding:5px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:24px;
  background:rgba(255,255,255,.035);
}

.nav-link{
  padding:8px 14px;
  border-radius:18px;
}

.nav-link::before{
  bottom:3px;
}

.hero-redesign{
  min-height:calc(100vh - 156px);
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.78fr);
  align-items:center;
  gap:42px;
  text-align:left;
}

.hero-redesign::before,
.hero-redesign::after{
  display:none;
}

.hero-copy{
  position:relative;
  z-index:2;
}

.hero-kicker{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 14px;
  margin-bottom:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  animation:kickerFloat 5.6s ease-in-out infinite;
}

.hero-title{
  max-width:720px;
  margin-bottom:18px;
  font-size:clamp(76px,12vw,152px);
  line-height:.82;
}

.hero-sub{
  max-width:610px;
  margin-left:0;
  margin-right:0;
  color:rgba(255,255,255,.72);
  font-size:18px;
  font-weight:600;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:10px;
}

.hero-preview{
  position:relative;
  min-height:420px;
  isolation:isolate;
}

.hero-preview::before{
  content:"";
  position:absolute;
  inset:30px 0 20px;
  border-radius:42px;
  background:url("/фоны/1.png") center/cover no-repeat;
  filter:grayscale(1) contrast(1.12) brightness(.82);
  box-shadow:0 42px 110px -70px #000;
  animation:previewDrift 10s ease-in-out infinite;
}

.hero-preview::after{
  content:"";
  position:absolute;
  inset:0 34px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(125,60,255,.18),transparent 64%);
  filter:blur(24px);
  animation:previewGlow 7s ease-in-out infinite;
  z-index:-1;
}

.hero-preview-glass{
  position:absolute;
  left:42px;
  right:42px;
  bottom:42px;
  min-height:116px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.hero-preview-glass::before{
  content:"READY";
  position:absolute;
  left:22px;
  top:18px;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.14em;
}

.hero-preview-glass::after{
  content:"stable build / secure launch / clean profile";
  position:absolute;
  left:22px;
  right:22px;
  bottom:18px;
  color:rgba(255,255,255,.58);
  font-size:13px;
  font-weight:700;
}

.hero-chip{
  position:absolute;
  z-index:3;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(7,7,10,.72);
  color:#fff;
  font-size:12px;
  font-weight:900;
  box-shadow:0 18px 42px -28px #000;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.hero-chip-a{left:4px;top:72px;animation:chipA 7s ease-in-out infinite}
.hero-chip-b{right:10px;top:148px;animation:chipB 8s ease-in-out infinite}
.hero-chip-c{left:88px;bottom:6px;animation:chipC 7.5s ease-in-out infinite}

.stats-showcase{
  border-radius:34px !important;
}

.tariffs-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  grid-auto-rows:minmax(282px,auto);
  gap:18px;
  max-width:1040px;
  margin:0 auto;
}

.tariff,
.tariff:first-child{
  min-height:282px;
  grid-row:auto;
  border-radius:34px !important;
  background:rgba(3,3,5,.72);
  border-color:rgba(255,255,255,.11);
}

.tariff-plan-forever{
  grid-row:span 2;
  min-height:584px;
}

.tariff-plan-days90,
.tariff-plan-days30,
.tariff-plan-regular{
  min-height:282px;
}

.tariff::before{
  border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.82) 68%),
    radial-gradient(520px 240px at 85% 10%,rgba(125,60,255,.18),transparent 70%);
}

.tariff-media img{
  filter:grayscale(1) contrast(1.08) brightness(.74);
}

.tariff-badge{
  position:relative;
  z-index:3;
  width:max-content;
  margin:24px 24px 0;
  padding:7px 12px;
  border:1px solid rgba(125,60,255,.38);
  border-radius:999px;
  background:rgba(125,60,255,.14);
  color:#a976ff;
  font-size:12px;
  font-weight:900;
  text-shadow:0 0 18px rgba(125,60,255,.58);
}

.tariff h3{
  margin:24px 24px 0;
  max-width:420px;
}

.tariff .price{
  margin-left:24px;
}

.tariff ul{
  margin-left:24px;
  margin-right:24px;
}

.tariff-buy{
  margin-left:24px;
  margin-right:24px;
  margin-bottom:24px;
}

.tariff-plan-days90{
  display:grid;
  grid-template-columns:1fr 150px;
  grid-template-rows:auto auto 1fr auto;
  column-gap:12px;
}

.tariff-plan-days90 .tariff-media{
  left:auto;
  right:0;
  width:45%;
  opacity:.9;
}

.tariff-plan-days90 .tariff-badge,
.tariff-plan-days90 h3,
.tariff-plan-days90 .price,
.tariff-plan-days90 ul,
.tariff-plan-days90 .tariff-buy{
  max-width:58%;
}

.tariff-plan-days30 .tariff-media img{
  object-position:center bottom;
}

.auth-card,
.admin-tabs,
.table-wrap,
.stat-card,
.footer{
  border-radius:30px !important;
}

@keyframes kickerFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}

@keyframes previewDrift{
  0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}
  50%{transform:translate3d(0,-10px,0) rotate(1deg)}
}

@keyframes previewGlow{
  0%,100%{opacity:.55;transform:scale(1)}
  50%{opacity:.9;transform:scale(1.08)}
}

@keyframes chipA{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(16px,-10px,0)}
}

@keyframes chipB{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-14px,12px,0)}
}

@keyframes chipC{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(12px,8px,0)}
}

@media (max-width: 980px){
  .hero-redesign{
    grid-template-columns:1fr;
    gap:26px;
    text-align:center;
  }
  .hero-sub{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-actions{
    justify-content:center;
  }
  .hero-preview{
    min-height:340px;
  }
  .tariffs-grid{
    grid-template-columns:1fr;
  }
  .tariff-plan-forever,
  .tariff-plan-days90,
  .tariff-plan-days30,
  .tariff-plan-regular{
    min-height:390px;
    grid-row:auto;
    display:flex;
  }
  .tariff-plan-days90 .tariff-media{
    left:0;
    right:0;
    width:auto;
  }
  .tariff-plan-days90 .tariff-badge,
  .tariff-plan-days90 h3,
  .tariff-plan-days90 .price,
  .tariff-plan-days90 ul,
  .tariff-plan-days90 .tariff-buy{
    max-width:none;
  }
}

@media (max-width: 560px){
  :root{--r:22px;--r-sm:16px}
  .hero-title{
    font-size:56px;
  }
  .hero-preview{
    min-height:280px;
  }
  .hero-preview::before{
    inset:24px 6px 18px;
    border-radius:30px;
  }
  .hero-preview-glass{
    left:24px;
    right:24px;
    bottom:32px;
    min-height:104px;
  }
}

/* Purchase page must follow site2/примеры/photo_2026-05-14_21-45-10.jpg */
#page-buy{
  position:relative;
  min-height:calc(100vh - 170px);
  padding:42px 0 96px;
}

#page-buy::before{
  content:"";
  position:absolute;
  inset:0 calc(50% - 50vw);
  z-index:-1;
  background:
    radial-gradient(620px 320px at 50% 6%,rgba(125,60,255,.2),transparent 72%),
    radial-gradient(500px 280px at 18% 72%,rgba(255,255,255,.08),transparent 70%),
    url("/фоны/2.png") center/cover no-repeat;
  opacity:.82;
  filter:grayscale(1) brightness(.82);
}

#page-buy .page-title{
  margin:4px 0 42px;
  color:#7d3cff;
  font-size:24px;
  line-height:1;
  font-weight:900;
  text-align:center;
  text-shadow:0 0 24px rgba(125,60,255,.72);
}

#page-buy .page-title::after{
  display:none;
}

#page-buy .tariffs-grid{
  position:relative;
  width:min(1320px,calc(100vw - 96px));
  height:744px;
  margin:0 0 0 50%;
  transform:translateX(-50%);
  display:block;
}

#page-buy .tariff{
  position:absolute;
  min-height:0;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.055);
  background:rgba(0,0,0,.66);
  box-shadow:0 26px 80px -48px rgba(0,0,0,.96);
  cursor:pointer;
}

#page-buy .tariff-plan-forever{
  left:0;
  top:160px;
  width:43.2%;
  height:584px;
}

#page-buy .tariff-plan-days90{
  right:0;
  top:0;
  width:56.2%;
  height:366px;
}

#page-buy .tariff-plan-days30{
  right:0;
  top:378px;
  width:56.2%;
  height:366px;
}

#page-buy .tariff-plan-regular{
  right:0;
  top:378px;
  width:56.2%;
  height:366px;
}

#page-buy .tariff::before{
  background:
    linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.48) 38%,rgba(0,0,0,.95) 92%),
    radial-gradient(360px 220px at 74% 62%,rgba(255,255,255,.08),transparent 68%);
}

#page-buy .tariff-plan-days90::before,
#page-buy .tariff-plan-days30::before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.58) 48%,rgba(0,0,0,.2)),
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.82));
}

#page-buy .tariff-media img{
  filter:grayscale(1) contrast(1.16) brightness(.7);
  object-position:center;
}

#page-buy .tariff-plan-forever .tariff-media img{
  object-position:center bottom;
}

#page-buy .tariff-plan-days90 .tariff-media,
#page-buy .tariff-plan-days30 .tariff-media{
  left:auto;
  right:0;
  width:64%;
}

#page-buy .tariff-badge{
  display:none;
}

#page-buy .tariff h3{
  position:relative;
  z-index:3;
  margin:0;
  color:#fff;
  font-size:24px;
  line-height:1.18;
  font-weight:900;
}

#page-buy .tariff h3 span{
  color:#7d3cff;
  text-shadow:0 0 18px rgba(125,60,255,.64);
}

#page-buy .tariff-desc{
  position:relative;
  z-index:3;
  margin:28px 0 0;
  max-width:500px;
  color:rgba(255,255,255,.67);
  font-size:21px;
  line-height:1.25;
  font-weight:700;
}

#page-buy .tariff-plan-forever h3,
#page-buy .tariff-plan-forever .tariff-desc{
  margin-left:30px;
  margin-right:30px;
}

#page-buy .tariff-plan-forever h3{
  margin-top:186px;
}

#page-buy .tariff-plan-forever .tariff-desc{
  max-width:520px;
}

#page-buy .tariff-plan-days90 h3,
#page-buy .tariff-plan-days90 .tariff-desc,
#page-buy .tariff-plan-days30 h3,
#page-buy .tariff-plan-days30 .tariff-desc{
  max-width:470px;
  margin-left:34px;
  margin-right:34px;
}

#page-buy .tariff-plan-days90 h3,
#page-buy .tariff-plan-days30 h3{
  margin-top:34px;
}

#page-buy .tariff-plan-days90 .tariff-desc,
#page-buy .tariff-plan-days30 .tariff-desc{
  margin-top:22px;
}

#page-buy .tariff-buy{
  z-index:4;
  width:auto;
  min-height:50px;
  margin:0 30px 28px;
  border-radius:999px !important;
  background:linear-gradient(180deg,#9d61ff,#6828de);
  box-shadow:0 12px 34px -18px rgba(125,60,255,.95),inset 0 1px 0 rgba(255,255,255,.22);
}

#page-buy .tariff:not(.tariff-plan-forever) .tariff-buy{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:0;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
}

#page-buy .tariff:not(.tariff-plan-forever)::after{
  display:none;
}

#page-buy .tariff:hover{
  transform:translateY(-4px);
  border-color:rgba(125,60,255,.32);
}

@media (max-width: 980px){
  #page-buy .tariffs-grid{
    width:100%;
    height:auto;
    margin:0;
    transform:none;
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }
  #page-buy .tariff,
  #page-buy .tariff-plan-forever,
  #page-buy .tariff-plan-days90,
  #page-buy .tariff-plan-days30,
  #page-buy .tariff-plan-regular{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    width:auto;
    height:auto;
    grid-column:auto;
    grid-row:auto;
    min-height:360px;
  }
  #page-buy .tariff-plan-days90 .tariff-media,
  #page-buy .tariff-plan-days30 .tariff-media{
    left:0;
    right:0;
    width:auto;
  }
  #page-buy .tariff-plan-forever h3,
  #page-buy .tariff-plan-days90 h3,
  #page-buy .tariff-plan-days30 h3{
    margin-top:120px;
  }
}

@media (max-width: 560px){
  #page-buy{
    padding-top:28px;
  }
  #page-buy .page-title{
    margin-bottom:28px;
  }
  #page-buy .tariff-desc{
    font-size:16px;
  }
  #page-buy .tariff h3{
    font-size:21px;
  }
  #page-buy .tariff,
  #page-buy .tariff-plan-forever,
  #page-buy .tariff-plan-days90,
  #page-buy .tariff-plan-days30,
  #page-buy .tariff-plan-regular{
    min-height:330px;
  }
}

/* Straightened header and purchase layout */
.topbar{
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);
  align-items:center;
  min-height:66px;
  gap:18px;
  width:min(980px,calc(100% - 36px));
  padding:8px 10px;
  border-radius:30px !important;
}

.brand{
  justify-self:start;
  padding-left:8px;
}

.nav-cloud{
  position:relative;
  justify-self:center;
  min-height:46px;
  padding:6px;
  gap:4px;
  border-radius:999px !important;
  overflow:hidden;
  isolation:isolate;
}

.nav-cloud::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(90px 32px at var(--nav-glow-x, 18%) 50%,rgba(125,60,255,.28),transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  animation:navCloudBreath 6s ease-in-out infinite;
  z-index:-1;
}

.nav-cloud::after{
  content:"";
  position:absolute;
  top:-20%;
  bottom:-20%;
  width:84px;
  left:-110px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  transform:skewX(-18deg);
  animation:navCloudSweep 5.8s ease-in-out infinite;
  z-index:0;
}

.nav-link{
  z-index:1;
  min-width:92px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  text-align:center;
}

.nav-link.active{
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 8px 22px -18px rgba(125,60,255,.8);
}

.topbar-auth{
  justify-self:end;
}

#page-buy{
  padding-top:34px;
}

#page-buy::after{
  content:"";
  position:absolute;
  left:calc(50% - 760px);
  right:calc(50% - 760px);
  top:100px;
  height:760px;
  pointer-events:none;
  background:
    radial-gradient(360px 130px at 18% 48%,rgba(255,255,255,.08),transparent 70%),
    radial-gradient(280px 120px at 76% 18%,rgba(125,60,255,.1),transparent 70%),
    radial-gradient(320px 140px at 70% 78%,rgba(255,255,255,.06),transparent 70%);
  filter:blur(24px);
  opacity:.9;
  animation:buyFogMove 14s ease-in-out infinite;
  z-index:0;
}

#page-buy .page-title,
#page-buy .tariffs-grid,
#buy-message{
  position:relative;
  z-index:1;
}

#page-buy .page-title{
  margin-bottom:38px;
}

#page-buy .tariffs-grid{
  width:min(1320px,100%);
  height:auto;
  margin:0 auto;
  transform:none;
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(520px,1fr);
  grid-template-rows:356px 356px;
  gap:16px;
  padding-bottom:156px;
}

#page-buy .tariff{
  position:relative;
  left:auto;
  right:auto;
  top:auto;
  width:auto;
  height:auto;
  min-height:0;
  animation:buyCardEnter .72s cubic-bezier(.2,.9,.2,1) both;
}

#page-buy .tariff-plan-forever{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:start;
  height:584px;
  transform:translateY(144px);
}

#page-buy .tariff-plan-days90{
  grid-column:2;
  grid-row:1;
  height:auto;
  animation-delay:.08s;
}

#page-buy .tariff-plan-days30,
#page-buy .tariff-plan-regular{
  grid-column:2;
  grid-row:2;
  height:auto;
  animation-delay:.16s;
}

#page-buy .tariff-plan-forever:hover{
  transform:translateY(136px);
}

#page-buy .tariff-plan-days90:hover,
#page-buy .tariff-plan-days30:hover,
#page-buy .tariff-plan-regular:hover{
  transform:translateY(-6px);
}

#page-buy .tariff-media::after{
  content:"";
  position:absolute;
  inset:-16%;
  background:
    radial-gradient(260px 90px at 28% 42%,rgba(255,255,255,.1),transparent 70%),
    linear-gradient(110deg,transparent 30%,rgba(255,255,255,.11),transparent 58%);
  opacity:.45;
  transform:translateX(-18%);
  animation:tariffMistSlide 9s ease-in-out infinite;
}

#page-buy .tariff-plan-forever .tariff-media::after{
  animation-duration:11s;
}

#page-buy .tariff h3{
  text-wrap:balance;
}

#page-buy .tariff-desc{
  text-wrap:pretty;
}

#page-buy .tariff-plan-forever h3{
  margin-top:176px;
}

#buy-message{
  width:min(1320px,calc(100vw - 96px));
  margin:18px auto 0;
}

@keyframes navCloudBreath{
  0%,100%{opacity:.7;--nav-glow-x:18%}
  50%{opacity:1;--nav-glow-x:82%}
}

@keyframes navCloudSweep{
  0%,36%{left:-110px;opacity:0}
  48%{opacity:1}
  68%,100%{left:calc(100% + 32px);opacity:0}
}

@keyframes buyFogMove{
  0%,100%{transform:translate3d(-18px,0,0) scale(1);opacity:.68}
  50%{transform:translate3d(22px,-12px,0) scale(1.04);opacity:1}
}

@keyframes buyCardEnter{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

#page-buy .tariff-plan-forever{
  animation-name:buyCardEnterForever;
}

@keyframes buyCardEnterForever{
  from{opacity:0;transform:translateY(166px) scale(.985)}
  to{opacity:1;transform:translateY(144px) scale(1)}
}

@keyframes tariffMistSlide{
  0%,100%{transform:translateX(-18%) translateY(0);opacity:.32}
  50%{transform:translateX(18%) translateY(-6px);opacity:.66}
}

@media (max-width: 980px){
  .topbar{
    display:flex;
    min-height:auto;
  }
  .nav-cloud{
    justify-content:center;
  }
  .nav-link{
    min-width:86px;
  }
  #page-buy .tariffs-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    padding-bottom:0;
  }
  #page-buy .tariff,
  #page-buy .tariff-plan-forever,
  #page-buy .tariff-plan-days90,
  #page-buy .tariff-plan-days30,
  #page-buy .tariff-plan-regular{
    grid-column:auto;
    grid-row:auto;
    height:auto;
    min-height:360px;
    transform:none;
  }
  #page-buy .tariff-plan-forever:hover,
  #page-buy .tariff-plan-days90:hover,
  #page-buy .tariff-plan-days30:hover,
  #page-buy .tariff-plan-regular:hover{
    transform:translateY(-4px);
  }
}

@media (max-width: 560px){
  .nav-link{
    min-width:auto;
    padding-left:12px;
    padding-right:12px;
  }
}

body.route-buy .shell{
  max-width:none;
  padding:0;
}

body.route-buy #page-buy{
  padding-top:84px;
}

body.route-buy #page-buy .page-title{
  margin-top:0;
}

body.route-buy #page-buy .tariff-plan-days90 .tariff-media img,
body.route-buy #page-buy .tariff-plan-days30 .tariff-media img{
  object-position:center right;
}

body.route-buy #page-buy{
  padding:0 !important;
  min-height:100vh;
}

body.route-buy #page-buy::before,
body.route-buy #page-buy::after{
  content:none !important;
  display:none !important;
}

body.route-buy #page-buy .buy-page{
  position:relative;
  width:min(1320px,calc(100vw - 72px));
  min-height:100vh;
  margin:0 auto;
  padding:56px 0 96px;
  isolation:isolate;
}

body.route-buy #page-buy .buy-page::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(640px 280px at 50% 0,rgba(125,60,255,.16),transparent 72%),
    radial-gradient(420px 220px at 8% 72%,rgba(255,255,255,.07),transparent 70%),
    url("/assets/hero-bg.png") center/cover no-repeat,
    radial-gradient(420px 220px at 92% 56%,rgba(255,255,255,.06),transparent 70%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.32) 48%,rgba(0,0,0,.7));
  filter:blur(1px);
  opacity:.98;
  z-index:0;
}

body.route-buy #page-buy .buy-title,
body.route-buy #page-buy .buy-grid,
body.route-buy #page-buy #buy-message{
  position:relative;
  z-index:1;
}

body.route-buy #page-buy .buy-title{
  margin:0 0 34px;
  color:#7d3cff;
  font-size:24px;
  line-height:1;
  font-weight:900;
  text-align:center;
  text-shadow:0 0 24px rgba(125,60,255,.72);
}

body.route-buy #page-buy .buy-grid{
  display:grid;
  grid-template-columns:minmax(360px,.82fr) minmax(520px,1fr);
  grid-template-rows:356px 356px;
  gap:16px;
  align-items:stretch;
}

body.route-buy #page-buy .buy-loading{
  min-height:140px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(0,0,0,.62);
  color:rgba(255,255,255,.68);
  font-size:16px;
  font-weight:700;
}

body.route-buy #page-buy .buy-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  background:rgba(0,0,0,.68);
  box-shadow:0 24px 84px -48px rgba(0,0,0,.96);
  cursor:pointer;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}

body.route-buy #page-buy .buy-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.52) 52%,rgba(0,0,0,.96)),
    radial-gradient(360px 220px at 74% 62%,rgba(255,255,255,.08),transparent 68%);
}

body.route-buy #page-buy .buy-card::after{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.1),transparent 60%);
  transform:translateX(-34%);
  opacity:.32;
}

body.route-buy #page-buy .buy-card:hover{
  transform:translateY(-6px);
  border-color:rgba(125,60,255,.35);
  box-shadow:0 34px 92px -56px rgba(125,60,255,.55);
}

body.route-buy #page-buy .buy-card__media{
  position:absolute;
  inset:0;
  overflow:hidden;
}

body.route-buy #page-buy .buy-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1) contrast(1.16) brightness(.68);
  transform:scale(1.04);
}

body.route-buy #page-buy .buy-card__body{
  position:relative;
  z-index:3;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:34px 32px 30px;
}

body.route-buy #page-buy .buy-card__body h2{
  margin:0;
  color:#fff;
  font-size:24px;
  line-height:1.18;
  font-weight:900;
}

body.route-buy #page-buy .buy-card__body h2 span{
  color:#7d3cff;
  text-shadow:0 0 18px rgba(125,60,255,.64);
}

body.route-buy #page-buy .buy-card__body p{
  margin:0;
  max-width:520px;
  color:rgba(255,255,255,.67);
  font-size:20px;
  line-height:1.28;
  font-weight:700;
}

body.route-buy #page-buy .buy-card__button{
  position:relative;
  z-index:3;
  margin:0 28px 28px;
  width:min(420px,calc(100% - 56px));
  min-height:52px;
  border-radius:999px !important;
  background:linear-gradient(180deg,#9d61ff,#6828de);
  box-shadow:0 12px 34px -18px rgba(125,60,255,.95),inset 0 1px 0 rgba(255,255,255,.22);
}

body.route-buy #page-buy .buy-card--forever{
  grid-column:1;
  grid-row:1 / span 2;
  min-height:584px;
  transform:translateY(144px);
}

body.route-buy #page-buy .buy-card--90{
  grid-column:2;
  grid-row:1;
}

body.route-buy #page-buy .buy-card--30{
  grid-column:2;
  grid-row:2;
}

body.route-buy #page-buy .buy-card--forever .buy-card__media img{
  object-position:center bottom;
}

body.route-buy #page-buy .buy-card--90 .buy-card__body,
body.route-buy #page-buy .buy-card--30 .buy-card__body{
  padding:30px 34px;
}

body.route-buy #page-buy .buy-card--90 .buy-card__body p,
body.route-buy #page-buy .buy-card--30 .buy-card__body p{
  max-width:470px;
}

body.route-buy #page-buy .buy-card--90{
  min-height:366px;
}

body.route-buy #page-buy .buy-card--30{
  min-height:366px;
}

body.route-buy #page-buy .buy-card.is-disabled{
  cursor:default;
  opacity:.88;
}

body.route-buy #page-buy .buy-card.is-disabled:hover{
  transform:none;
  border-color:rgba(255,255,255,.06);
}

body.route-buy #page-buy .buy-card.is-disabled .buy-card__button{
  opacity:.45;
  pointer-events:none;
}

body.route-buy #buy-message{
  width:min(1320px,calc(100vw - 72px));
  margin:18px auto 0;
}

@media (max-width: 980px){
  body.route-buy #page-buy .buy-page{
    width:100%;
    padding:28px 18px 72px;
  }
  body.route-buy #page-buy .buy-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  body.route-buy #page-buy .buy-card,
  body.route-buy #page-buy .buy-card--forever,
  body.route-buy #page-buy .buy-card--90,
  body.route-buy #page-buy .buy-card--30{
    grid-column:auto;
    grid-row:auto;
    min-height:320px;
    transform:none;
  }
  body.route-buy #page-buy .buy-card--forever{
    min-height:420px;
  }
  body.route-buy #page-buy .buy-card__button{
    width:calc(100% - 56px);
  }
  body.route-buy #page-buy .buy-card__body h2{
    font-size:21px;
  }
  body.route-buy #page-buy .buy-card__body p{
    font-size:16px;
  }
}

@media (max-width: 560px){
  body.route-buy #page-buy .buy-page{
    padding:18px 12px 56px;
  }
  body.route-buy #page-buy .buy-title{
    margin-bottom:22px;
    font-size:20px;
  }
  body.route-buy #page-buy .buy-card__body{
    padding:24px 22px 22px;
  }
  body.route-buy #page-buy .buy-card__button{
    margin:0 22px 22px;
    width:calc(100% - 44px);
    min-height:48px;
  }
  body.route-buy #page-buy .buy-card--forever{
    min-height:360px;
  }
  body.route-buy #page-buy .buy-card--90,
  body.route-buy #page-buy .buy-card--30{
    min-height:300px;
  }
  body.route-buy #page-buy .buy-card__body p{
    font-size:15px;
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* Final simple background + normal buy cards */
body::before{
  background:
    linear-gradient(180deg,rgba(2,2,6,.82),rgba(2,2,6,.9)),
    url("/assets/fon.jpg") center center / cover no-repeat;
}

.visual-stage{
  opacity:.22;
}

body.route-buy .shell{
  max-width:1180px;
  padding:0 28px;
}

body.route-buy #page-buy{
  padding:34px 0 74px !important;
  min-height:auto;
}

body.route-buy #page-buy::before,
body.route-buy #page-buy::after,
body.route-buy #page-buy .buy-page::before{
  content:none !important;
  display:none !important;
}

body.route-buy #page-buy .buy-page{
  width:100%;
  min-height:auto;
  margin:0;
  padding:0;
  isolation:auto;
}

body.route-buy #page-buy .page-title{
  margin:0 0 20px;
  text-align:left;
  font-size:30px;
}

body.route-buy #page-buy .tariffs-grid{
  width:100%;
  height:auto;
  margin:0;
  transform:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  padding:0;
}

body.route-buy #page-buy .tariff,
body.route-buy #page-buy .tariff-plan-forever,
body.route-buy #page-buy .tariff-plan-days90,
body.route-buy #page-buy .tariff-plan-days30,
body.route-buy #page-buy .tariff-plan-regular{
  position:relative;
  left:auto;
  right:auto;
  top:auto;
  width:auto;
  height:auto;
  min-height:340px;
  grid-column:auto;
  grid-row:auto;
  transform:none !important;
  display:flex;
  flex-direction:column;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(5,5,9,.72);
}

body.route-buy #page-buy .tariff:hover{
  transform:translateY(-4px) !important;
}

body.route-buy #page-buy .tariff-plan-days90 .tariff-media,
body.route-buy #page-buy .tariff-plan-days30 .tariff-media{
  left:0;
  right:0;
  width:auto;
}

body.route-buy #page-buy .tariff-media img{
  filter:grayscale(.15) contrast(1.08) brightness(.78);
  object-position:center;
}

body.route-buy #page-buy .tariff h3{
  margin:22px 18px 0 !important;
  font-size:22px;
  line-height:1.2;
}

body.route-buy #page-buy .price{
  margin:10px 18px 0 !important;
  font-size:40px;
}

body.route-buy #page-buy .tariff-desc{
  margin:14px 18px 0 !important;
  max-width:none;
  color:rgba(255,255,255,.74);
  font-size:14px;
  line-height:1.35;
  font-weight:600;
}

body.route-buy #page-buy .tariff-buy{
  position:relative !important;
  width:calc(100% - 36px) !important;
  height:auto !important;
  min-height:46px;
  margin:16px 18px 18px !important;
  opacity:1 !important;
  pointer-events:auto !important;
  overflow:visible !important;
}

body.route-buy #buy-message{
  width:100%;
  margin:14px 0 0;
}

@media (max-width: 980px){
  body.route-buy #page-buy .tariffs-grid{
    grid-template-columns:1fr;
  }
  body.route-buy #page-buy .page-title{
    text-align:center;
    font-size:26px;
  }
}

@media (max-width: 560px){
  body.route-buy .shell{
    padding:0 14px;
  }
  body.route-buy #page-buy .tariff{
    min-height:300px;
  }
  body.route-buy #page-buy .tariff h3{
    font-size:20px;
  }
  body.route-buy #page-buy .price{
    font-size:34px;
  }
}

/* Stable rock background (no disappearing) */
body{
  --route-bg:url("/фоны/3.png");
}

body.route-home{
  --route-bg:url("/фоны/3.png");
}

body.route-profile{
  --route-bg:url("/фоны/2.png");
}

body.route-buy{
  --route-bg:url("/фоны/1.png");
}

body::before{
  background:
    linear-gradient(180deg,rgba(2,2,6,.78),rgba(2,2,6,.9)),
    var(--route-bg) center center / cover no-repeat !important;
}

.visual-stage{
  background:var(--route-bg) center center / cover no-repeat;
  opacity:.18;
}

.stage-bg,
.scanline{
  display:none !important;
}

/* Voltaris monochrome skin */
:root,
html.dark{
  --bg:#000;
  --panel:rgba(8,8,8,.86);
  --panel-solid:#050505;
  --panel-soft:rgba(255,255,255,.055);
  --text:#fff;
  --text-soft:#d2d2d2;
  --muted:#8a8a8a;
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.28);
  --accent:#fff;
  --accent-2:#dcdcdc;
  --accent-hot:#fff;
  --accent-pink:#dcdcdc;
  --green:#fff;
  --danger:#fff;
  --primary-bg:linear-gradient(180deg,#fff,#d8d8d8);
  --primary-bg-hover:linear-gradient(180deg,#fff,#ededed);
  --primary-ink:#000;
}

body{
  background:#000 !important;
  color:#fff;
  filter:grayscale(1);
}

body::before{
  background:
    linear-gradient(180deg,rgba(0,0,0,.58),rgba(0,0,0,.92)),
    var(--route-bg) center center / cover no-repeat !important;
}

body::after{
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72)) !important;
}

::selection{
  background:#fff;
  color:#000;
}

.visual-stage::before{
  background:
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 1px) !important;
}

.visual-stage::after,
.hero-redesign::after,
.monolith::after,
.content-card::after,
.showcase-card::before,
.tariff::before,
.nav-cloud::before,
.buy-hero::before{
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent) !important;
}

.brand-logo{
  width:34px;
  height:34px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.22);
  filter:grayscale(1) contrast(1.18) brightness(.95);
}

.brand-logo,
.brand span{
  animation:none !important;
}

.btn-primary,
.tariff-buy{
  color:#000 !important;
  border-color:rgba(255,255,255,.8) !important;
  background:linear-gradient(180deg,#fff,#d6d6d6) !important;
  box-shadow:0 16px 34px -24px rgba(255,255,255,.48),inset 0 1px 0 rgba(255,255,255,.65) !important;
}

.btn-primary:hover,
.tariff-buy:hover{
  background:linear-gradient(180deg,#fff,#eeeeee) !important;
}

.btn-outline,
.btn-ghost,
.nav-link,
.user-chip,
.admin-tab,
.icon-btn,
.theme-toggle-track,
.pill,
.field-value,
.form input,
.form-compact input,
.inline-form input,
.card,
.content-card,
.stat-card,
.showcase-card,
.tariff,
.modal-card,
.field-group{
  border-color:rgba(255,255,255,.14) !important;
  background:rgba(8,8,8,.72) !important;
  color:#fff !important;
  box-shadow:0 22px 70px -50px rgba(0,0,0,.96) !important;
}

.nav-link.active,
.admin-tab.active,
.profile-tag,
.profile-tag.role-owner,
.profile-tag.role-admin,
.profile-tag.role-user,
.stat-number,
.price,
.hero-kicker,
.eyebrow,
.section-kicker,
.status,
.mono{
  color:#fff !important;
  text-shadow:none !important;
}

.form-msg.error,
.form-msg.success,
.badge,
.status-dot::before,
.status-dot.off::before{
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.08) !important;
}
