:root{
  --bg:#05050d;
  --bg2:#090a18;
  --card:rgba(20,22,42,.78);
  --card2:rgba(31,34,62,.78);
  --soft:rgba(255,255,255,.075);
  --text:#fbfbff;
  --muted:rgba(251,251,255,.68);
  --dim:rgba(251,251,255,.48);
  --line:rgba(255,255,255,.13);
  --accent:#9b5cff;
  --accent2:#2ee7ff;
  --accent3:#ff4fd8;
  --ok:#48f2a7;
  --bad:#ff6b8a;
  --warn:#ffd166;
  --r:26px;
  --r2:19px;
  --shadow:0 26px 90px rgba(0,0,0,.40);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{
  margin:0;min-height:100vh;color:var(--text);
  font:500 15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 18% -8%,rgba(155,92,255,.34),transparent 34%),
    radial-gradient(circle at 95% 12%,rgba(46,231,255,.18),transparent 28%),
    radial-gradient(circle at 50% 110%,rgba(255,79,216,.12),transparent 34%),
    linear-gradient(180deg,#070713 0%,#05050d 54%,#030309 100%);
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{border:0}
h1,h2,h3,p{margin-top:0}
h1{font-size:32px;line-height:1.02;letter-spacing:-.055em;margin-bottom:12px}
h2{font-size:24px;line-height:1.06;letter-spacing:-.045em;margin-bottom:9px}
p{color:var(--muted)}
.hidden{display:none!important}
.app-shell{width:min(100%,540px);margin:0 auto;min-height:100vh;padding:16px 12px calc(118px + env(safe-area-inset-bottom))}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.088),rgba(255,255,255,.045));
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);backdrop-filter:blur(18px);
}
.brand-wordmark{display:grid;gap:2px;min-width:0}
.brand-wordmark.center{text-align:center;justify-items:center}
.brand-wordmark b{display:block;font-size:18px;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-wordmark span{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.support-link{
  flex:0 0 auto;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.90);font-size:13px;font-weight:850;
}
.eyebrow{
  display:inline-flex;margin-bottom:10px;color:#dbcfff;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:950;
}
.hint{font-size:13px;color:var(--muted);margin:10px 0 0}
.boot-screen{position:relative;min-height:calc(100vh - 32px);display:grid;align-content:center;justify-items:center;text-align:center;padding:28px}
.boot-screen .brand-wordmark{position:absolute;top:28px;left:50%;transform:translateX(-50%)}
.loader{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.16);border-top-color:#fff;animation:spin .8s linear infinite;margin-bottom:18px}
@keyframes spin{to{transform:rotate(360deg)}}
.app-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:2px 2px 0}
.hero-auth,.simple-card,.status-card,.panel{padding:20px}
.auth-actions{display:grid;gap:12px;margin:12px 0}
.action-card{
  cursor:pointer;width:100%;text-align:left;color:#fff;border:1px solid var(--line);border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.082),rgba(255,255,255,.047));padding:18px;display:grid;gap:4px;
}
.action-card.primary,.btn.primary,.store-btn.primary{
  background:linear-gradient(135deg,rgba(155,92,255,.98),rgba(46,231,255,.68));
  border-color:rgba(255,255,255,.22);box-shadow:0 16px 44px rgba(155,92,255,.28), inset 0 1px 0 rgba(255,255,255,.20);
}
.action-icon{font-size:25px}.action-card small{color:var(--muted)}
.field{display:grid;gap:7px;margin-bottom:12px}
.field span{font-size:12px;color:var(--muted);font-weight:800}
input,textarea{
  width:100%;outline:0;color:#fff;background:rgba(0,0,0,.26);border:1px solid var(--line);border-radius:17px;padding:13px 14px;
}
input:focus,textarea:focus{border-color:rgba(155,92,255,.90);box-shadow:0 0 0 3px rgba(155,92,255,.13)}
.code-box{margin-top:12px}
.screen{display:none;animation:fadeIn .15s ease-out}
.screen.active{display:block}
@keyframes fadeIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.premium-card{position:relative;overflow:hidden;margin-bottom:12px}
.premium-card:before{
  content:"";position:absolute;inset:-90px -70px auto auto;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(46,231,255,.30),transparent 68%);pointer-events:none;
}
.premium-card:after{
  content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.44),transparent);
}
.status-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;position:relative}
.pill,.days{
  display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:999px;
  border:1px solid var(--line);background:rgba(255,255,255,.075);font-size:13px;font-weight:950;
}
.pill.ok{color:var(--ok);border-color:rgba(72,242,167,.30);background:rgba(72,242,167,.09)}
.pill.bad{color:var(--bad);border-color:rgba(255,107,138,.30);background:rgba(255,107,138,.09)}
.days{color:var(--muted)}
.status-lead{margin-bottom:0}
.status-meta{display:grid;gap:10px;margin:18px 0}
.status-meta.two{grid-template-columns:1fr 1fr}
.status-meta div,.mini-card,.metric-card{
  border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.062);padding:14px;
}
.status-meta b,.mini-card b,.metric-card b{display:block;font-size:19px;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-meta span,.mini-card span,.metric-card span{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.home-cta,.connect-main-actions{display:grid;gap:10px}
.btn{
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:18px;padding:13px 16px;
  color:#fff;font-weight:950;border:1px solid var(--line);background:rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);transition:transform .12s ease,filter .12s ease,background .12s ease;
}
.btn:active{transform:translateY(1px)}
.btn.secondary{background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.15)}
.btn.danger{background:rgba(255,107,138,.12);border-color:rgba(255,107,138,.30);color:#ffdce2;margin-top:12px}
.btn.full{width:100%}
.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.small-btn{
  cursor:pointer;min-height:38px;border-radius:14px;padding:8px 12px;color:#fff;font-weight:900;
  background:rgba(255,255,255,.08);border:1px solid var(--line);
}
.small-btn:disabled{opacity:.42}
.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.small-row{align-items:center;color:var(--muted);font-size:13px;font-weight:850}
.steps{list-style:none;display:grid;gap:10px;padding:0;margin:4px 0 0}
.steps li{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.052)}
.steps span{color:var(--muted);font-size:13px}.start-card{margin-top:12px}
.step-card{margin-bottom:12px}.step-primary{border-color:rgba(155,92,255,.28);background:linear-gradient(180deg,rgba(155,92,255,.16),rgba(255,255,255,.045))}
.step-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;margin-bottom:14px}.compact-head h1{font-size:28px}
.step-badge{
  display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 10px;border-radius:13px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:11px;font-weight:1000;letter-spacing:.08em;box-shadow:0 12px 34px rgba(155,92,255,.26)
}
.step-badge.muted{background:rgba(255,255,255,.10);box-shadow:none;color:#e9e5ff;border:1px solid rgba(255,255,255,.14)}
.platform-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:rgba(0,0,0,.22);padding:5px;border-radius:19px;margin:10px 0 14px;border:1px solid rgba(255,255,255,.07)}
.platform-tab{cursor:pointer;min-height:42px;border-radius:15px;color:var(--muted);background:transparent;font-weight:950}
.platform-tab.active{background:linear-gradient(135deg,rgba(155,92,255,.55),rgba(46,231,255,.28));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.platform-panel{display:none;gap:10px}.platform-panel.active{display:grid}
.store-btn{display:grid;gap:3px;border:1px solid var(--line);background:rgba(255,255,255,.065);border-radius:19px;padding:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.store-btn span{color:var(--muted);font-size:13px}.manual-box{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.10)}
.manual-link{min-height:74px;resize:vertical;font-size:12px;word-break:break-all}.ref-input{font-size:12px;text-overflow:ellipsis}.compact-field{margin-bottom:10px}
.account-info-list{display:grid;gap:10px;margin-top:10px}
.account-info-list div{display:grid;gap:4px;padding:13px 14px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.055)}
.account-info-list span{color:var(--muted);font-size:12px;font-weight:850}.account-info-list b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}.compact-grid{margin-bottom:10px}.metric-card{box-shadow:none}
.pay-card{position:relative;overflow:hidden;border-color:rgba(46,231,255,.24);background:linear-gradient(180deg,rgba(46,231,255,.105),rgba(255,255,255,.045));margin-bottom:12px}
.pay-card:before{content:"";position:absolute;right:-50px;top:-70px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(46,231,255,.26),transparent 70%)}
.details-card{margin:0 0 12px;overflow:hidden}.details-card summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;font-weight:950}
.details-card summary::-webkit-details-marker{display:none}.details-card summary b{font-size:24px;color:var(--muted);transition:.16s}.details-card[open] summary b{transform:rotate(90deg)}
.details-body{padding:0 20px 20px}
.bottom-nav{
  position:fixed;z-index:30;left:50%;bottom:12px;transform:translateX(-50%);width:min(100% - 18px,516px);
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:8px;border:1px solid rgba(255,255,255,.18);border-radius:26px;
  background:linear-gradient(180deg,rgba(24,26,48,.94),rgba(10,11,24,.92));box-shadow:0 22px 80px rgba(0,0,0,.62),0 0 0 1px rgba(155,92,255,.14);backdrop-filter:blur(22px);
}
.nav-btn{cursor:pointer;min-height:60px;border-radius:19px;background:transparent;color:var(--muted);display:grid;place-items:center;gap:2px;font-size:12px;font-weight:950}
.nav-btn span{font-size:20px;line-height:1}.nav-btn.active{background:linear-gradient(135deg,rgba(155,92,255,.64),rgba(46,231,255,.26));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.17)}
.app-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 16px;margin:20px 0 4px;padding-bottom:14px;color:var(--muted);font-size:12px}.app-footer a{text-decoration:underline;text-underline-offset:4px}
.toast{position:fixed;z-index:60;left:50%;bottom:96px;transform:translateX(-50%) translateY(130px);width:min(100% - 24px,500px);padding:13px 15px;border-radius:18px;background:rgba(9,10,23,.96);border:1px solid var(--line);box-shadow:var(--shadow);transition:.22s}.toast.show{transform:translateX(-50%) translateY(0)}
.pay-dialog{border:0;padding:0;background:transparent;color:#fff;width:min(100% - 20px,500px)}.pay-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}
.dialog-card{position:relative;margin:0;padding:22px;border-radius:26px;border:1px solid var(--line);background:#0c0e20;box-shadow:var(--shadow)}.dialog-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:22px}.pay-options{display:grid;gap:10px;margin-top:14px}.pay-option{width:100%;text-align:left;display:grid;gap:4px}.pay-option small{color:rgba(255,255,255,.7)}
@media(min-width:760px){.app-shell{padding-top:24px}.auth-actions{grid-template-columns:1fr 1fr}.bottom-nav{bottom:18px}.toast{bottom:108px}}
@media(max-width:380px){.app-shell{padding-left:9px;padding-right:9px}.status-meta.two,.account-grid{grid-template-columns:1fr}h1{font-size:30px}.platform-tabs{grid-template-columns:1fr}.step-head{grid-template-columns:1fr}.nav-btn{font-size:11px}.brand-wordmark b{font-size:16px}}


/* NEROLINK_MINIAPP_V4_POLISH_CSS_START */

/* Overall scale: calmer, less inflated */
:root{
  --btn-bg:linear-gradient(180deg,rgba(42,45,78,.92),rgba(24,26,50,.96));
  --btn-border:rgba(139,160,255,.34);
  --btn-glow:0 10px 28px rgba(33,42,92,.30), inset 0 1px 0 rgba(255,255,255,.13);
  --btn-primary:linear-gradient(135deg,#8d5cff 0%,#6678ff 48%,#28c7e8 100%);
  --btn-primary-shadow:0 14px 42px rgba(126,91,255,.32), inset 0 1px 0 rgba(255,255,255,.24);
}

.app-shell{
  width:min(100%,520px);
  padding:14px 12px calc(164px + env(safe-area-inset-bottom));
}

h1{
  font-size:clamp(26px,5.7vw,30px);
  line-height:1.04;
  letter-spacing:-.045em;
}
h2{
  font-size:clamp(21px,4.7vw,24px);
  line-height:1.08;
}
p{line-height:1.45}

/* Header: lighter, not a giant button row */
.app-top{
  margin-bottom:12px;
  padding:2px 2px 0;
}
.brand-wordmark b{
  font-size:17px;
  letter-spacing:-.02em;
}
.brand-wordmark span{
  font-size:12px;
  color:rgba(251,251,255,.62);
}
.support-link{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:999px;
  background:var(--btn-bg);
  border:1px solid var(--btn-border);
  box-shadow:var(--btn-glow);
  font-size:13px;
  font-weight:850;
}

/* Unified clickable language */
.btn,
.store-btn,
.action-card,
.small-btn,
.pay-option{
  position:relative;
  overflow:hidden;
  border-radius:17px;
  border:1px solid var(--btn-border);
  background:var(--btn-bg);
  box-shadow:var(--btn-glow);
  color:#fff;
  font-weight:900;
  text-align:center;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease, filter .12s ease, border-color .12s ease, background .12s ease;
}

.btn:hover,
.store-btn:hover,
.action-card:hover,
.small-btn:hover,
.pay-option:hover{
  filter:brightness(1.06);
  border-color:rgba(180,195,255,.52);
}

.btn:active,
.store-btn:active,
.action-card:active,
.small-btn:active,
.pay-option:active{
  transform:translateY(1px) scale(.995);
}

/* Primary buttons */
.btn.primary,
.store-btn.primary,
.action-card.primary{
  background:var(--btn-primary);
  border-color:rgba(255,255,255,.25);
  box-shadow:var(--btn-primary-shadow);
}

/* Secondary buttons: still clearly buttons, not gray cards */
.btn.secondary,
.store-btn:not(.primary),
.action-card:not(.primary),
.small-btn,
.pay-option{
  background:
    linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.052)),
    linear-gradient(135deg,rgba(123,92,255,.22),rgba(46,199,232,.11));
  border-color:rgba(139,160,255,.38);
  box-shadow:0 12px 32px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.12);
}

