/* Футер Кенни, профиль в шапке, модалки входа и кассы */
#kenny-nav-host{
  position:absolute;width:1px;height:1px;overflow:hidden;
  transform:translate(-9999px,-9999px);pointer-events:none;
}
#kenny-footer{position:relative;z-index:2;margin-top:48px}
#kenny-cookie{position:relative;z-index:40}

.nav-actions{display:flex;align-items:center;gap:10px}
.prof-wrap{position:relative}
.prof-card{
  position:absolute;top:100%;right:0;min-width:236px;margin-top:10px;z-index:70;
  padding:14px;display:flex;flex-direction:column;gap:11px;
  background:var(--bg3);border:var(--edge) solid var(--ink);
  box-shadow:var(--shadow-hard);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .14s,transform .14s,visibility .14s;
}
.prof-wrap:hover .prof-card,.prof-wrap:focus-within .prof-card{
  opacity:1;visibility:visible;transform:none;
}
.prof-card-top{display:flex;align-items:center;gap:10px}
.prof-card-top b{font-family:var(--font-head);font-size:14px}
.prof-card-tier{display:flex;align-items:center;gap:8px;color:var(--copper-hi);font-size:13px}
.ava-mini.lg{width:40px;height:40px;font-size:14px}
.ava-mini img,.prof-ava img{width:100%;height:100%;object-fit:cover;display:block}

.btn-ghost,.btn-blue,.btn-gold,.btn-ok{ }
.btn.btn-ghost,.btn-ghost{background:var(--stone-mid)}
.btn.btn-blue,.btn-blue{background:var(--copper)}
.btn.btn-gold,.btn-gold{background:var(--copper-hi);color:var(--ink)}
.btn.btn-ok,.btn-ok{background:var(--good);color:var(--ink)}
.btn.grow{flex:1}
.btn[disabled]{opacity:.45;cursor:not-allowed}

.modal-sm{width:min(440px,100%)}
.modal-head .mh-title{font-family:var(--font-head);font-weight:800;text-transform:uppercase;font-size:18px}
.modal-head .x{
  margin-left:auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  background:#C33B3B;border:3px solid var(--ink);color:#fff;font-size:22px;
}
.login-body{padding:26px}
.login-sub,.login-legal,.hint,.login-err{color:var(--muted);font-size:14px;margin:8px 0}
.login-err{color:#e08a8a}
.login-oauth{display:flex;flex-direction:column;gap:10px}
.login-sep{text-align:center;color:var(--muted);font-size:12px;margin:8px 0}
.login-alt{background:none;border:none;color:var(--cyan);cursor:pointer;margin-top:10px;font-size:14px}
.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.field label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.field input{
  height:44px;padding:0 12px;background:var(--bg);color:var(--text);
  border:3px solid var(--ink);font:inherit;
}

.steps{display:flex;gap:8px;padding:14px 26px;border-bottom:3px solid var(--ink)}
.steps .st{flex:1;text-align:center;padding:8px 6px;font-size:12px;text-transform:uppercase;
  font-family:var(--font-head);background:var(--bg3);border:3px solid var(--ink);color:var(--muted)}
.steps .st.active{background:var(--copper);color:var(--ink)}
.steps .st.done{background:var(--stone-dark);color:var(--text)}
.modal-body.step{display:none}
.modal-body.step.active{display:block}
.step1-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
@media(max-width:800px){.step1-cols{grid-template-columns:1fr}}
.grp-label{font-family:var(--font-head);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;color:var(--muted)}
.opt-row{display:flex;flex-direction:column;gap:8px}
.opt{
  display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;text-align:left;
  background:var(--bg3);border:3px solid var(--ink);
}
.opt.sel,.opt.on{outline:3px solid var(--cyan-glow)}
.opt .oic{width:34px;height:34px;flex:0 0 34px;background:#000 center/contain no-repeat;image-rendering:pixelated}
.opt .oic.card{background-image:url('/assets/pay/cardpx.png')}
.opt .oic.boosty{background-image:url('/assets/pay/boostypx.png')}
.opt .oic.sbp{background-image:url('/assets/pay/stonks.png')}
.opt .otxt{flex:1;display:flex;flex-direction:column;gap:2px}
.opt .otxt b{font-family:var(--font-head);font-size:14px}
.opt .otxt small{color:var(--muted);font-size:12px}
.opt .ocheck{width:16px;height:16px;border:3px solid var(--ink);background:var(--bg);flex:0 0 16px}
.opt.sel .ocheck{background:var(--cyan-glow)}
.opt-sep{text-align:center;color:var(--muted);font-size:12px;margin:8px 0}
.opt-tag{font-size:11px;background:var(--copper-hi);color:var(--ink);padding:2px 6px;font-family:var(--font-head)}
.periods{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pchip{padding:10px;border:3px solid var(--ink);background:var(--bg3);cursor:pointer}
.pchip.sel{outline:3px solid var(--cyan-glow)}
.pchip .pn{font-family:var(--font-head);font-size:13px}
.pchip .pp{color:var(--muted);font-size:12px}
.pchip .save{color:var(--good);font-size:12px}
.summary{margin:16px 0;padding:14px;background:var(--bg);border:3px solid var(--ink)}
.sum-row{display:flex;justify-content:space-between;gap:12px;margin:6px 0;font-size:14px}
.sum-total{margin-top:10px;font-family:var(--font-head)}
.amt{font-size:22px;color:var(--copper-hi)}
.amt-was{text-decoration:line-through;color:var(--muted);margin-right:6px}
.modal-foot{display:flex;gap:10px;margin-top:16px}
.warn-host{display:none;margin-top:12px;color:#e0b08a;font-size:13px}
.warn-host.show{display:block}
.pay-agree{display:flex;gap:8px;align-items:flex-start;margin:12px 0}
.center-pad{padding:40px 10px;text-align:center}
.pmsg,.succ-title{font-family:var(--font-head);font-size:18px}
.id-code{
  flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:400 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  padding:8px 10px;background:var(--bg);border:3px solid var(--ink);
}
