@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap');
/* LovVPN — SONAR / HUD. Новый визуальный слой: плоские панели, уголки-скобки, компактные кнопки.
   Палитра сохранена (navy · cyan · mint · violet · amber). PHP/JS не менялись. */
:root{
  --bg:#040b17;--bg2:#071428;--panel:#0a1b31;--panel2:#0e2745;--ink:#061224;
  --ln:#16395c;--ln2:#1f5a8a;--tx:#eaf6ff;--mu:#6f8fab;
  --cy:#1de2ff;--mint:#25e0ba;--vi:#7b4dff;--vi2:#b95cff;--am:#ffd35a;--rose:#ff718d;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:'Manrope','Inter',system-ui,sans-serif;
}
html{background:var(--bg)}
body{
  font-family:var(--sans)!important;color:var(--tx);background-color:var(--bg)!important;
  background-image:
    repeating-radial-gradient(circle at 92% -8%,transparent 0 46px,rgba(29,226,255,.05) 46px 47px),
    radial-gradient(60% 40% at 0% 100%,rgba(123,77,255,.10),transparent 70%),
    linear-gradient(180deg,var(--bg2),var(--bg) 60%)!important;
  background-attachment:fixed!important;
}
body::before{content:"";position:fixed;left:0;right:0;top:0;height:2px;z-index:9000;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--cy) 30%,var(--vi) 70%,transparent);opacity:.9}
.bg-animated,.blob{background:none!important;animation:none!important;filter:none!important}

/* ---------- панели с уголками ---------- */
.glass-card,.stat-card,.server-item,.t-card,.daily-card,.method-btn,.ref-teaser,.ref-card,.device-box,
.ticket-card,.nova-main-wallet,.nova-pay-head,.wallet-panel,.confirm-box,.tg-widget-container{
  --bc:var(--ln2);
  background-color:var(--panel)!important;
  background-image:linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc))!important;
  background-repeat:no-repeat!important;
  background-position:0 0,0 0,100% 100%,100% 100%!important;
  background-size:14px 2px,2px 14px,14px 2px,2px 14px!important;
  border:1px solid var(--ln)!important;border-radius:4px!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.stat-card::after{display:none!important}
.server-item.active,.t-card.active,.t-card[class*="accent-"].active{
  --bc:var(--cy);border-color:var(--cy)!important;background-color:var(--panel2)!important;box-shadow:0 0 0 1px rgba(29,226,255,.15)!important}
.daily-card{--bc:var(--mint);border-color:rgba(37,224,186,.45)!important;background-color:#08242d!important}
.ref-teaser{--bc:var(--vi2);border-color:rgba(185,92,255,.4)!important}
.card-user{--bc:var(--cy)}.card-status{--bc:var(--mint)}.card-expiry{--bc:var(--vi2)}.card-traffic{--bc:var(--am)}
.wallet-method,.nova-main-wallet{--bc:var(--mint)}
.method-btn{border-width:1px!important;padding:12px 14px!important;margin-bottom:8px!important}
.method-btn:hover{border-color:var(--cy)!important}

/* ---------- типографика ---------- */
.stat-label,.loc-title,.nova-wallet-kicker,.bp-title,.t-perday,.sidebar-group-label,.range-labels,.daily-days-label,.main-content table th{
  font-family:var(--mono)!important;text-transform:uppercase;letter-spacing:.09em!important;font-size:9.5px!important;color:var(--mu)!important;font-weight:500!important}
.t-month,.t-price,.nova-wallet-value,.bp-price,#daily-days-val,.daily-price-total,.stat-value,.srv-ping{font-family:var(--mono)!important;font-variant-numeric:tabular-nums}

/* ---------- шапка ---------- */
.vpn-container{max-width:640px;padding:16px 14px 28px}
.vpn-header{padding:0 0 12px;margin-bottom:16px;border-bottom:1px solid var(--ln)}
.vpn-logo{background:none!important;-webkit-text-fill-color:var(--tx)!important;color:var(--tx);filter:none!important;
  font-size:19px!important;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}
.vpn-logo::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--cy);box-shadow:0 0 0 3px rgba(29,226,255,.18),0 0 0 7px rgba(29,226,255,.07)}
.top-badge{background:transparent!important;border:1px solid rgba(255,211,90,.35)!important;border-radius:3px!important;
  color:var(--am)!important;font-family:var(--mono);font-size:10px!important;text-transform:uppercase;letter-spacing:.08em;padding:4px 8px!important;box-shadow:none!important;backdrop-filter:none!important}
.header-icon{font-size:15px!important}
.loc-title{margin-bottom:8px!important}
.loc-title::before{content:"// ";color:var(--cy)}

/* ---------- локации: горизонтальные чипы ---------- */
.servers-list{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))!important;gap:8px!important;margin-bottom:12px!important}
.server-item{display:grid!important;grid-template-columns:26px 1fr;column-gap:8px;align-items:center;text-align:left!important;
  padding:8px 10px!important;transform:none!important;transition:border-color .15s}