.btn{
  min-height:48px;
  padding:12px 16px;
  border-radius:17px;
  font-size:15px;
  letter-spacing:-.01em;
}
.home-cta,
.connect-main-actions{
  gap:9px;
}
.btn.full{width:100%}

.btn.secondary::after,
.store-btn:not(.primary)::after,
.pay-option::after{
  content:"›";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.55);
  font-size:22px;
  line-height:1;
}

/* Store buttons are buttons, not huge cards */
.store-btn{
  min-height:58px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:13px 42px 13px 15px;
  text-align:left;
}
.store-btn b{font-size:16px}
.store-btn span{font-size:12.5px}

/* Main hero: remove duplicated status blocks */
.status-card{
  padding:20px;
}
.premium-card{
  background:
    radial-gradient(circle at 100% 0%,rgba(46,199,232,.20),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.082),rgba(255,255,255,.042));
}
.status-top,
.status-meta{
  display:none!important;
}
.status-card h1{
  margin-bottom:8px;
}
.status-lead{
  display:block;
  margin:0 0 16px;
  color:rgba(251,251,255,.70);
  font-size:14px;
}
.start-card{
  margin-top:12px;
}
.steps{
  gap:8px;
}
.steps li{
  padding:12px 13px;
  border-radius:16px;
}
.steps li b{
  font-size:15px;
}
.steps span{
  font-size:12.5px;
}

