/* RG COMPANY cabinet shell v2 — matches the main Astro site */
.nav-login {
  position: relative;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(65,157,255,.72);
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg,#1688ff,#237fdf);
  color: #fff;
  padding: 0 15px;
  font-size: 13px;
  font-weight: 780;
  white-space: nowrap;
  box-shadow: 0 8px 24px rgba(22,136,255,.22);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.nav-login:hover { color:#fff; transform:translateY(-1px); filter:brightness(1.06); box-shadow:0 12px 30px rgba(22,136,255,.30); }
.nav-login:active { transform:translateY(0) scale(.97); }
.nav-login svg { width:17px; height:17px; flex:none; }
.nav-login.is-current { box-shadow:0 0 0 3px rgba(22,136,255,.10),0 8px 24px rgba(22,136,255,.22); }
.mobile-login {
  min-height:52px;
  display:flex!important;
  align-items:center;
  gap:10px;
  margin-top:7px;
  border:1px solid rgba(65,157,255,.6);
  border-radius:15px;
  background:linear-gradient(135deg,#1688ff,#237fdf);
  color:#fff!important;
  padding:0 14px!important;
  font-weight:800!important;
  box-shadow:0 9px 24px rgba(22,136,255,.20);
}
.mobile-login svg{width:18px;height:18px}.mobile-login b{margin-left:auto;font-size:17px;font-weight:500}

.public-shell.login-page { min-height:100vh; display:flex; flex-direction:column; padding-top:76px; }
.public-shell .site-header { z-index:110; }
.public-shell .login-main { flex:1; width:var(--container); margin-inline:auto; padding:72px 0 90px; }
.public-shell .site-footer { margin-top:0; }
.public-shell .login-shell { align-items:center; }
.public-shell .login-copy h1 { max-width:700px; }
.public-shell .login-card-head small { letter-spacing:.12em; }
.public-shell .login-window { background:color-mix(in srgb,var(--panel) 97%,transparent); }
.public-shell .login-card { padding:36px; }
.public-shell .telegram-slot { min-height:76px; margin-top:24px; display:grid; gap:11px; align-content:start; }
.telegram-login-shell { position:relative; width:100%; height:54px; border-radius:15px; overflow:hidden; }
.telegram-login-face {
  width:100%; height:54px; border:1px solid rgba(65,157,255,.72); border-radius:15px;
  display:flex; align-items:center; justify-content:center; gap:11px;
  background:linear-gradient(135deg,#1688ff,#237fdf); color:#fff; font:800 13px/1 Manrope Variable,Manrope,sans-serif;
  box-shadow:0 12px 30px rgba(22,136,255,.23); user-select:none;
}
.telegram-login-face svg { width:19px; height:19px; flex:none; }
.telegram-login-face svg:last-child { width:16px; height:16px; margin-left:4px; }
.telegram-widget-overlay { position:absolute; inset:0; z-index:2; overflow:hidden; opacity:.001; }
.telegram-widget-overlay iframe { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-width:100%!important; min-height:100%!important; border:0!important; }
.telegram-help { margin:0!important; color:var(--muted)!important; font-size:10px!important; line-height:1.55!important; text-align:center; }
.telegram-help strong { color:var(--text); font-weight:700; }
.public-shell .login-error:empty { display:none; }
.public-shell .login-error:not(:empty) { margin-top:12px; border:1px solid color-mix(in srgb,var(--cabinet-danger) 28%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--cabinet-danger) 8%,transparent); padding:10px 12px; }
.public-shell .footer-links svg { width:13px; height:13px; }

@media (max-width:1080px){
  .nav-login span{display:none}.nav-login{width:40px;padding:0}
}
@media (max-width:980px){
  .nav-login{display:none}
}
@media (max-width:960px){
  .public-shell .login-main{padding-top:48px}
}
@media (max-width:720px){
  .public-shell.login-page{padding-top:68px}
  .public-shell .login-main{padding:38px 0 62px}
  .public-shell .login-copy{text-align:left}
  .public-shell .login-card{padding:25px}
}
@media (max-width:560px){
  .nav-actions{gap:7px}
  .nav-download{width:40px;height:40px;padding:0;justify-content:center}
  .nav-download span{display:none}
}


/* Solid product-blue actions, identical to the main CTA. */
.nav-login,
.mobile-login {
  background: #278cff !important;
  border-color: #278cff !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(39,140,255,.24) !important;
}
.nav-login:hover,
.mobile-login:hover {
  background: #1688ff !important;
  border-color: #1688ff !important;
  filter: none !important;
  box-shadow: 0 13px 32px rgba(39,140,255,.31) !important;
}
.nav-login.is-current { box-shadow: 0 0 0 3px rgba(39,140,255,.10), 0 10px 28px rgba(39,140,255,.24) !important; }


/* Mobile cabinet entry: always visible beside Download, never hidden in the menu. */
@media (max-width: 980px) {
  .nav-actions .theme-toggle { order: 0; }
  .nav-actions .nav-login {
    display: inline-flex !important;
    order: 1;
    width: auto !important;
    min-width: 78px;
    height: 40px;
    padding: 0 13px !important;
  }
  .nav-actions .nav-login span { display: inline !important; }
  .nav-actions .nav-download { order: 2; }
  .nav-actions .menu-toggle { order: 3; }
  .mobile-nav .mobile-login { display: none !important; }
}
@media (max-width: 600px) {
  .nav-wrap { gap: 8px; }
  .nav-actions { gap: 6px; }
  .nav-actions .nav-login { min-width: 74px; padding-inline: 10px !important; font-size: 12px; }
  .nav-actions .nav-login svg { width: 16px; height: 16px; }
}
@media (max-width: 520px) {
  .site-header .brand-copy { display: none; }
  .site-header .nav-wrap { grid-template-columns: auto 1fr; gap: 6px; }
  .site-header .brand-mark, .site-header .theme-brand-logo { width: 30px; height: 30px; }
  .site-header .nav-actions { gap: 5px; }
  .site-header .theme-toggle,
  .site-header .nav-download,
  .site-header .menu-toggle { width: 38px; height: 38px; }
  .site-header .nav-login { height: 38px; min-width: 70px; padding-inline: 9px !important; }
}
@media (max-width: 360px) {
  .site-header .theme-toggle { display: none; }
}