.server-item:hover{border-color:var(--ln2)!important}
.srv-flag{grid-row:1/3;font-size:20px!important;margin:0!important;transform:none!important}
.srv-name{font-size:12px!important;font-weight:700;color:var(--tx)!important}
.srv-ping{justify-self:start;background:none!important;padding:0!important;margin:0!important;font-size:10px!important;color:var(--mu)!important;border:0!important}
.srv-ping.good{color:var(--mint)!important}.srv-ping.mid{color:var(--am)!important}

/* ---------- показатели ---------- */
.stats-grid{gap:8px!important;margin-bottom:12px!important}
.stat-card{min-height:0!important;padding:10px 12px!important;position:relative}
.stat-icon{position:absolute;top:10px;right:12px;margin:0!important;font-size:12px!important;opacity:.6}
.stat-value{font-size:13px!important;font-weight:700;color:var(--tx)!important}
.device-badge{background:none!important;border:0!important;padding:0!important;color:var(--mu)!important;font-family:var(--mono);font-size:9.5px!important;border-radius:0!important}

/* ---------- кошелёк ---------- */
.nova-main-wallet,.nova-pay-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:0 0 12px}
.nova-main-wallet-left{display:flex;align-items:center;gap:12px}
.nova-wallet-orb{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--mint);
  border:1px solid rgba(37,224,186,.35);border-radius:4px;background:rgba(37,224,186,.08)}
.nova-wallet-value{font-size:21px;font-weight:700;line-height:1.1;color:var(--tx)}
.nova-wallet-caption{font-size:10.5px;color:var(--mu);margin-top:2px}
.nova-main-wallet-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.nova-wallet-inline{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:4px;border:1px solid rgba(37,224,186,.4);background:var(--ink);color:var(--tx);font:700 12px var(--mono);cursor:pointer;white-space:nowrap}
.wallet-panel{padding:12px;margin:0 0 12px}
.wallet-panel-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.wallet-history-item{border:1px solid var(--ln);background:var(--ink);border-radius:4px;padding:8px 10px;margin-bottom:6px}

/* ---------- КНОПКИ: компактные, плоские ---------- */
.nova-wallet-btn,.wallet-action-btn,.bp-btn,.daily-buy-btn,.btn-purple,.btn-connect-green,.bonus-btn,.ref-teaser-btn,.daily-step-btn,.modal-close,.chat-chip{
  border-radius:5px!important;font-family:var(--sans);font-weight:700;box-shadow:none!important;transition:filter .15s,transform .1s}