/* Step screens: clearer but less gaming-heavy */
.simple-card,
.panel{
  padding:18px;
}
.step-card{
  margin-bottom:12px;
}
.step-primary{
  background:
    radial-gradient(circle at 100% 0%,rgba(155,92,255,.20),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.080),rgba(255,255,255,.042));
  border-color:rgba(155,92,255,.24);
}
.step-head{
  gap:11px;
  margin-bottom:13px;
}
.step-head h1,
.compact-head h1{
  font-size:clamp(25px,5.4vw,29px);
}
.step-head p{
  margin-bottom:0;
  font-size:14px;
}
.step-badge{
  min-height:31px;
  padding:7px 10px;
  border-radius:12px;
  font-size:10.5px;
}
.platform-tabs{
  padding:5px;
  gap:6px;
  border-radius:17px;
  margin:11px 0 13px;
}
.platform-tab{
  min-height:40px;
  border-radius:14px;
  font-size:14px;
}
.platform-tab.active{
  background:var(--btn-primary);
  box-shadow:0 10px 28px rgba(126,91,255,.22), inset 0 1px 0 rgba(255,255,255,.18);
}

/* Manual link: hidden by default, no ugly technical textarea on screen */
.manual-box{
  margin-top:13px;
  padding-top:13px;
}
.manual-box:not(.open) .manual-link{
  display:none;
}
.manual-box.open .manual-link{
  display:block;
}
.manual-link{
  min-height:92px;
  max-height:150px;
  resize:vertical;
  font-size:12px;
  line-height:1.35;
  border-radius:15px;
}
.small-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.small-row > span{
  margin-right:auto;
}
.manual-toggle,
.sync-text-btn{
  min-height:36px;
  padding:8px 11px;
  border-radius:13px;
  font-size:12px;
}
.sync-text-btn{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.14);
  box-shadow:none;
  color:rgba(251,251,255,.74);
}

/* Account: compact accordions, not giant pseudo-buttons */
.account-card h1{
  font-size:clamp(25px,5.6vw,30px);
}
.account-info-list{
  gap:8px;
}
.account-info-list div{
  padding:12px 13px;
  border-radius:16px;
}
.account-grid{
  gap:9px;
}
.metric-card{
  padding:13px;
  border-radius:18px;
}
.metric-card b{
  font-size:20px;
}
.pay-card{
  margin-bottom:10px;
}
.pay-card h2{
  margin-bottom:8px;
}
.pay-card p{
  margin-bottom:14px;
}

.details-card{
  margin-bottom:10px;
  box-shadow:none;
}
.details-card summary{
  min-height:58px;
  padding:14px 16px;
  font-size:16px;
  border-radius:inherit;
}
.details-card summary span{
  font-weight:900;
}
.details-card summary b{
  font-size:22px;
  color:rgba(255,255,255,.56);
}
.details-body{
  padding:0 16px 16px;
}
.ref-input{
  height:44px;
  font-size:12px;
}

/* Danger button remains button-like */
.btn.danger{
  margin-top:10px;
  background:
    linear-gradient(180deg,rgba(255,107,138,.18),rgba(255,107,138,.08)),
    linear-gradient(135deg,rgba(255,79,216,.10),rgba(255,107,138,.08));
  border-color:rgba(255,107,138,.42);
  color:#ffe5eb;
}

/* Bottom nav: visible, but not massive */
.bottom-nav{
  width:min(100% - 20px,500px);
  bottom:10px;
  gap:6px;
  padding:6px;
  border-radius:22px;
  background:
    linear-gradient(180deg,rgba(22,24,46,.96),rgba(8,9,22,.95));
  border-color:rgba(146,129,255,.26);
  box-shadow:0 18px 64px rgba(0,0,0,.60),0 0 0 1px rgba(46,199,232,.08);
}
.nav-btn{
  min-height:50px;
  border-radius:16px;
  gap:1px;
  font-size:11.5px;
}
.nav-btn span{
  font-size:17px;
}
.nav-btn.active{
  background:var(--btn-primary);
  box-shadow:0 10px 30px rgba(126,91,255,.28), inset 0 1px 0 rgba(255,255,255,.22);
}

/* Footer no overlap with fixed nav */
.app-footer{
  margin-top:22px;
  padding-bottom:90px;
  font-size:12px;
  opacity:.82;
}

/* Dialog buttons follow same system */
.dialog-close{
  background:var(--btn-bg);
  border:1px solid var(--btn-border);
  box-shadow:var(--btn-glow);
}
.pay-option{
  min-height:58px;
  padding:13px 42px 13px 15px;
}

/* Small screens */
@media(max-width:380px){
  .app-shell{
    padding-left:10px;
    padding-right:10px;
    padding-bottom:calc(156px + env(safe-area-inset-bottom));
  }
  .status-card,
  .simple-card,
  .panel{
    padding:16px;
  }
  .step-head{
    grid-template-columns:1fr;
  }
  .platform-tabs{
    grid-template-columns:1fr;
  }
  .account-grid{
    grid-template-columns:1fr;
  }
}

/* NEROLINK_MINIAPP_V4_POLISH_CSS_END */


/* NEROLINK_V4B_REQUESTED_TWEAKS_CSS_START */

/* 1) Все кнопки в едином стиле как "Перейти к оплате" */
.nl-v4b-all-buttons-unified .btn,
.nl-v4b-all-buttons-unified .store-btn,
.nl-v4b-all-buttons-unified .action-card,
.nl-v4b-all-buttons-unified .small-btn,
.nl-v4b-all-buttons-unified .pay-option{
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(123,92,255,.18), rgba(46,199,232,.10)) !important;
  border:1px solid rgba(139,160,255,.36) !important;
  box-shadow:
    0 12px 32px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
  color:#fff !important;
  min-height:56px;
  border-radius:18px !important;
  font-weight:900 !important;
}

.nl-v4b-all-buttons-unified .btn.primary,
.nl-v4b-all-buttons-unified .btn.secondary,
.nl-v4b-all-buttons-unified .store-btn.primary,
.nl-v4b-all-buttons-unified .store-btn.secondary,
.nl-v4b-all-buttons-unified .action-card.primary,
.nl-v4b-all-buttons-unified .action-card.secondary{
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(123,92,255,.18), rgba(46,199,232,.10)) !important;
  border:1px solid rgba(139,160,255,.36) !important;
  box-shadow:
    0 12px 32px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.nl-v4b-all-buttons-unified .btn::after,
