:root{
  --ap-shell-max: 1500px;
}

/* ============================================================
   v18: premium shell for header/footer on auth + cabinet pages
   ============================================================ */
.pc-header{
  width:min(var(--ap-shell-max), calc(100% - 32px)) !important;
  margin:14px auto 14px !important;
  padding:12px 18px !important;
  min-height:74px !important;
  height:auto !important;
  top:14px !important;
  border-radius:26px !important;
  border:1px solid rgba(122, 196, 233, .12) !important;
  background:linear-gradient(180deg, rgba(7, 20, 34, .96), rgba(6, 18, 31, .92)) !important;
  box-shadow:0 22px 58px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255,255,255,.03) !important;
  backdrop-filter:blur(18px);
}

.pc-header::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 50%, rgba(49,124,230,.12), transparent 32%),
    radial-gradient(circle at 86% 50%, rgba(44,197,215,.08), transparent 28%);
}

.pc-header > *{
  position:relative;
  z-index:1;
}

.pc-header__left{ gap:14px !important; }
.pc-header__right{ gap:8px !important; }
.pc-brand{
  min-width:230px !important;
  gap:13px !important;
}
.pc-brand__mark{
  filter:drop-shadow(0 10px 18px rgba(34,124,211,.24)) !important;
}
.pc-brand__text b{ font-size:19px !important; }
.pc-brand__text small{ opacity:.92; }