.nova-wallet-btn,.wallet-action-btn{padding:7px 11px!important;font-size:12px!important;background:var(--ink)!important;color:var(--tx)!important;border:1px solid var(--ln2)!important}
.nova-wallet-btn:hover,.wallet-action-btn:hover{border-color:var(--cy)!important}
.nova-wallet-btn.primary,.wallet-action-btn.primary{background:var(--mint)!important;color:#03241c!important;border-color:var(--mint)!important}
.main-menu-grid{display:grid!important;grid-template-columns:1fr;gap:6px!important;margin-bottom:24px!important}
.menu-btn{min-height:42px;padding:0 12px 0 14px!important;font-size:13px!important;font-weight:700!important;border-radius:5px!important;
  background:var(--panel)!important;border:1px solid var(--ln)!important;box-shadow:inset 2px 0 0 var(--ln2)!important;backdrop-filter:none!important;transition:border-color .15s,transform .1s}
.menu-btn:hover{border-color:var(--ln2)!important;box-shadow:inset 2px 0 0 var(--cy)!important}
.menu-btn i{font-size:14px!important}
.menu-btn .gap-3{gap:10px!important}
.btn-buy{background:var(--vi)!important;border-color:#9a7bff!important;box-shadow:inset 2px 0 0 var(--cy)!important;color:#fff!important;animation:none!important}
.btn-buy:hover{box-shadow:inset 2px 0 0 var(--cy)!important;filter:brightness(1.1)}
.btn-buy .price-badge,.btn-connect .plat-badge{background:rgba(4,11,23,.35)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:3px!important;padding:2px 7px!important;font:700 11px var(--mono)!important}
.btn-half-group{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important}
.btn-half{min-height:38px;padding:0 12px!important;font-size:12.5px!important;border-radius:5px!important;background:var(--panel)!important;border:1px solid var(--ln)!important;box-shadow:none!important;backdrop-filter:none!important;gap:8px!important}
.btn-half i{font-size:13px!important}
.btn-purple,.btn-connect-green,.bonus-btn{padding:11px!important;font-size:13px!important}
.btn-purple{background:var(--vi)!important}
.btn-connect-green{background:var(--mint)!important;color:#03241c!important}
.floating-btn{width:44px!important;height:44px!important;right:16px!important;bottom:16px!important;border-radius:10px!important;font-size:17px!important;
  background:var(--cy)!important;color:#03182a!important;animation:none!important;box-shadow:0 6px 20px rgba(29,226,255,.25)!important}
.modal-close{width:28px!important;height:28px!important;font-size:14px!important}

/* ---------- окна ---------- */
.modal-overlay,#custom-confirm,.modal{background:rgba(2,6,14,.84)!important;backdrop-filter:none!important}
.bottom-sheet{background:#071630!important;border:1px solid var(--ln)!important;border-top:2px solid var(--cy)!important;border-radius:10px 10px 0 0!important;box-shadow:none!important;backdrop-filter:none!important}
.confirm-box a,.confirm-box button,#custom-confirm button{padding-top:9px!important;padding-bottom:9px!important;border-radius:5px!important;font-size:13px!important}
.copy-box{background:var(--ink)!important;border:1px solid var(--ln)!important;border-radius:4px!important;padding:9px 12px!important}
.toast{background:var(--panel)!important;border:1px solid var(--ln2)!important;border-left:3px solid var(--cy)!important;border-radius:5px!important;padding:10px 14px!important;font-size:13px!important;backdrop-filter:none!important}
.chat-bubble{font-size:13px}
.chat-user{background:var(--vi)!important;border-radius:10px 10px 2px 10px!important;box-shadow:none!important}
.chat-bot{background:var(--panel)!important;border-radius:10px 10px 10px 2px!important;backdrop-filter:none!important}
.chat-admin{background:#0a4a78!important;border-radius:10px 10px 10px 2px!important}
.chat-chip{padding:6px 12px!important;font-size:12px!important}
.spinner{border-color:rgba(29,226,255,.15)!important;border-top-color:var(--cy)!important;border-right-color:var(--mint)!important;box-shadow:none!important}
.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--ln2)!important}
.empty-servers-box{border-radius:4px!important}
.trial-timer-box{border-radius:4px!important;padding:9px!important}

/* ---------- ОПЛАТА ---------- */
#browser-content,#telegram-content{max-width:700px!important}
#telegram-content{padding:16px 14px 100px!important}
.trust-row{display:flex!important;flex-wrap:wrap;gap:6px!important;justify-content:flex-start!important;margin-bottom:14px!important}
.trust-chip{background:transparent!important;border:1px solid var(--ln)!important;border-radius:3px!important;padding:4px 9px!important;
  font:500 10px var(--mono)!important;color:var(--mu)!important;backdrop-filter:none!important}
.trust-chip i{color:var(--cy)}
.tariff-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:14px!important}
.t-card{padding:14px 8px 12px!important;border-width:1px!important;min-height:0!important;transform:none!important;transition:border-color .15s}
.t-card:hover{border-color:var(--ln2)!important}
.t-month{font-size:30px!important;font-weight:700!important;color:var(--tx)!important}
.t-desc{font-size:11px!important;margin:4px 0 8px!important;color:var(--mu)!important}
.t-price{font-size:15px!important;font-weight:700!important}
.t-save{color:var(--mint)!important;font-size:10px!important}
.t-popular{background:var(--vi)!important;border-radius:2px!important;font:700 9px var(--mono)!important;letter-spacing:.06em;padding:2px 8px!important;box-shadow:none!important}
.t-badge{background:var(--mint)!important;color:#03241c!important;border:0!important;border-radius:0 3px 0 6px!important;font:700 10px var(--mono)!important}
.t-infinity{border-radius:3px 0 6px 0!important;font-size:11px!important}
.daily-card{padding:16px!important;margin-top:8px;margin-bottom:14px}
.daily-card-glow{display:none!important}
.daily-badge{border-radius:3px!important;font:700 10px var(--mono)!important;text-transform:uppercase;padding:3px 8px!important}
.daily-title{font-size:17px!important;font-weight:800}
.daily-sub{font-size:12px!important;margin-bottom:14px!important}
.daily-stepper{gap:14px!important;margin-bottom:12px!important}
.daily-step-btn{width:36px!important;height:36px!important;font-size:13px!important;background:var(--ink)!important;border:1px solid var(--ln2)!important}
.daily-days-display span#daily-days-val{font-size:34px!important;color:var(--mint)!important;text-shadow:none!important}
.daily-price-row{background:var(--ink)!important;border:1px solid var(--ln)!important;border-radius:4px!important;padding:9px 12px!important;margin-bottom:12px!important}
.daily-price-total{font-size:17px!important}
.daily-buy-btn{padding:11px!important;font-size:13px!important;background:var(--mint)!important;color:#03241c!important}
.daily-autopay-row{padding-top:12px!important;border-color:var(--ln)!important}
.daily-balance-chip{border-radius:4px!important;padding:4px 10px!important;background:var(--ink)!important;border:1px solid var(--ln)!important;font-family:var(--mono)}
.ref-teaser{padding:12px 14px!important;margin-top:10px}
.ref-teaser-icon{width:36px!important;height:36px!important;min-width:36px!important;border-radius:4px!important;font-size:15px!important;background:rgba(185,92,255,.14)!important;color:var(--vi2)!important}
.ref-teaser-btn{min-width:28px!important;height:28px!important;border-radius:5px!important;background:var(--ink)!important;border:1px solid var(--ln2)}
.auth-input{background:var(--ink)!important;border:1px solid var(--ln)!important;border-radius:4px!important;font-size:16px!important}
.auth-input:focus{border-color:var(--cy)!important;box-shadow:none!important}
.bottom-pay-bar{bottom:max(12px,env(safe-area-inset-bottom))!important;width:calc(100% - 24px)!important;max-width:520px!important;padding:8px 8px 8px 14px!important;
  background:#071630!important;border:1px solid var(--ln2)!important;border-top:2px solid var(--cy)!important;border-radius:8px!important;box-shadow:0 10px 30px rgba(0,0,0,.5)!important;backdrop-filter:none!important}
.bp-price{font-size:20px!important}.bp-price-sym{font-size:14px!important}.bp-desc{font-size:10.5px!important}
.bp-btn{background:var(--vi)!important;padding:10px 20px!important;font-size:13px!important;animation:none!important}
.slider-val-bubble{width:38px!important;height:38px!important;border-radius:4px!important;border-color:var(--cy)!important;background:rgba(29,226,255,.08)!important}
input[type=range]::-webkit-slider-runnable-track{height:4px!important;border-radius:0!important}
input[type=range]::-webkit-slider-thumb{height:16px!important;width:16px!important;border-radius:3px!important;background:var(--cy)!important;border:3px solid var(--bg2)!important;margin-top:-6px!important;box-shadow:none!important}
.range-labels span.active{color:var(--cy)!important}
.switch input:checked + .switch-slider{background:var(--mint)!important}

/* ---------- АДМИНКА ---------- */
.app-shell{position:relative;z-index:1}
.sidebar{width:236px!important;min-width:236px!important;background:#050f20!important;border-right:1px solid var(--ln)!important;box-shadow:none!important;border-radius:0!important;background-image:none!important}
.sidebar-brand{padding:8px 8px 16px!important}
.sidebar-brand h1{font-size:16px!important;font-weight:800}
.nav-btn{min-height:36px;padding:7px 10px!important;border-radius:4px!important;color:#8aa6c0!important;font-size:13px!important;background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;background-image:none!important}
.nav-btn:hover{background:rgba(29,226,255,.05)!important;color:var(--tx)!important}
.nav-btn.active{background:rgba(29,226,255,.08)!important;color:var(--cy)!important;box-shadow:inset 2px 0 0 var(--cy)!important}
.nav-btn.active i{color:var(--cy)!important}
.main-content{padding:20px 24px 60px!important}
.topbar{margin-bottom:16px!important;background:none!important;border:0!important;box-shadow:none!important}
.topbar h2{font-size:20px!important;font-weight:800}
.admin-pill{border-radius:3px!important;background:var(--ink)!important;background-image:none!important;font-family:var(--mono);font-size:11px!important;padding:4px 10px!important}
.main-content button{border-radius:5px;transition:filter .15s,border-color .15s}
.main-content button:hover{filter:brightness(1.12)}
.main-content input,.main-content select,.main-content textarea{background:var(--ink)!important;border:1px solid var(--ln)!important;color:var(--tx)!important;border-radius:4px!important}
.main-content input:focus,.main-content select:focus,.main-content textarea:focus{border-color:var(--cy)!important;box-shadow:none!important;outline:none}
.main-content table thead tr{border-color:var(--ln)!important}
.main-content table tbody tr{border-color:rgba(22,57,92,.6)!important}
.main-content table tbody tr:hover{background:rgba(29,226,255,.04)!important}
.ticket-card{padding:10px 12px}

/* ---------- вход / утилитарные страницы ---------- */
body.flex.items-center.justify-center.h-screen>div{border-radius:6px!important;background:var(--panel)!important;border:1px solid var(--ln2)!important;box-shadow:none!important;backdrop-filter:none!important}

/* ---------- адаптив ---------- */
@media(min-width:900px){
  .vpn-container{max-width:960px!important}
  .stats-grid{grid-template-columns:repeat(4,1fr)!important}
  .main-menu-grid{grid-template-columns:1fr 1fr}
  .main-menu-grid .btn-buy,.main-menu-grid .btn-half-group,.main-menu-grid #btn-logout-main{grid-column:1/-1}
  #telegram-content{max-width:960px!important}
  .tariff-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .daily-card-in-grid{grid-column:1/-1}
}
@media(max-width:640px){
  .nova-main-wallet{flex-direction:column;align-items:flex-start}
  .nova-main-wallet-actions{width:100%}.nova-wallet-btn{flex:1}
  .wallet-panel-actions{grid-template-columns:1fr}
  .main-content{padding:14px 12px 50px!important}
}

/* ===================== V2 · ABYSS GLOW =====================
   Скруглённые светящиеся панели, плитки с цветными иконками, герой с маскотом, флаги-картинки. */
:root{--glow:rgba(70,140,255,.55)}
.glass-card,.stat-card,.server-item,.t-card,.daily-card,.method-btn,.ref-teaser,.ref-card,.device-box,.ticket-card,
.nova-main-wallet,.nova-pay-head,.wallet-panel,.confirm-box,.tg-widget-container,.hero{
  background:linear-gradient(160deg,#0c2257 0%,#081a40 55%,#061230 100%)!important;background-image:linear-gradient(160deg,#0c2257 0%,#081a40 55%,#061230 100%)!important;
  border:1px solid var(--glow)!important;border-radius:16px!important;
  box-shadow:0 0 0 1px rgba(29,226,255,.05),0 8px 26px rgba(8,36,130,.38),inset 0 0 24px rgba(50,110,255,.10)!important}
.server-item.active,.t-card.active,.t-card[class*="accent-"].active{border-color:var(--cy)!important;box-shadow:0 0 0 1px rgba(29,226,255,.4),0 0 22px rgba(29,226,255,.28),inset 0 0 24px rgba(29,226,255,.10)!important}
.daily-card{border-color:rgba(37,224,186,.6)!important;background:linear-gradient(160deg,#0a3a47,#07202f)!important}
.ref-teaser{border-color:rgba(185,92,255,.6)!important;background:linear-gradient(160deg,#2a1670,#0f1240)!important}
body{background-image:radial-gradient(60% 35% at 50% -5%,rgba(40,110,255,.30),transparent 70%),radial-gradient(40% 30% at 100% 70%,rgba(29,226,255,.10),transparent 70%),linear-gradient(180deg,#061231,#030a1a)!important}
body::before{background:linear-gradient(90deg,transparent,#3d7bff,#1de2ff,#7b4dff,transparent)}
.stat-label,.loc-title,.nova-wallet-kicker,.bp-title{font-family:var(--sans)!important;letter-spacing:.05em!important}
.loc-title::before{content:""}

/* логотип-гора */
.vpn-logo::before{content:"";width:30px;height:26px;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 34'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%231de2ff'/%3E%3Cstop offset='1' stop-color='%237b4dff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M2 32 15 8l6 9 5-7 12 22z' fill='url(%23g)'/%3E%3Cpath d='M15 8l3.5 6-3.5 3-3.500-3zM26 10l3 5-3 2-3-2z' fill='%23fff' fill-opacity='.85'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 0 8px rgba(29,226,255,.5))}
.vpn-logo{font-size:21px!important}

/* герой */
.hero{display:flex;align-items:center;gap:8px;padding:14px 12px 12px 16px;margin-bottom:14px;overflow:hidden;position:relative}
.hero-txt{flex:1;min-width:0}
.hero-title{font-size:18px;font-weight:800;letter-spacing:-.01em}
.hero-sub{font-size:12px;color:#9db6d6;margin:4px 0 10px;line-height:1.45;max-width:380px}
.hero-feats{display:flex;flex-wrap:wrap;gap:6px}
.hero-feats span{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:#cfe6ff;background:rgba(29,226,255,.08);border:1px solid rgba(29,226,255,.25);border-radius:999px;padding:3px 9px}
.hero-feats i{color:var(--cy);font-size:10px}
.hero-mascot{width:104px;height:104px;flex:none;filter:drop-shadow(0 0 18px rgba(60,130,255,.55));animation:heroFloat 4s ease-in-out infinite}
@keyframes heroFloat{50%{transform:translateY(-5px)}}

/* локации — компактные, с флагами */
.servers-list{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))!important;gap:6px!important}
.server-item{grid-template-columns:26px 1fr!important;padding:6px 9px!important;border-radius:12px!important;min-height:0!important;box-shadow:inset 0 0 14px rgba(50,110,255,.08)!important}
.srv-flag{display:flex!important;align-items:center}
.srv-flag img{width:24px;height:17px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.srv-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px!important}
.srv-ping{font-family:var(--sans)!important;font-size:9px!important}
.ping-dots{display:none!important}

/* плитки меню */
.main-menu-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
.menu-btn.tile{display:flex!important;justify-content:flex-start!important;align-items:center;gap:10px;min-height:52px;padding:8px 10px!important;border-radius:14px!important;
  background:linear-gradient(160deg,#0c2257,#071735)!important;border:1px solid rgba(70,140,255,.4)!important;box-shadow:inset 0 0 16px rgba(50,110,255,.08)!important;text-align:left}
.menu-btn.tile:hover{border-color:var(--cy)!important;box-shadow:0 0 16px rgba(29,226,255,.2),inset 0 0 16px rgba(29,226,255,.08)!important}
.menu-btn.tile.wide{grid-column:1/-1}
.tile-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:15px;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.c-violet{background:linear-gradient(135deg,#6d4cff,#c05cff)}.c-cyan{background:linear-gradient(135deg,#1590ff,#1de2ff)}
.c-mint{background:linear-gradient(135deg,#12b99a,#3df0c6)}.c-amber{background:linear-gradient(135deg,#f59e0b,#ffd35a)}
.c-rose{background:linear-gradient(135deg,#f0436f,#ff8aa5)}.c-blue{background:linear-gradient(135deg,#3b63ff,#6da0ff)}
.tile-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.tile-txt b{font-size:13px;font-weight:800;line-height:1.2}
.tile-txt small{font-size:10.5px;font-weight:500;color:#8fb0d4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-btn.btn-buy.tile{background:linear-gradient(120deg,#4a3cff,#a24dff)!important;border-color:#a98bff!important;box-shadow:0 6px 22px rgba(110,70,255,.4)!important}
.btn-buy.tile .tile-txt small{color:#e4d8ff}
.btn-buy.tile .tile-ico{background:rgba(255,255,255,.2)}
.menu-btn .price-badge,.menu-btn .plat-badge{margin-left:auto;flex:none}

/* кошелёк */
.nova-wallet-orb{border-radius:10px!important;background:linear-gradient(135deg,#12b99a,#3df0c6)!important;color:#032119!important;border:0!important;box-shadow:0 4px 12px rgba(37,224,186,.3)}

/* кнопки: мягкие, небольшие */
.nova-wallet-btn,.wallet-action-btn,.bp-btn,.daily-buy-btn,.btn-purple,.btn-connect-green,.bonus-btn{border-radius:10px!important}
.nova-wallet-btn,.wallet-action-btn{background:rgba(29,226,255,.08)!important;border:1px solid rgba(70,140,255,.5)!important}
.bp-btn{background:linear-gradient(120deg,#4a3cff,#a24dff)!important}
.bottom-pay-bar{border-radius:16px!important;border:1px solid var(--glow)!important;background:linear-gradient(160deg,#0c2257,#061230)!important}
.floating-btn{border-radius:50%!important;background:linear-gradient(135deg,#4a3cff,#a24dff)!important;color:#fff!important;box-shadow:0 6px 22px rgba(110,70,255,.5)!important}
.trust-chip,.t-popular,.t-badge,.daily-badge,.admin-pill,.top-badge{border-radius:999px!important}
.t-card{border-radius:16px!important}.t-month{font-family:var(--sans)!important}
.bottom-sheet{border-radius:22px 22px 0 0!important;background:linear-gradient(180deg,#0b2056,#061230)!important;border-top:1px solid var(--cy)!important}
.copy-box,.auth-input,.daily-price-row,.daily-step-btn,.daily-balance-chip,.wallet-history-item{border-radius:10px!important}
.nav-btn,.nav-btn.active{border-radius:10px!important}
.main-content input,.main-content select,.main-content textarea,.main-content button{border-radius:10px!important}
.toast{border-radius:12px!important}
@media(max-width:480px){.hero-mascot{width:84px;height:84px}.hero-sub{font-size:11.5px}.main-menu-grid{gap:6px!important}}

/* ===================== V3 · NEON FOX =====================
   Палитра логотипа: cyan → violet → magenta на чёрно-фиолетовом. Неоновые контуры, свечение. */
:root{--bg:#07030f;--bg2:#0e0622;--panel:#0d0720;--panel2:#160a33;--ink:#070312;--ln:#2b1858;--ln2:#5b34b0;
  --tx:#f3eeff;--mu:#9a86c4;--cy:#22d3ff;--vi:#7b5cff;--vi2:#ff2fa8;--glow:rgba(150,95,255,.6);
  --neon:linear-gradient(120deg,#22d3ff 0%,#7b5cff 52%,#ff2fa8 100%)}
body{background-image:radial-gradient(55% 32% at 15% -4%,rgba(34,211,255,.18),transparent 70%),radial-gradient(55% 34% at 95% 8%,rgba(255,47,168,.17),transparent 70%),radial-gradient(60% 30% at 50% 110%,rgba(123,92,255,.16),transparent 70%),linear-gradient(180deg,#0b0519,#05020c)!important}
body::before{background:var(--neon);height:2px;box-shadow:0 0 14px rgba(123,92,255,.8)}

/* панели: градиентная неоновая рамка */
.glass-card,.stat-card,.server-item,.t-card,.method-btn,.ref-card,.device-box,.ticket-card,.nova-main-wallet,.nova-pay-head,.wallet-panel,.confirm-box,.tg-widget-container,.hero,.menu-btn.tile{
  background:linear-gradient(160deg,#120a2c,#0a0518) padding-box,var(--neon) border-box!important;
  border:1px solid transparent!important;border-radius:16px!important;
  box-shadow:0 0 18px rgba(123,92,255,.20),inset 0 0 22px rgba(123,92,255,.07)!important}
.server-item,.menu-btn.tile{background:linear-gradient(160deg,#120a2c,#0a0518) padding-box,linear-gradient(120deg,rgba(34,211,255,.7),rgba(123,92,255,.55),rgba(255,47,168,.7)) border-box!important}
.server-item.active,.t-card.active,.t-card[class*="accent-"].active{background:linear-gradient(160deg,#1d0f45,#0e0626) padding-box,var(--neon) border-box!important;
  box-shadow:0 0 22px rgba(34,211,255,.35),0 0 30px rgba(255,47,168,.22),inset 0 0 22px rgba(123,92,255,.14)!important}
.menu-btn.tile:hover,.server-item:hover{box-shadow:0 0 20px rgba(255,47,168,.3),0 0 14px rgba(34,211,255,.3)!important}
.daily-card{background:linear-gradient(160deg,#0a2a3a,#0a0a24) padding-box,linear-gradient(120deg,#25e0ba,#22d3ff,#7b5cff) border-box!important;border:1px solid transparent!important}
.ref-teaser{background:linear-gradient(160deg,#2a0f4a,#12072c) padding-box,linear-gradient(120deg,#7b5cff,#ff2fa8) border-box!important;border:1px solid transparent!important}
.nova-main-wallet,.nova-pay-head{background:linear-gradient(160deg,#101030,#0a0518) padding-box,linear-gradient(120deg,#25e0ba,#22d3ff,#7b5cff) border-box!important}

/* логотип и герой */
.vpn-logo{background:none!important;-webkit-text-fill-color:transparent!important;background:var(--neon)!important;-webkit-background-clip:text!important;background-clip:text!important;font-size:22px!important;letter-spacing:.01em;filter:drop-shadow(0 0 10px rgba(123,92,255,.55))!important}
.vpn-logo::before{width:34px!important;height:34px!important;background:url("/assets/img/lovvpn_fox_sm.png") center/contain no-repeat!important;mix-blend-mode:screen;filter:none!important;-webkit-text-fill-color:initial}
.hero{padding:14px 10px 12px 16px;position:relative}
.hero::after{content:"";position:absolute;right:-30px;top:-30px;width:190px;height:190px;border-radius:50%;border:1px dashed rgba(123,92,255,.35);pointer-events:none}
.hero-title{background:var(--neon);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:19px}
.hero-sub{color:#b3a2d8}
.hero-mascot{width:124px!important;height:124px!important;margin:-8px -4px -8px 0;border-radius:50%;mix-blend-mode:screen;filter:drop-shadow(0 0 16px rgba(255,47,168,.35))!important;object-fit:cover;position:relative;z-index:1}
.hero-feats span{background:rgba(123,92,255,.12);border-color:rgba(123,92,255,.4);color:#e4dcff}
.hero-feats span:nth-child(odd) i{color:var(--cy)}.hero-feats span:nth-child(even) i{color:var(--vi2)}
.loc-title,.stat-label{color:#a894d6!important}
.loc-title::after{content:"";display:inline-block;width:26px;height:2px;margin-left:8px;vertical-align:middle;background:var(--neon);box-shadow:0 0 8px rgba(123,92,255,.8)}

/* иконки плиток и акценты */
.c-violet{background:linear-gradient(135deg,#7b5cff,#ff2fa8)}.c-cyan{background:linear-gradient(135deg,#22d3ff,#5b7bff)}
.c-mint{background:linear-gradient(135deg,#25e0ba,#22d3ff)}.c-amber{background:linear-gradient(135deg,#ff9f43,#ffd35a)}
.c-rose{background:linear-gradient(135deg,#ff2fa8,#ff7a9c)}.c-blue{background:linear-gradient(135deg,#5b4bff,#22d3ff)}
.tile-ico{box-shadow:0 0 14px rgba(123,92,255,.45)}
.tile-txt small{color:#a08fcc}
.menu-btn.btn-buy.tile{background:var(--neon) border-box!important;border:1px solid transparent!important;box-shadow:0 0 24px rgba(123,92,255,.55),0 0 30px rgba(255,47,168,.25)!important}
.btn-buy.tile .tile-ico{background:rgba(7,3,15,.35);box-shadow:none}
.srv-flag img{box-shadow:0 0 0 1px rgba(255,255,255,.3),0 0 8px rgba(34,211,255,.3)}
.srv-ping.good{color:#25e0ba!important}
.nova-wallet-value,.daily-price-total,#daily-days-val{text-shadow:0 0 14px rgba(34,211,255,.45)}
.nova-wallet-btn,.wallet-action-btn{background:rgba(123,92,255,.12)!important;border:1px solid rgba(123,92,255,.6)!important}
.nova-wallet-btn.primary,.wallet-action-btn.primary,.daily-buy-btn,.btn-connect-green{background:linear-gradient(120deg,#25e0ba,#22d3ff)!important;color:#04141a!important;border-color:transparent!important;box-shadow:0 0 16px rgba(34,211,255,.35)!important}
.bp-btn,.btn-purple,.bonus-btn,.floating-btn{background:var(--neon)!important;color:#fff!important;box-shadow:0 0 18px rgba(123,92,255,.5)!important}
.t-popular{background:var(--neon)!important}.t-badge{background:linear-gradient(120deg,#25e0ba,#22d3ff)!important}

/* окна, оплата, чат, админка */
.bottom-sheet,.bottom-pay-bar{background:linear-gradient(180deg,#140a30,#07030f) padding-box,var(--neon) border-box!important;border:1px solid transparent!important}
.bottom-pay-bar{border-radius:16px!important;box-shadow:0 10px 34px rgba(0,0,0,.6),0 0 22px rgba(123,92,255,.3)!important}
.modal-overlay,#custom-confirm,.modal{background:rgba(5,2,12,.86)!important}
.copy-box,.auth-input,.daily-price-row,.daily-balance-chip,.wallet-history-item,.main-content input,.main-content select,.main-content textarea{background:#080414!important;border-color:var(--ln)!important}
.auth-input:focus,.main-content input:focus,.main-content select:focus,.main-content textarea:focus{border-color:var(--cy)!important;box-shadow:0 0 0 3px rgba(34,211,255,.12)!important}
.toast{background:#120a2c!important;border:1px solid var(--ln2)!important;border-left:3px solid var(--vi2)!important}
.chat-user{background:linear-gradient(120deg,#7b5cff,#ff2fa8)!important}.chat-admin{background:#1c3d86!important}.chat-bot{background:#120a2c!important}
.slider-val-bubble{border-color:var(--cy)!important;background:rgba(34,211,255,.08)!important}
input[type=range]::-webkit-slider-thumb{background:var(--vi2)!important;border-color:#0e0622!important;box-shadow:0 0 10px rgba(255,47,168,.7)!important}
.switch input:checked + .switch-slider{background:var(--cy)!important}
.sidebar{background:#07030f!important;border-right:1px solid var(--ln)!important}
.nav-btn:hover{background:rgba(123,92,255,.10)!important}
.nav-btn.active{background:linear-gradient(90deg,rgba(34,211,255,.14),rgba(255,47,168,.08))!important;color:#fff!important;box-shadow:inset 2px 0 0 var(--cy)!important}
.nav-btn.active i{color:var(--cy)!important}
.main-content table thead tr{border-color:var(--ln)!important}.main-content table tbody tr:hover{background:rgba(123,92,255,.07)!important}
body.flex.items-center.justify-center.h-screen>div{background:#0d0720!important;border:1px solid var(--ln2)!important;border-radius:16px!important}
@media(max-width:480px){.hero-mascot{width:96px!important;height:96px!important}}

/* ===================== V4 · MOBILE FIX =====================
   Лёгкие эффекты для телефонов и защита от выхода контента за экран. */
*,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html,body{max-width:100%;overflow-x:hidden}
body{background-attachment:scroll!important}
body::before{box-shadow:none!important}
.hero::after{display:none}
.hero-mascot{mix-blend-mode:normal!important;filter:none!important;animation:none!important;-webkit-mask-image:radial-gradient(circle,#000 56%,transparent 71%);mask-image:radial-gradient(circle,#000 56%,transparent 71%)}
.vpn-logo{filter:none!important}
.vpn-logo::before{mix-blend-mode:normal!important}
.stat-card,.server-item,.menu-btn.tile,.t-card,.method-btn,.wallet-history-item{box-shadow:none!important}
.menu-btn.tile:hover,.server-item:hover{box-shadow:none!important}
.tile-ico{box-shadow:none!important}
.vpn-container{width:100%;max-width:640px;box-sizing:border-box;overflow-x:hidden}
.main-menu-grid,.stats-grid,.servers-list,.tariff-grid{max-width:100%}
.main-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.servers-list{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))!important}
.main-menu-grid>*,.stats-grid>*,.servers-list>*{min-width:0;max-width:100%;box-sizing:border-box}
.menu-btn.tile{overflow:hidden;width:100%}
.menu-btn.tile>div,.menu-btn.tile .flex{min-width:0}
.tile-txt b,.tile-txt small{max-width:100%}
.tile-txt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-btn .price-badge,.menu-btn .plat-badge{font-size:10px!important;padding:2px 6px!important;white-space:nowrap}
.stat-value{font-size:12.5px!important;overflow-wrap:anywhere;word-break:break-word}
.nova-main-wallet{flex-wrap:wrap}
.nova-main-wallet-left{min-width:0;flex:1 1 180px}
.nova-wallet-caption{overflow-wrap:anywhere}
.nova-main-wallet-actions{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.nova-wallet-btn{text-align:center;padding:9px 8px!important}
.hero-txt{min-width:0}.hero-title,.hero-sub{overflow-wrap:anywhere}
#referral-modal .copy-text{overflow-wrap:anywhere;word-break:break-all}
@media(max-width:480px){.hero-mascot{width:84px!important;height:84px!important}.vpn-container{padding:12px 10px 24px}}