.nl-v4b-all-buttons-unified .store-btn::after,
.nl-v4b-all-buttons-unified .pay-option::after{
  content:"›";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.55);
  font-size:22px;
  line-height:1;
  pointer-events:none;
}

.nl-v4b-all-buttons-unified .btn.full{
  width:100%;
}

/* чтобы мелкие кнопки не выглядели криво */
.nl-v4b-all-buttons-unified .small-btn{
  min-height:42px;
  border-radius:14px !important;
  padding:10px 12px !important;
  font-size:13px !important;
}

/* 2) Вместо строки — карточки статуса */
.status-mini-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}

.status-mini-card{
  position:relative;
  overflow:hidden;
  padding:14px 14px 13px;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 10px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.status-mini-label{
  display:block;
  font-size:12px;
  line-height:1.2;
  color:rgba(251,251,255,.66);
  margin-bottom:6px;
}

.status-mini-value{
  display:block;
  font-size:20px;
  line-height:1.1;
  font-weight:900;
  color:#fff;
  margin-bottom:6px;
}

.status-mini-sub{
  display:block;
  font-size:12px;
  line-height:1.3;
  color:rgba(251,251,255,.72);
}

.status-active-card{
  border-color:rgba(54,220,145,.26);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(54,220,145,.18), rgba(54,220,145,.07));
}

.status-days-card.days-ok{
  border-color:rgba(54,220,145,.32);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(54,220,145,.20), rgba(25,145,97,.08));
}

.status-days-card.days-warn{
  border-color:rgba(255,203,74,.34);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(255,203,74,.22), rgba(201,139,14,.08));
}

.status-days-card.days-danger{
  border-color:rgba(255,98,98,.34);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(255,98,98,.22), rgba(173,38,38,.08));
}

/* 3) ШАГ 1 градиент, ШАГ 2 серый */
.step-card .step-badge{
  border-radius:12px;
  min-height:30px;
  padding:7px 10px;
  font-weight:900;
  letter-spacing:.06em;
}

.step-card .step-badge-gradient{
  color:#fff !important;
  background:linear-gradient(135deg,#8d5cff 0%,#6678ff 50%,#28c7e8 100%) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 24px rgba(126,91,255,.28), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.step-card .step-badge-muted{
  color:rgba(255,255,255,.86) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:
    0 8px 22px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* на мобильном карточки статуса остаются аккуратными */
@media (max-width: 460px){
  .status-mini-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .status-mini-card{
    padding:12px;
    border-radius:16px;
  }
  .status-mini-value{
    font-size:18px;
  }
  .status-mini-sub{
    font-size:11.5px;
  }
}

/* NEROLINK_V4B_REQUESTED_TWEAKS_CSS_END */


/* NEROLINK_V4C_LAYOUTFIX_CSS_START */

:root{
  --nl-bottom-nav-h: 96px;
}

/* Global spacing stability */
.nl-v4c-layoutfix .app-shell{
  width:min(100%,520px);
  padding:14px 12px calc(var(--nl-bottom-nav-h) + 86px + env(safe-area-inset-bottom));
  box-sizing:border-box;
}

.nl-v4c-layoutfix *{
  box-sizing:border-box;
}

.nl-v4c-layoutfix .screen{
  display:block;
}

.nl-v4c-layoutfix .screen > *{
  margin-bottom:14px;
}

.nl-v4c-layoutfix .screen > *:last-child{
  margin-bottom:0;
}

/* Cards: no overlap, consistent vertical rhythm */
.nl-v4c-layoutfix .simple-card,
.nl-v4c-layoutfix .panel,
.nl-v4c-layoutfix .premium-card,
.nl-v4c-layoutfix .status-card,
.nl-v4c-layoutfix .step-card,
.nl-v4c-layoutfix .account-card,
.nl-v4c-layoutfix .pay-card,
.nl-v4c-layoutfix .details-card{
  position:relative;
  overflow:hidden;
  margin:0 0 14px 0 !important;
  clear:both;
}

.nl-v4c-layoutfix .simple-card:last-child,
.nl-v4c-layoutfix .panel:last-child,
.nl-v4c-layoutfix .premium-card:last-child,
.nl-v4c-layoutfix .status-card:last-child,
.nl-v4c-layoutfix .step-card:last-child,
.nl-v4c-layoutfix .account-card:last-child,
.nl-v4c-layoutfix .pay-card:last-child,
.nl-v4c-layoutfix .details-card:last-child{
  margin-bottom:0 !important;
}

/* Buttons: consistent spacing, no stacking glitches */
.nl-v4c-layoutfix .btn,
.nl-v4c-layoutfix .store-btn,
.nl-v4c-layoutfix .small-btn,
.nl-v4c-layoutfix .pay-option,
.nl-v4c-layoutfix .action-card{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:58px;
  margin:0;
  position:relative;
  z-index:1;
}

.nl-v4c-layoutfix .home-cta,
.nl-v4c-layoutfix .connect-main-actions,
.nl-v4c-layoutfix .pay-actions,
.nl-v4c-layoutfix .action-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:12px !important;
  margin-top:12px;
}

.nl-v4c-layoutfix .store-list,
.nl-v4c-layoutfix .store-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:12px !important;
}

.nl-v4c-layoutfix .manual-box{
  margin-top:14px;
  padding-top:14px;
}

.nl-v4c-layoutfix .manual-box .small-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.nl-v4c-layoutfix .manual-box .small-row > span{
  margin-right:auto;
}

/* Status mini cards spacing */
.nl-v4c-layoutfix .status-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}

.nl-v4c-layoutfix .status-mini-card{
  min-height:96px;
}

/* Metric cards stable layout */
.nl-v4c-layoutfix .account-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px !important;
  margin:0 0 14px;
}

.nl-v4c-layoutfix .metric-card{
  min-width:0;
  min-height:122px;
}

/* Details cards / accordions */
.nl-v4c-layoutfix .details-card-safe{
  margin-bottom:14px !important;
}