.pc-topnav{
  gap:8px !important;
}
.pc-topnav a,
.pc-admin-link,
.pc-logout,
.pc-login,
.pc-register,
.adsrek-theme-toggle--cabinet{
  min-height:42px !important;
  border-radius:15px !important;
}
.pc-topnav a,
.pc-login,
.pc-logout{
  padding:0 16px !important;
  background:rgba(19, 39, 61, .78) !important;
  border-color:rgba(126, 185, 220, .10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.pc-topnav a:hover,
.pc-topnav a.is-active,
.pc-login:hover,
.pc-logout:hover{
  background:rgba(31, 61, 95, .92) !important;
  border-color:rgba(101, 198, 234, .22) !important;
  color:#f3fbff !important;
}
.pc-topnav a.is-active{
  box-shadow:inset 0 -2px 0 #43d5e9, 0 10px 20px rgba(31, 87, 146, .18) !important;
}
.pc-admin-link{
  padding:0 16px !important;
  background:linear-gradient(135deg, rgba(141,96,29,.9), rgba(194,133,40,.88)) !important;
  border-color:rgba(255, 214, 153, .18) !important;
  color:#fff2d8 !important;
  box-shadow:0 10px 24px rgba(143, 94, 20, .24) !important;
}
.pc-register{
  padding:0 18px !important;
  background:linear-gradient(135deg,#367ce0,#21c7df) !important;
  border-color:rgba(185,244,255,.18) !important;
  box-shadow:0 12px 28px rgba(31, 121, 201, .24) !important;
}
.pc-register:hover{ transform:translateY(-1px); }

.ap-lang-switch{
  padding:4px !important;
  border-radius:16px !important;
  background:rgba(16, 34, 53, .82) !important;
  border:1px solid rgba(122, 196, 233, .10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.adsrek-theme-toggle--cabinet{
  width:42px !important;
  height:42px !important;
  border:1px solid rgba(122, 196, 233, .10) !important;
  background:rgba(16, 34, 53, .82) !important;
}

.pc-footer{
  width:min(var(--ap-shell-max), calc(100% - 32px)) !important;
  margin:18px auto 26px !important;
  padding:18px 24px !important;
  border-radius:24px !important;
  border:1px solid rgba(122, 196, 233, .10) !important;
  background:linear-gradient(180deg, rgba(7,20,34,.92), rgba(7,18,31,.9)) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.03) !important;
  grid-template-columns:auto minmax(280px,1fr) auto !important;
  gap:18px !important;
  align-items:center !important;
}
.pc-footer__brand{
  padding:8px 10px;
  border-radius:18px;
  background:rgba(15, 31, 50, .48);
  border:1px solid rgba(120, 184, 220, .07);
}
.pc-footer__copy{
  font-size:12px !important;
  color:#8ea7b7 !important;
}
.pc-footer nav{
  gap:16px !important;
  flex-wrap:wrap;
}
.pc-footer a{
  color:#8aa7bd !important;
  font-size:12px !important;
}
.pc-footer a:hover{ color:#effbff !important; }

.page-login .pc-app,
.page-register .pc-app,
.page-recovery .pc-app{
  min-height:100vh;
}
.page-login .pc-auth-layout,
.page-register .pc-auth-layout,
.page-recovery .pc-auth-layout{
  padding-top:20px !important;
  padding-bottom:18px !important;
}
.page-login .pc-footer,
.page-register .pc-footer,
.page-recovery .pc-footer{
  margin-top:auto !important;
}

html[data-theme="light"] .pc-header{
  border-color:rgba(31, 99, 180, .10) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(246,250,255,.98)) !important;
  box-shadow:0 18px 44px rgba(36, 71, 114, .10), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
html[data-theme="light"] .pc-header::before{
  background:
    radial-gradient(circle at 14% 50%, rgba(49,124,230,.09), transparent 32%),
    radial-gradient(circle at 86% 50%, rgba(44,197,215,.07), transparent 28%);
}
html[data-theme="light"] .pc-topnav a,
html[data-theme="light"] .pc-login,
html[data-theme="light"] .pc-logout,
html[data-theme="light"] .ap-lang-switch,
html[data-theme="light"] .adsrek-theme-toggle--cabinet{
  background:rgba(23, 105, 232, .05) !important;
  border-color:rgba(23, 105, 232, .08) !important;
}
html[data-theme="light"] .pc-topnav a:hover,
html[data-theme="light"] .pc-topnav a.is-active,
html[data-theme="light"] .pc-login:hover,
html[data-theme="light"] .pc-logout:hover{
  background:rgba(23, 105, 232, .10) !important;
  border-color:rgba(23, 105, 232, .14) !important;
  color:#10263e !important;
}
html[data-theme="light"] .pc-footer{
  border-color:rgba(31, 99, 180, .08) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(246,250,255,.98)) !important;
  box-shadow:0 16px 40px rgba(36, 71, 114, .08), inset 0 1px 0 rgba(255,255,255,.86) !important;
}
html[data-theme="light"] .pc-footer__brand{
  background:rgba(23, 105, 232, .04);
  border-color:rgba(23, 105, 232, .06);
}
html[data-theme="light"] .pc-footer__copy{ color:#607b93 !important; }
html[data-theme="light"] .pc-footer a{ color:#496883 !important; }
html[data-theme="light"] .pc-footer a:hover{ color:#17314b !important; }

@media(max-width:1120px){
  .pc-header,
  .pc-footer{
    width:calc(100% - 24px) !important;
  }
  .pc-header{ padding:10px 14px !important; }
}

@media(max-width:840px){
  .pc-footer{
    grid-template-columns:1fr !important;
    justify-items:flex-start !important;
    gap:12px !important;
  }
  .pc-footer__copy{ text-align:left !important; }
}

@media(max-width:680px){
  .pc-header{
    width:calc(100% - 18px) !important;
    margin:10px auto 10px !important;
    padding:10px 12px !important;
    border-radius:20px !important;
    min-height:66px !important;
  }
  .pc-header__right{ gap:6px !important; }
  .pc-topnav{ display:none !important; }
  .pc-footer{
    width:calc(100% - 18px) !important;
    padding:14px 16px !important;
    border-radius:20px !important;
    margin:14px auto 18px !important;
  }
  .pc-footer__brand{
    width:100%;
    justify-content:flex-start;
  }
}


/* v19: remove awkward guest sidebar on help page */
body.is-guest.page-faq .pc-workspace{
  grid-template-columns:minmax(0,1fr) !important;
  max-width:1280px !important;
}
body.is-guest.page-faq .pc-sidebar,
body.is-guest.page-faq .pc-sidebar-backdrop{
  display:none !important;
}
body.is-guest.page-faq .pc-content{
  max-width:100% !important;
}
body.is-guest.page-faq .pc-page-head{
  margin-top:6px !important;
}
body.is-guest.page-faq .pc-content-card{
  min-height:auto !important;
}
@media(max-width:1120px){
  body.is-guest.page-faq .pc-workspace{
    width:calc(100% - 24px) !important;
    padding:12px 0 0 !important;
  }
}
@media(max-width:680px){
  body.is-guest.page-faq .pc-workspace{
    width:calc(100% - 16px) !important;
  }
}

/* v18.1 — cabinet header must not cover scrolled page content */
@media (min-width:1121px){
  body.is-auth .pc-header{
    position:relative!important;
    top:auto!important;
  }
  body.is-auth .pc-sidebar{
    top:20px!important;
    height:calc(100vh - 40px)!important;
  }
}
