@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

body.auth-pending .js-login-fallback{display:none!important}

:root{
  --glass-bg:rgba(255,255,255,.08);
  --glass-bg-hover:rgba(255,255,255,.11);
  --glass-radius:1.25rem;
  --glass-blur:blur(24px) saturate(1.4);
  --glass-rim:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.05) 28%,rgba(255,255,255,.03) 50%,rgba(255,255,255,.05) 72%,rgba(255,255,255,.18) 100%);
  --glass-rim-hover:linear-gradient(135deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.07) 28%,rgba(255,255,255,.04) 50%,rgba(255,255,255,.07) 72%,rgba(255,255,255,.22) 100%);
}

.font-future{font-family:'Space Grotesk',system-ui,sans-serif;letter-spacing:-0.02em}
.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:none;box-shadow:none;position:relative;isolation:isolate}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-rim);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.glass-hover:hover{background:var(--glass-bg-hover);transform:translateY(-2px);transition:all .25s ease}
.glass-hover:hover::before{background:var(--glass-rim-hover)}
.glass-input{background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px 16px;color:#fff;font-size:14px;width:100%;outline:none;transition:border-color .2s,box-shadow .2s;color-scheme:dark}
.glass-input::placeholder{color:rgba(255,255,255,.4)}
.glass-input:focus{border-color:rgba(47,154,130,.45);box-shadow:0 0 0 3px rgba(47,154,130,.15)}
/* Автозаполнение браузера: не даём белый фон, оставляем тёмную тему */
.glass-input:-webkit-autofill,
.glass-input:-webkit-autofill:hover,
.glass-input:-webkit-autofill:focus,
.glass-input:-webkit-autofill:active{
  -webkit-text-fill-color:#fff!important;
  caret-color:#fff;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 0 0 1000px #141a18 inset!important;
  transition:background-color 99999s ease-out 0s,color 99999s ease-out 0s;
  animation-name:onAutoFillStart;
  animation-duration:.001s;
}
@keyframes onAutoFillStart{from{opacity:.99}to{opacity:1}}
.glass-input:-moz-autofill,
.glass-input:-moz-autofill-preview{
  filter:none;
  background-color:#141a18!important;
  color:#fff!important;
}
.password-field{position:relative}
.password-field .glass-input{padding-right:2.85rem}
.password-toggle{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);z-index:2;width:2.1rem;height:2.1rem;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:rgba(255,255,255,.45);border-radius:999px;cursor:pointer;padding:0;transition:color .15s,background .15s}
.password-toggle:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.06)}
.password-toggle:focus-visible{outline:2px solid rgba(77,179,154,.55);outline-offset:1px}
.password-toggle__icon{width:1.15rem;height:1.15rem;display:block}
.password-toggle.is-visible{color:rgba(77,179,154,.95)}
.glass-button{
  position:relative;
  isolation:isolate;
  background:var(--glass-bg);
  border:none;
  box-shadow:none;
  color:#fff;
  border-radius:999px;
  padding:10px 18px;
  font-weight:600;
  letter-spacing:.02em;
  transition:background .2s,transform .2s,color .2s;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
}
.glass-button::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:var(--glass-rim);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:1;
}
.glass-button:hover{
  background:var(--glass-bg-hover);
  color:#fff;
  transform:translateY(-1px);
}
.glass-button:hover::before{background:var(--glass-rim-hover)}
.glass-button-primary{
  position:relative;
  isolation:isolate;
  background:linear-gradient(135deg,#0c3f38,#2f9a82);
  color:#fff;
  border-radius:999px;
  padding:12px 24px;
  font-weight:700;
  letter-spacing:.03em;
  border:none;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:transform .2s,box-shadow .2s,filter .2s;
  width:100%;
  box-shadow:none;
}
.glass-button-primary::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.06) 40%,rgba(255,255,255,.04) 60%,rgba(255,255,255,.18) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:1;
}
.glass-button-primary:hover{transform:translateY(-1px);filter:brightness(1.06)}
.glass-button-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:none}
.link-brand{color:#4db39a;text-decoration:none}.link-brand:hover{color:#7bc9b5}
.accent-stripes{position:fixed;inset:0;pointer-events:none;z-index:0}
.accent-stripes::before,.accent-stripes::after{content:"";position:absolute;left:-10%;right:-10%;height:10px;transform:skewY(-6deg);background:linear-gradient(90deg,rgba(47,154,130,0),rgba(47,154,130,.85),rgba(47,154,130,0));opacity:.85}
.accent-stripes::before{top:110px}.accent-stripes::after{bottom:90px;opacity:.65}

/* Auth pages */
.auth-shell{position:relative;isolation:isolate;border-radius:1.35rem;padding:1.65rem 1.5rem;background:var(--glass-bg);border:none;box-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.auth-shell::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-rim);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
@media(min-width:640px){.auth-shell{padding:2rem 2rem}}
.auth-eyebrow{display:inline-flex;padding:.3rem .8rem;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4db39a;background:rgba(47,154,130,.12);border:1px solid rgba(47,154,130,.22);margin-bottom:.85rem}
.auth-title{font-family:'Space Grotesk',system-ui,sans-serif;font-size:1.65rem;font-weight:700;color:#fff;margin:0 0 .5rem;letter-spacing:.02em}
.auth-subtitle{font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.42);margin:0 0 1.35rem}
/* Google OAuth: скрыта в UI (SHOW_GOOGLE_LOGIN_BUTTON=false). Не убирать разметку. */
button[data-oauth-google][hidden],
button[data-oauth-google][aria-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:1.35rem;padding:.35rem;border-radius:999px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);width:100%;box-sizing:border-box}
.auth-tabs .glass-button,.auth-tabs .glass-button-primary,.auth-tabs .auth-tab{flex:unset;border-radius:999px!important;padding:.65rem .75rem!important;font-size:.8125rem!important;width:100%!important;min-width:0!important;max-width:none!important;border:1px solid transparent!important;background:transparent!important;box-shadow:none!important;transform:none!important;color:rgba(255,255,255,.55)!important;font-weight:600!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;letter-spacing:normal!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;justify-content:center}
.auth-tabs .glass-button::before,.auth-tabs .glass-button-primary::before,.auth-tabs .auth-tab::before{display:none!important;content:none!important}
.auth-tabs .glass-button-primary,.auth-tabs .auth-tab.is-active,.auth-tabs .auth-tab.glass-button-primary{background:linear-gradient(135deg,rgba(12,63,56,.35),rgba(47,154,130,.3))!important;border-color:rgba(77,179,154,.35)!important;color:#fff!important;box-shadow:none!important}
.auth-tabs .glass-button:hover,.auth-tabs .auth-tab:hover{color:#fff!important;background:rgba(255,255,255,.06)!important}
.auth-tabs .glass-button-primary:hover,.auth-tabs .auth-tab.is-active:hover{background:linear-gradient(135deg,rgba(12,63,56,.42),rgba(47,154,130,.38))!important;color:#fff!important}

.wizard-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-bottom:1.75rem}
.wizard-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:88px;position:relative;flex:1;max-width:120px}
.wizard-step:not(:last-child)::after{content:"";position:absolute;top:14px;left:calc(50% + 20px);width:calc(100% - 40px);height:2px;background:rgba(255,255,255,.12)}
.wizard-step.done:not(:last-child)::after,.wizard-step.active:not(:last-child)::after{background:linear-gradient(90deg,#4db39a,rgba(77,179,154,.2))}
.wizard-step__num{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.45);position:relative;z-index:1}
.wizard-step.active .wizard-step__num{background:linear-gradient(135deg,#2f9a82,#4db39a);border-color:transparent;color:#fff;box-shadow:0 0 20px rgba(47,154,130,.45)}
.wizard-step.done .wizard-step__num{background:rgba(16,185,129,.2);border-color:rgba(16,185,129,.45);color:#6ee7b7}
.wizard-step__label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.35);text-align:center}
.wizard-step.active .wizard-step__label{color:rgba(255,255,255,.85)}
.hidden-step{display:none!important}

/* Cabinet */
.cabinet-page-head{margin-bottom:1.75rem}
.cabinet-page-head__label{display:inline-flex;padding:.3rem .8rem;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4db39a;background:rgba(47,154,130,.12);border:1px solid rgba(47,154,130,.25);margin-bottom:.75rem}
.cabinet-page-head__title{font-family:'Space Grotesk',system-ui,sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:#fff;margin:0 0 .45rem;letter-spacing:.02em}
.cabinet-page-head__title .hl-orange{color:#2f9a82}
.cabinet-page-head__sub{font-size:.9rem;color:rgba(255,255,255,.42);margin:0;max-width:36rem;line-height:1.55}

.cabinet-layout{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:1024px){.cabinet-layout{grid-template-columns:210px 1fr;gap:1.75rem}}
.cabinet-nav{display:flex;flex-direction:row;gap:.4rem;overflow-x:auto;padding:.5rem;background:var(--glass-bg);border:none;box-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:relative;isolation:isolate}
.cabinet-nav::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-rim);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
@media(min-width:1024px){.cabinet-nav{flex-direction:column;overflow:visible;padding:.65rem}}
.cabinet-nav__btn{flex-shrink:0;width:100%;text-align:left;padding:.7rem 1rem;border-radius:12px;border:1px solid transparent;background:transparent;color:rgba(255,255,255,.5);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;position:relative;z-index:2}
.cabinet-nav__btn:hover{background:rgba(255,255,255,.05);color:#fff}
.cabinet-nav__btn.is-active{background:rgba(47,154,130,.12);border-color:rgba(77,179,154,.28);color:#fff}
.cabinet-nav__btn.is-active::before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:999px;background:linear-gradient(180deg,#0c3f38,#4db39a)}
@media(max-width:1023px){
  .cabinet-nav{
    border-radius:1rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:.35rem;
    padding:.45rem;
  }
  .cabinet-nav::-webkit-scrollbar{display:none}
  .cabinet-nav__btn{
    width:auto;
    white-space:nowrap;
    min-height:2.65rem;
    padding:.65rem .95rem;
    font-size:12.5px;
  }
  .cabinet-nav__btn.is-active::before{display:none}
}

.cabinet-card{position:relative;isolation:isolate;border-radius:var(--glass-radius);padding:1.5rem 1.35rem;background:var(--glass-bg);border:none;box-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.cabinet-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-rim);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
@media(min-width:640px){.cabinet-card{padding:1.75rem 1.65rem}}
.cabinet-card__title,.cabinet-card__sub,.cabinet-card > *{position:relative;z-index:2}
.cabinet-card__title{font-family:'Space Grotesk',system-ui,sans-serif;font-size:1.05rem;font-weight:700;color:#fff;margin:0 0 .35rem}
.cabinet-card__sub{font-size:.8125rem;color:rgba(255,255,255,.4);margin:0 0 1.25rem;line-height:1.5}

/* Loading / error: всегда под шапкой, фиксированная ширина — не «плавают» на ultrawide */
.cabinet-status{
  width:100%;
  max-width:26rem;
  margin:0;
}
.cabinet-status .cabinet-card{
  width:100%;
  margin:0;
}
.cabinet-status .glass-button-primary{
  margin-top:.15rem;
}
/* Пока статус — не растягиваем main на весь экран и не отталкиваем футер вниз */
body.cabinet-is-status .cabinet-shell{
  min-height:0;
}
body.cabinet-is-status .cabinet-shell > main{
  flex:0 1 auto;
}
body.cabinet-is-status .cabinet-shell > footer{
  margin-top:2.5rem;
}

.status-ring{--progress:.75;width:120px;height:120px;border-radius:999px;background:conic-gradient(#34d399 calc(var(--progress)*360deg),rgba(255,255,255,.08) 0);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:none}
.status-ring::before{content:"";position:absolute;inset:8px;border-radius:999px;background:rgba(26,26,26,.92)}
.status-ring__inner{position:relative;z-index:1;text-align:center}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:640px){.stat-grid{grid-template-columns:repeat(4,1fr)}}
.stat-card{position:relative;isolation:isolate;border-radius:14px;padding:1rem 1.05rem;background:var(--glass-bg);border:none;box-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:transform .2s,background .2s}
.stat-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-rim);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.stat-card:hover{background:var(--glass-bg-hover);transform:translateY(-1px)}
.stat-card:hover::before{background:var(--glass-rim-hover)}
.stat-card__label,.stat-card__value{position:relative;z-index:2}
.stat-card__label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.4)}
.stat-card--orange .stat-card__label{color:rgba(47,154,130,.75)}
.stat-card--indigo .stat-card__label{color:rgba(77,179,154,.85)}
.stat-card--emerald .stat-card__label{color:rgba(52,211,153,.85)}
.stat-card--violet .stat-card__label{color:rgba(123,201,181,.85)}
.stat-card__value{margin-top:.4rem;font-size:15px;font-weight:700;color:#fff}

.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.badge--ok{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.35);color:#6ee7b7}
.badge--warn{background:rgba(47,154,130,.12);border:1px solid rgba(47,154,130,.35);color:#7bc9b5}
.badge--muted{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55)}
.badge--danger{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35);color:#fca5a5}

.cabinet-avatar-wrap{width:40px;height:40px;border-radius:999px;overflow:hidden;flex-shrink:0;background:rgba(47,154,130,.2);border:1px solid rgba(77,179,154,.35)}
.cabinet-avatar{width:100%;height:100%;object-fit:cover;display:block}
.cabinet-avatar--fallback{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#7bc9b5;letter-spacing:.02em}

.onboard-banner{position:relative;isolation:isolate;border-radius:1.15rem;padding:1.35rem 1.5rem;background:var(--glass-bg);border:none;box-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.onboard-banner::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(77,179,154,.4) 0%,rgba(255,255,255,.06) 28%,rgba(255,255,255,.04) 50%,rgba(255,255,255,.06) 72%,rgba(77,179,154,.28) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.onboard-banner > *{position:relative;z-index:2}

.quick-links{display:grid;grid-template-columns:1fr;gap:.65rem}
@media(min-width:640px){.quick-links{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.quick-links{grid-template-columns:repeat(4,1fr)}}
.quick-link{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;text-align:center;padding:.85rem 1rem;border-radius:14px;font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.75);background:var(--glass-bg);border:none;box-shadow:none;text-decoration:none;transition:all .2s;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);cursor:pointer;font-family:inherit;width:100%}
.quick-link::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-rim);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.quick-link:hover{color:#fff;background:var(--glass-bg-hover);transform:translateY(-1px)}
.quick-link:hover::before{background:var(--glass-rim-hover)}
.quick-link--support:hover{color:#fff}
.quick-link--plans:hover{color:#fff}

.provider-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:rgba(255,255,255,.85)}
.provider-pill--on{border-color:rgba(52,211,153,.45);background:rgba(16,185,129,.12);color:#a7f3d0}
.provider-pill--on::before{content:"";width:7px;height:7px;border-radius:999px;background:#34d399;box-shadow:0 0 8px rgba(52,211,153,.6)}
.provider-pill--off{border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:rgba(255,255,255,.45)}
.config-scroll{position:relative;isolation:isolate;background:var(--glass-bg);border:none;box-shadow:none;border-radius:14px;padding:1rem;font-size:12px;color:rgba(255,255,255,.7);overflow:auto;word-break:break-all;max-height:120px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.config-scroll::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-rim);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.cabinet-panel{display:none}.cabinet-panel.is-visible{display:block}
.divider{display:flex;align-items:center;gap:16px;margin:20px 0}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.1)}
.divider span{color:rgba(255,255,255,.3);font-size:12px}
.auth-path-card{position:relative;isolation:isolate;border-radius:1.15rem;padding:1.25rem 1.35rem;border:none;background:var(--glass-bg);box-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.auth-path-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(77,179,154,.35) 0%,rgba(255,255,255,.06) 28%,rgba(255,255,255,.04) 50%,rgba(255,255,255,.06) 72%,rgba(77,179,154,.25) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.auth-path-card > *{position:relative;z-index:2}
.field-error{color:#f87171;font-size:13px;margin-top:6px}.input-invalid{border-color:rgba(248,113,113,.55)!important}
.profile-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.profile-grid{grid-template-columns:1fr 1fr}}
.profile-field{position:relative;isolation:isolate;border-radius:14px;padding:1rem 1.15rem;background:var(--glass-bg);border:none;box-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.profile-field::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-rim);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.profile-field dt,.profile-field dd{position:relative;z-index:2}
.profile-field dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.4);margin-bottom:.35rem}
.profile-field dd{font-size:15px;font-weight:600;color:#fff;margin:0;word-break:break-word}
.profile-field dd.profile-field__empty{font-weight:500;color:rgba(255,255,255,.38)}
.profile-nickname-view{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.profile-edit-btn{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.72);font-size:12px;font-weight:600;padding:.4rem .75rem;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}
.profile-edit-btn:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(77,179,154,.35)}
.profile-nickname-form{position:relative;z-index:2;margin-top:.15rem}
.profile-nickname-input{width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.28);color:#fff;font-size:15px;font-weight:600;padding:.7rem .9rem;outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}
.profile-nickname-input:focus{border-color:rgba(77,179,154,.45);box-shadow:0 0 0 3px rgba(47,154,130,.15)}
.profile-nickname-input::placeholder{color:rgba(255,255,255,.28);font-weight:500}
.profile-nickname-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}
.profile-nick-btn{width:auto!important;min-height:2.35rem;padding:.55rem 1rem!important;font-size:.8125rem!important}
.profile-nickname-hint{margin:.65rem 0 0;font-size:12px;line-height:1.45;color:rgba(255,255,255,.38)}
.profile-nickname-error{margin:.45rem 0 0;font-size:12px;line-height:1.4;color:#fca5a5}
.profile-providers-wrap{margin-top:.5rem}
.step-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}
.step-list li{display:flex;gap:.75rem;font-size:.875rem;color:rgba(255,255,255,.55);line-height:1.55}
.step-list__n{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:rgba(47,154,130,.15);color:#4db39a;border:1px solid rgba(47,154,130,.3)}
.link-form-box{position:relative;isolation:isolate;border-radius:1.15rem;padding:1.35rem 1.5rem;border:none;background:var(--glass-bg);box-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.link-form-box::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(77,179,154,.32) 0%,rgba(255,255,255,.06) 28%,rgba(255,255,255,.04) 50%,rgba(255,255,255,.06) 72%,rgba(77,179,154,.22) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.link-form-box > *{position:relative;z-index:2}

body.auth-user .js-login-fallback{display:none!important}
body.auth-guest .js-login-fallback.header-login{display:none}
@media(min-width:768px){body.auth-guest .js-login-fallback.header-login{display:inline-flex}}
body.auth-guest .js-login-fallback.drawer-login{display:flex}
body.auth-user .js-login-fallback.drawer-login{display:none!important}
.auth-register-cta{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}

body.auth-user .js-drawer-auth-user{display:flex;flex-direction:column;gap:.5rem}
body.auth-user .js-drawer-auth-user.hidden{display:none!important}

/* ——— Mobile auth / cabinet ——— */
@media (max-width:767px){
  .wizard-steps{
    width:100%;
    max-width:100%;
    margin-bottom:1.35rem;
    padding-inline:0.15rem;
    box-sizing:border-box;
  }
  .wizard-step{
    min-width:0;
    max-width:none;
    flex:1 1 0;
    gap:0.4rem;
  }
  .wizard-step:not(:last-child)::after{
    left:calc(50% + 16px);
    width:calc(100% - 32px);
    top:13px;
  }
  .wizard-step__num{
    width:26px;
    height:26px;
    font-size:11px;
  }
  .wizard-step__label{
    font-size:9px;
    letter-spacing:.04em;
    line-height:1.25;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .cabinet-page-head{
    margin-bottom:1.25rem;
  }
  .cabinet-page-head__title{
    font-size:clamp(1.35rem,6.5vw,1.75rem);
  }
  .cabinet-page-head__sub{
    font-size:.85rem;
  }

  .cabinet-layout{
    gap:1.1rem;
  }

  .cabinet-nav{
    margin-inline:-0.15rem;
    padding:.4rem;
    scroll-padding-inline:.4rem;
  }
  .cabinet-nav__btn{
    min-height:2.75rem;
    padding:.6rem .85rem;
    font-size:12px;
    touch-action:manipulation;
  }

  .cabinet-card{
    padding:1.25rem 1.1rem;
    border-radius:1.1rem;
  }
  .cabinet-card__title{
    font-size:1.05rem;
    line-height:1.3;
  }
  .cabinet-card__sub{
    font-size:.85rem;
    line-height:1.5;
    margin-bottom:1.1rem;
  }

  .stat-grid{
    gap:.65rem;
  }
  .stat-card{
    padding:.9rem .95rem;
  }
  .stat-card__label{
    font-size:9.5px;
    letter-spacing:.06em;
  }
  .stat-card__value{
    font-size:14.5px;
    line-height:1.3;
  }

  .status-ring{
    width:108px;
    height:108px;
  }

  .quick-links{
    gap:.55rem;
  }
  .quick-link{
    min-height:2.95rem;
    padding:.85rem .95rem;
    font-size:.8125rem;
    touch-action:manipulation;
  }

  .onboard-banner{
    padding:1.2rem 1.1rem;
  }

  .link-form-box{
    padding:1.2rem 1.05rem;
  }

  .profile-field{
    padding:.95rem 1.05rem;
  }
  .profile-field dd{
    font-size:14.5px;
    line-height:1.35;
  }

  .auth-path-card{
    padding:1.15rem 1.05rem;
  }

  .auth-shell input,
  .auth-shell .glass-button:not(.auth-tab),
  .auth-shell .glass-button-primary:not(.auth-tab),
  .link-form-box input,
  .link-form-box .glass-button,
  .link-form-box .glass-button-primary{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  .auth-shell .auth-tabs .auth-tab,
  .auth-shell .auth-tabs .glass-button,
  .auth-shell .auth-tabs .glass-button-primary{
    width:100%!important;
    max-width:none!important;
  }

  .auth-shell .glass-button-primary,
  .link-form-box .glass-button-primary{
    min-height:3rem;
  }
}

@media (max-width:420px){
  .wizard-step__label{
    font-size:8.5px;
  }
  .cabinet-nav__btn{
    padding:.55rem .7rem;
    font-size:11.5px;
  }
}