.nl-v4c-layoutfix .details-card summary{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.nl-v4c-layoutfix .details-card[open] .details-body{
  padding-top:10px;
}

.nl-v4c-layoutfix .details-body > *{
  margin-bottom:12px;
}

.nl-v4c-layoutfix .details-body > *:last-child{
  margin-bottom:0;
}

.nl-v4c-layoutfix .details-body .btn,
.nl-v4c-layoutfix .details-body .small-btn{
  margin-top:0;
}

.nl-v4c-layoutfix input,
.nl-v4c-layoutfix textarea,
.nl-v4c-layoutfix .ref-input{
  width:100%;
  min-width:0;
}

/* Footer and bottom nav separation */
.nl-v4c-layoutfix .app-footer{
  margin-top:18px;
  padding-top:8px;
  padding-bottom:calc(var(--nl-bottom-nav-h) + 42px + env(safe-area-inset-bottom)) !important;
  text-align:center;
}

.nl-v4c-layoutfix .app-footer a,
.nl-v4c-layoutfix .footer-links a{
  display:inline-block;
  margin:4px 10px;
}

/* Bottom nav: fixed but not covering content */
.nl-v4c-layoutfix .bottom-nav{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:10px;
  width:min(calc(100% - 16px),520px);
  z-index:50;
}

.nl-v4c-layoutfix .nav-btn{
  min-height:54px;
}

/* Step badges: STEP 1 and STEP 2 same style */
.nl-v4c-layoutfix .step-card .step-badge,
.nl-v4c-layoutfix .step-card .step-badge-gradient,
.nl-v4c-layoutfix .step-card .step-badge-muted{
  color:#fff !important;
  background:linear-gradient(135deg,#8d5cff 0%,#6678ff 50%,#28c7e8 100%) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:
    0 10px 24px rgba(126,91,255,.28),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* prevent header/button clipping */
.nl-v4c-layoutfix .app-top{
  margin-bottom:14px;
}

.nl-v4c-layoutfix .support-link{
  flex-shrink:0;
}

/* mobile */
@media (max-width: 460px){
  .nl-v4c-layoutfix .app-shell{
    padding-left:10px;
    padding-right:10px;
    padding-bottom:calc(var(--nl-bottom-nav-h) + 96px + env(safe-area-inset-bottom));
  }

  .nl-v4c-layoutfix .status-mini-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .nl-v4c-layoutfix .account-grid{
    grid-template-columns:1fr 1fr;
    gap:10px !important;
  }

  .nl-v4c-layoutfix .step-head{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .nl-v4c-layoutfix .step-head h1{
    margin:0;
    line-height:1.05;
  }

  .nl-v4c-layoutfix .platform-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .nl-v4c-layoutfix .platform-tab{
    min-width:0;
  }
}

@media (max-width: 360px){
  .nl-v4c-layoutfix .status-mini-grid,
  .nl-v4c-layoutfix .account-grid{
    grid-template-columns:1fr;
  }
}

/* NEROLINK_V4C_LAYOUTFIX_CSS_END */


/* NEROLINK_V4D_TABFIX_CSS_START */

/* Fix broken v4c rule: all screens must NOT be visible together */
.nl-v4d-tabfix .screen{
  display:none !important;
}

.nl-v4d-tabfix .screen.active{
  display:block !important;
}

.nl-v4d-tabfix .screen.hidden{
  display:none !important;
}

/* Keep vertical spacing only inside active screen */
.nl-v4d-tabfix .screen:not(.active) > *{
  display:none !important;
}

.nl-v4d-tabfix .screen.active > *{
  display:block;
}

/* NEROLINK_V4D_TABFIX_CSS_END */


/* NEROLINK_V4E_HOMECARDS_CSS_START */

/* Download buttons: back to vertical stacked layout */
.nl-v4e-homecards .store-list,
.nl-v4e-homecards .store-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}

.nl-v4e-homecards .store-btn{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-content:center !important;
  justify-items:start !important;
  text-align:left !important;
  gap:4px !important;
  padding:16px 46px 16px 18px !important;
  min-height:84px !important;
  line-height:1.2 !important;
}

.nl-v4e-homecards .store-btn b,
.nl-v4e-homecards .store-btn span{
  display:block !important;
  width:100%;
  white-space:normal !important;
}

.nl-v4e-homecards .store-btn b{
  font-size:16px !important;
  line-height:1.2 !important;
}

.nl-v4e-homecards .store-btn span{
  margin-top:2px;
  font-size:12.5px !important;
  line-height:1.25 !important;
  color:rgba(251,251,255,.78) !important;
}

/* STEP 1 / STEP 2 full width - keep this */
.nl-v4e-homecards .step-head{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}

.nl-v4e-homecards .step-badge-fullwidth,
.nl-v4e-homecards .step-card .step-badge-fullwidth{
  display:flex !important;
  width:100% !important;
  min-height:54px !important;
  padding:0 18px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:18px !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  color:#fff !important;
  background:linear-gradient(135deg,#8d5cff 0%,#6678ff 50%,#6fd8ff 100%) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:
    0 10px 24px rgba(126,91,255,.28),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* Home: 4 одинаковых карточки */
.nl-v4e-homecards .status-mini-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 0 14px !important;
}

.nl-v4e-homecards .status-mini-card,
.nl-v4e-homecards .home-info-card{
  min-height:96px;
}

.nl-v4e-homecards .home-info-card{
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:
    0 10px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* hide duplicated metrics in Account */
.nl-v4e-homecards .account-grid.metrics-moved-hidden{
  display:none !important;
}

/* mobile fine tune */
@media (max-width: 460px){
  .nl-v4e-homecards .status-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .nl-v4e-homecards .store-btn{
    min-height:80px !important;
    padding:14px 42px 14px 16px !important;
  }

  .nl-v4e-homecards .step-badge-fullwidth{
    min-height:52px !important;
    border-radius:16px !important;
  }
}

@media (max-width: 360px){
  .nl-v4e-homecards .status-mini-grid{
    grid-template-columns:1fr !important;
  }
}

/* NEROLINK_V4E_HOMECARDS_CSS_END */


/* NEROLINK_V4F_PRICE_ACCENT_CSS_START */

.nl-v4f-priceaccent .price-accent{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  margin:14px 0 12px;
  padding:16px 18px;
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(46,199,232,.28), transparent 42%),
    linear-gradient(135deg, rgba(141,92,255,.30), rgba(46,199,232,.16)),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.045));
  border:1px solid rgba(126,218,255,.34);
  box-shadow:
    0 16px 42px rgba(46,199,232,.13),
    0 10px 32px rgba(126,91,255,.16),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.nl-v4f-priceaccent .price-term{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.2;
  font-weight:850;
}

.nl-v4f-priceaccent .price-value{
  display:block;
  color:#fff;
  font-size:28px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
  white-space:nowrap;
  text-shadow:0 8px 24px rgba(0,0,0,.34);
}

.nl-v4f-priceaccent .price-note{
  margin:0 0 14px !important;
  color:rgba(251,251,255,.68) !important;
  font-size:14px !important;
  line-height:1.42 !important;
}

@media (max-width:460px){
  .nl-v4f-priceaccent .price-accent{
    padding:14px 15px;
    border-radius:18px;
  }

  .nl-v4f-priceaccent .price-term{
    font-size:13px;
  }

  .nl-v4f-priceaccent .price-value{
    font-size:26px;
  }
}

/* NEROLINK_V4F_PRICE_ACCENT_CSS_END */


/* NEROLINK_V4H_PREMIUM_AUTH_BG_START */

/*
  Exact-style background from active NeroLink premium auth landing:
  nl-bg + nl-stars + nl-orb-a/b + nl-horizon adapted for cabinet.
*/

html{
  min-height:100%;
  background:#050712 !important;
}

body{
  min-height:100vh !important;
  background:#050712 !important;
  overflow-x:hidden;
  isolation:isolate;
}

/* Full premium landing background layer */
.cabinet-premium-auth-bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 16%, rgba(82,91,255,.18), transparent 28%),
    radial-gradient(circle at 5% 56%, rgba(36,172,255,.18), transparent 24%),
    radial-gradient(circle at 92% 38%, rgba(142,76,255,.28), transparent 30%),
    linear-gradient(180deg,#060916 0%,#050713 52%,#03040a 100%);
}

.cabinet-bg-stars{
  position:absolute;
  inset:0;
  opacity:.26;
  background-image:
    radial-gradient(circle at 10% 15%,#fff 0 1px,transparent 1.6px),
    radial-gradient(circle at 23% 36%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 44% 18%,#fff 0 1px,transparent 1.6px),
    radial-gradient(circle at 69% 26%,#fff 0 1px,transparent 1.6px),
    radial-gradient(circle at 82% 61%,#fff 0 1px,transparent 1.6px),
    radial-gradient(circle at 37% 72%,#fff 0 1px,transparent 1.6px);
}

.cabinet-bg-orb{
  position:absolute;
  width:80vmax;
  height:80vmax;
  border-radius:50%;
  filter:blur(34px);
  opacity:.44;
  pointer-events:none;
}

.cabinet-bg-orb-a{
  left:-42vmax;
  top:30%;
  background:
    radial-gradient(circle at 65% 50%, rgba(46,169,255,.55), transparent 20%),
    radial-gradient(circle at 70% 42%, rgba(141,76,255,.35), transparent 29%),
    transparent;
}

.cabinet-bg-orb-b{
  right:-45vmax;
  top:3%;
  background:
    radial-gradient(circle at 36% 40%, rgba(139,91,255,.62), transparent 18%),
    radial-gradient(circle at 30% 48%, rgba(78,116,255,.35), transparent 30%),
    transparent;
}

.cabinet-bg-horizon{
  position:absolute;
  left:50%;
  bottom:-58vmin;
  width:155vmin;
  height:82vmin;
  transform:translateX(-50%);
  border-radius:50%;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(96,129,255,.30), transparent 48%),
    radial-gradient(ellipse at 50% 0%, rgba(72,168,255,.17), transparent 58%);
  box-shadow:
    0 -1px 28px rgba(86,112,255,.46),
    0 -18px 110px rgba(89,72,255,.20);
}

.cabinet-bg-horizon::before{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  top:8%;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(66,169,255,.62),rgba(152,95,255,.58),transparent);
  filter:blur(.2px);
}

/* Put cabinet above background */
.app-shell,
.bottom-nav,
.dialog,
.modal,
.toast{
  position:relative;
  z-index:1;
}

.bottom-nav{
  z-index:50 !important;
}

/* Disable older pseudo-background layers from previous attempts */
body::before,
body::after{
  content:none !important;
  display:none !important;
}

.app-shell::before,
.app-shell::after{
  content:none !important;
  display:none !important;
}

/* Mobile tune */
@media(max-width:460px){
  .cabinet-bg-orb{
    filter:blur(30px);
    opacity:.40;
  }

  .cabinet-bg-stars{
    opacity:.22;
  }

  .cabinet-bg-horizon{
    bottom:-62vmin;
  }
}

/* NEROLINK_V4H_PREMIUM_AUTH_BG_END */


/* NEROLINK_V4I_LOGOUT_DANGER_CSS_START */

.nl-v4i-logout-danger .logout-danger-btn,
.nl-v4i-logout-danger .btn.logout-danger-btn,
.nl-v4i-logout-danger button.logout-danger-btn,
.nl-v4i-logout-danger a.logout-danger-btn{
  background:
    radial-gradient(circle at 100% 0%, rgba(255,112,112,.24), transparent 38%),
    linear-gradient(180deg, rgba(255,118,135,.18), rgba(130,34,52,.18)),
    linear-gradient(135deg, rgba(255,76,114,.28), rgba(120,28,54,.22)) !important;
  border:1px solid rgba(255,115,135,.42) !important;
  color:#ffe8ec !important;
  box-shadow:
    0 14px 36px rgba(255,64,104,.14),
    0 12px 32px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.nl-v4i-logout-danger .logout-danger-btn::after{
  color:rgba(255,230,235,.62) !important;
}

.nl-v4i-logout-danger .logout-danger-btn:hover{
  filter:brightness(1.08) saturate(1.08) !important;
  border-color:rgba(255,145,160,.62) !important;
}

.nl-v4i-logout-danger .logout-danger-btn:active{
  transform:translateY(1px) scale(.995);
}

/* NEROLINK_V4I_LOGOUT_DANGER_CSS_END */


/* NEROLINK_V4J_HIDE_LABELS_CSS_START */

.nl-v4j-hide-labels .nl-hidden-label{
  display:none !important;
  visibility:hidden !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
  min-height:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
}

/* чуть убираем лишний верхний воздух после скрытия заголовков */
.nl-v4j-hide-labels .nl-hidden-label + *{
  margin-top:0 !important;
}

/* NEROLINK_V4J_HIDE_LABELS_CSS_END */


/* NEROLINK_V4K_FORCE_HIDE_LABELS_CSS_START */

.nl-v4k-force-hide-labels .nl-force-hidden-label{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  line-height:0 !important;
}

/* Do not affect bottom navigation labels */
.nl-v4k-force-hide-labels .bottom-nav .nl-force-hidden-label,
.nl-v4k-force-hide-labels .nav-btn .nl-force-hidden-label{
  display:initial !important;
  visibility:visible !important;
  opacity:1 !important;
  width:auto !important;
  height:auto !important;
  line-height:normal !important;
}

/* NEROLINK_V4K_FORCE_HIDE_LABELS_CSS_END */


/* NEROLINK_V4L_TRIAL_BUTTON_CSS_START */

.nl-v4l-trial-button .trial-card-v4l{
  display:grid;
  gap:12px;
  margin:0 0 14px;
  padding:16px;
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(54,220,145,.18), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)),
    linear-gradient(135deg, rgba(54,220,145,.15), rgba(46,199,232,.08));
  border:1px solid rgba(54,220,145,.28);
  box-shadow:
    0 14px 38px rgba(54,220,145,.09),
    0 12px 34px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.nl-v4l-trial-button .trial-card-v4l-text span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  margin-bottom:10px;
  border-radius:999px;
  background:rgba(54,220,145,.13);
  border:1px solid rgba(54,220,145,.25);
  color:#9fffd0;
  font-size:12px;
  font-weight:900;
}

.nl-v4l-trial-button .trial-card-v4l-text b{
  display:block;
  color:#fff;
  font-size:20px;
  line-height:1.12;
  font-weight:950;
  letter-spacing:-.03em;
  margin-bottom:6px;
}

.nl-v4l-trial-button .trial-card-v4l-text small{
  display:block;
  color:rgba(251,251,255,.70);
  font-size:13.5px;
  line-height:1.38;
}

.nl-v4l-trial-button .trial-activate-btn-v4l{
  width:100%;
  min-height:56px;
}

.nl-v4l-trial-button .trial-activate-btn-v4l[disabled]{
  opacity:.72;
  cursor:wait;
}

.nl-v4l-toast{
  position:fixed;
  left:50%;
  bottom:calc(92px + env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(18px);
  z-index:9999;
  width:min(calc(100% - 24px),440px);
  padding:13px 15px;
  border-radius:16px;
  background:rgba(18,20,39,.96);
  border:1px solid rgba(139,160,255,.28);
  box-shadow:0 18px 60px rgba(0,0,0,.48);
  color:#fff;
  font-size:14px;
  line-height:1.35;
  font-weight:750;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}

.nl-v4l-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.nl-v4l-toast.ok{
  border-color:rgba(54,220,145,.36);
}

.nl-v4l-toast.bad{
  border-color:rgba(255,98,98,.42);
}

/* NEROLINK_V4L_TRIAL_BUTTON_CSS_END */




/* NEROLINK_V4N_TRIAL_PRODUCTION_CSS_START */

/* Production mode: no always-visible trial preview.
   v4l logic remains active: show trial only without active subscription. */
.nl-v4m-trial-always-visible .trial-card-v4l.trial-card-always-preview{
  display:inherit;
}

/* NEROLINK_V4N_TRIAL_PRODUCTION_CSS_END */


/* NEROLINK_V4S_USERLINE_FIX_CSS_START */

/* userLine is the real top identity line. Never hide it via old label-hiding patches. */
#userLine,
#userLine.nl-hidden-label,
#userLine.nl-force-hidden-label{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  min-height:16px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  line-height:1.25 !important;
  color:rgba(251,251,255,.66) !important;
  font-size:12px !important;
  font-weight:650 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.brand-wordmark #userLine{
  grid-row:auto;
}

/* NEROLINK_V4S_USERLINE_FIX_CSS_END */






/* NEROLINK_V5E_BOTTOM_FOOTER_TEXTROW_START */

/*
  Footer links under bottom tabs as plain text row.
  Removes the huge dark footer capsule.
*/

.bottom-dock{
  bottom:calc(10px + env(safe-area-inset-bottom)) !important;
  gap:6px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* tabs stay as buttons */
.bottom-tabs{
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
}

/* footer: no pill, no background, no border */
.bottom-dock .app-footer{
  width:100% !important;
  height:auto !important;
  min-height:18px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:18px !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;

  color:rgba(251,251,255,.72) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  opacity:1 !important;
  text-align:center !important;
}

.bottom-dock .app-footer a{
  display:inline-block !important;
  color:rgba(251,251,255,.72) !important;
  text-decoration:underline !important;
  text-underline-offset:4px !important;
  text-decoration-thickness:1px !important;
  white-space:nowrap !important;
  margin:0 !important;
  padding:0 !important;
  font-weight:750 !important;
}

.bottom-dock .app-footer a:hover{
  color:#fff !important;
}

/* remove any leftover footer capsule pseudo/layers */
.bottom-dock .app-footer::before,
.bottom-dock .app-footer::after{
  content:none !important;
  display:none !important;
}

/* More room for fixed dock: tabs + text row */
.app-shell{
  padding-bottom:calc(126px + env(safe-area-inset-bottom)) !important;
}

.screen.active{
  padding-bottom:0 !important;
}

.screen.active > *:last-child{
  margin-bottom:0 !important;
}

@media(max-width:460px){
  .bottom-dock{
    bottom:calc(8px + env(safe-area-inset-bottom)) !important;
    gap:5px !important;
  }

  .bottom-tabs{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
  }

  .bottom-dock .app-footer{
    min-height:16px !important;
    gap:15px !important;
    font-size:10.5px !important;
  }

  .app-shell{
    padding-bottom:calc(122px + env(safe-area-inset-bottom)) !important;
  }
}

/* NEROLINK_V5E_BOTTOM_FOOTER_TEXTROW_END */


/* NEROLINK_V5D_BOTTOM_DOCK_FOOTER_START */

/*
  Final bottom block:
  one fixed dock with tabs + footer links.
  The lower "plate" is now intentionally the footer links row.
*/

.cabinet-bg-horizon,
.cabinet-bg-horizon::before,
.cabinet-bg-horizon::after{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* fixed wrapper for nav + footer links */
.bottom-dock{
  position:fixed !important;
  left:50% !important;
  bottom:calc(8px + env(safe-area-inset-bottom)) !important;
  transform:translateX(-50%) !important;

  width:min(calc(100% - 18px), 500px) !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto !important;
  gap:7px !important;

  padding:0 !important;
  margin:0 !important;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  z-index:999 !important;
  pointer-events:auto !important;
  box-sizing:border-box !important;
}

/* transparent nav row */
.bottom-tabs{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;

  width:100% !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;

  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:8px !important;

  padding:0 !important;
  margin:0 !important;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

/* kill old bottom-nav if cached/leftover */
.bottom-nav{
  display:none !important;
}

.bottom-tabs::before,
.bottom-tabs::after,
.bottom-tabs .nav-btn::before,
.bottom-tabs .nav-btn::after,
.bottom-dock::before,
.bottom-dock::after{
  content:none !important;
  display:none !important;
}

/* tab buttons */
.bottom-tabs .nav-btn{
  width:100% !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;

  padding:0 !important;
  margin:0 !important;

  border-radius:22px !important;
  border:1px solid rgba(139,160,255,.20) !important;
  background:rgba(7,9,22,.76) !important;
  color:rgba(251,251,255,.66) !important;

  box-shadow:none !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;

  font-size:11.5px !important;
  font-weight:950 !important;
  line-height:1.1 !important;
  box-sizing:border-box !important;
}

.bottom-tabs .nav-btn.active{
  color:#fff !important;
  background:linear-gradient(135deg, rgba(141,92,255,.96), rgba(46,199,232,.88)) !important;
  border-color:rgba(255,255,255,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.bottom-tabs .nav-btn span{
  display:block !important;
  font-size:17px !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
}

.bottom-tabs .nav-btn b{
  display:block !important;
  line-height:1.1 !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
}

/* footer links row: this is the lower small plate */
.bottom-dock .app-footer{
  width:min(88%, 360px) !important;
  height:28px !important;
  min-height:28px !important;

  justify-self:center !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:16px !important;

  margin:0 !important;
  padding:0 12px !important;

  border-radius:999px !important;
  border:1px solid rgba(139,160,255,.20) !important;
  background:rgba(7,9,22,.78) !important;
  box-shadow:none !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;

  color:rgba(251,251,255,.68) !important;
  font-size:11px !important;
  line-height:1 !important;
  opacity:1 !important;
  box-sizing:border-box !important;
}

.bottom-dock .app-footer a{
  display:block !important;
  color:rgba(251,251,255,.68) !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  margin:0 !important;
  padding:0 !important;
  font-weight:750 !important;
}

.bottom-dock .app-footer a:hover{
  color:#fff !important;
}

/* enough room for fixed bottom dock */
.app-shell{
  padding-bottom:calc(130px + env(safe-area-inset-bottom)) !important;
}

.screen.active{
  padding-bottom:0 !important;
}

.screen.active > *:last-child{
  margin-bottom:0 !important;
}

@media(max-width:460px){
  .bottom-dock{
    width:calc(100% - 18px) !important;
    gap:6px !important;
    bottom:calc(7px + env(safe-area-inset-bottom)) !important;
  }

  .bottom-tabs{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    gap:7px !important;
  }

  .bottom-tabs .nav-btn{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    border-radius:20px !important;
  }

  .bottom-dock .app-footer{
    width:min(92%, 360px) !important;
    height:27px !important;
    min-height:27px !important;
    gap:14px !important;
    font-size:10.5px !important;
  }

  .app-shell{
    padding-bottom:calc(126px + env(safe-area-inset-bottom)) !important;
  }
}

/* NEROLINK_V5D_BOTTOM_DOCK_FOOTER_END */


/* NEROLINK_V5H_NAV_FONT_START */

/* Bigger labels in bottom navigation. Supports both old .bottom-nav and newer .bottom-tabs. */
.bottom-nav .nav-btn,
.bottom-tabs .nav-btn{
  font-size:13px !important;
}

.bottom-nav .nav-btn b,
.bottom-tabs .nav-btn b{
  font-size:13.5px !important;
  line-height:1.12 !important;
  font-weight:950 !important;
  letter-spacing:-.015em !important;
}

.bottom-nav .nav-btn span,
.bottom-tabs .nav-btn span{
  font-size:19px !important;
  line-height:1 !important;
}

@media(max-width:460px){
  .bottom-nav .nav-btn b,
  .bottom-tabs .nav-btn b{
    font-size:13px !important;
  }

  .bottom-nav .nav-btn span,
  .bottom-tabs .nav-btn span{
    font-size:18px !important;
  }
}

/* NEROLINK_V5H_NAV_FONT_END */


/* NEROLINK_CUSTOMER_UX_V1_START */
.customer-notice{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin-bottom:12px;
  padding:16px 17px;
  border-color:rgba(139,160,255,.28);
  background:linear-gradient(135deg,rgba(90,112,255,.17),rgba(46,199,232,.08));
}
.customer-notice.hidden{display:none !important}
.customer-notice b{display:block;font-size:15px;line-height:1.25;margin-bottom:4px}
.customer-notice p{margin:0;color:rgba(251,251,255,.74);font-size:13px;line-height:1.42}
.customer-notice.pending{border-color:rgba(46,199,232,.32)}
.customer-notice.success{border-color:rgba(54,220,145,.36);background:linear-gradient(135deg,rgba(54,220,145,.17),rgba(46,199,232,.07))}
.customer-notice.warning{border-color:rgba(255,203,74,.38);background:linear-gradient(135deg,rgba(255,203,74,.16),rgba(255,255,255,.04))}
.customer-notice.error{border-color:rgba(255,98,98,.40);background:linear-gradient(135deg,rgba(255,98,98,.16),rgba(255,255,255,.04))}
.customer-notice .small-btn{white-space:nowrap}

.customer-help{
  display:grid;
  gap:7px;
  margin-top:12px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,203,74,.30);
  background:rgba(255,203,74,.08);
}
.customer-help.hidden{display:none !important}
.customer-help b{font-size:14px;color:#fff}
.customer-help span{font-size:13px;line-height:1.4;color:rgba(251,251,255,.74)}
.customer-help .small-btn{justify-self:start;margin-top:3px}

.status-active-card.status-inactive,
.status-days-card.days-inactive{
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
}

@media(max-width:560px){
  .customer-notice{grid-template-columns:1fr}
  .customer-notice .small-btn{width:100%}
}
/* NEROLINK_CUSTOMER_UX_V1_END */


/* NEROLINK_INCY_IOS_RESERVE_V1_START */
.app-choice-block{
  display:grid;
  gap:10px;
}
.app-choice-block + .app-choice-block{
  margin-top:4px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.11);
}
.app-choice-label{
  display:block;
  padding:0 2px;
  color:rgba(251,251,255,.62);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.app-choice-reserve .store-btn{
  border-color:rgba(46,199,232,.30) !important;
}
.connect-app-section{
  display:grid;
  gap:12px;
}
.connect-app-head{
  display:grid;
  gap:4px;
}
.connect-app-head > div{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
.connect-app-head b{
  font-size:16px;
  line-height:1.25;
}
.connect-app-head > span{
  color:rgba(251,251,255,.66);
  font-size:13px;
  line-height:1.4;
}
.incy-reserve-section{
  margin-top:16px;
  padding-top:17px;
  border-top:1px solid rgba(46,199,232,.22);
}
.incy-reserve-section.hidden{
  display:none !important;
}
.reserve-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 8px;
  border:1px solid rgba(46,199,232,.34);
  border-radius:10px;
  background:rgba(46,199,232,.10);
  color:#aaf3ff;
  font-size:9.5px;
  font-weight:950;
  letter-spacing:.08em;
}
.incy-manual-box{
  border-top-color:rgba(46,199,232,.18);
}
.incy-manual-box .manual-link{
  border-color:rgba(46,199,232,.24);
}
@media(max-width:380px){
  .connect-app-head > div{
    align-items:flex-start;
  }
}
/* NEROLINK_INCY_IOS_RESERVE_V1_END */


/* NEROLINK_CABINET_HWID_MANAGER_V1_CSS_START */
.device-manager-card{border-color:rgba(139,160,255,.24)}
.device-manager-body{display:grid;gap:12px}
.device-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.device-manager-head > div{min-width:0;display:grid;gap:4px}
.device-manager-head > div > b{font-size:16px}
.device-manager-head .hint{margin:0;line-height:1.45}
.device-manager-head .small-btn{width:auto;min-width:92px;min-height:40px;flex:0 0 auto}
.hwid-device-list{display:grid;gap:10px}
.hwid-device-state{padding:16px;border-radius:17px;border:1px dashed rgba(255,255,255,.16);background:rgba(255,255,255,.035);color:var(--muted);font-size:13px;line-height:1.5;text-align:center}
.hwid-device-state.error{color:#ffd8df;border-color:rgba(255,107,138,.28);background:rgba(255,107,138,.07)}
.hwid-device-state.loading{color:#e8e4ff}
.hwid-device-state.empty{color:rgba(255,255,255,.72)}
.hwid-device-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:19px;background:rgba(255,255,255,.047);box-shadow:inset 0 1px 0 rgba(255,255,255,.055)}
.hwid-device-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,rgba(141,92,255,.34),rgba(40,199,232,.19));border:1px solid rgba(139,160,255,.25);font-size:21px;font-weight:950}
.hwid-device-info{min-width:0;display:grid;gap:3px}
.hwid-device-info b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hwid-device-info span{color:rgba(255,255,255,.72);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hwid-device-info small{color:var(--muted);font-size:11px;line-height:1.35}
.hwid-device-info .hwid-masked{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:rgba(255,255,255,.50)}
.hwid-delete-btn{width:auto!important;min-width:88px!important;min-height:40px!important;padding:8px 11px!important;color:#ffdfe5!important;border-color:rgba(255,107,138,.28)!important;background:rgba(255,107,138,.09)!important;font-size:12px}
.hwid-delete-btn:disabled{color:rgba(255,255,255,.45)!important;border-color:rgba(255,255,255,.11)!important;background:rgba(255,255,255,.035)!important}
.device-manager-note{margin:0!important;padding:11px 12px;border-radius:15px;background:rgba(46,199,232,.055);border:1px solid rgba(46,199,232,.14);color:var(--muted);font-size:11px;line-height:1.5}
.home-info-card[data-nl-metric="devices"]{cursor:pointer;transition:transform .12s ease,border-color .12s ease}
.home-info-card[data-nl-metric="devices"]:active{transform:translateY(1px)}
.device-delete-dialog .dialog-card{display:grid;gap:12px}
.device-delete-dialog h2,.device-delete-dialog p{margin:0}
.device-delete-dialog p{color:var(--muted);line-height:1.55}
.device-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.device-dialog-actions .btn.danger{margin:0}
.device-delete-error{color:#ffb8c5!important;padding:10px 12px;border:1px solid rgba(255,107,138,.25);border-radius:14px;background:rgba(255,107,138,.07)}
@media(max-width:560px){
  .hwid-device-item{grid-template-columns:42px minmax(0,1fr)}
  .hwid-delete-btn{grid-column:1/-1;width:100%!important}
  .device-manager-head{align-items:stretch;flex-direction:column}
  .device-manager-head .small-btn{width:100%}
  .device-dialog-actions{grid-template-columns:1fr}
}
/* NEROLINK_CABINET_HWID_MANAGER_V1_CSS_END */
