/* VOXGAB Patch 45 — login/auth shell */
html,body{min-height:100%;background:#061421!important}
body{margin:0;background:
 radial-gradient(circle at 50% 18%,rgba(0,159,229,.11),transparent 30%),
 linear-gradient(180deg,#061421 0%,#06131f 100%)!important;color:#f4f8fc;font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
#wrap_login{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:42px 24px;box-sizing:border-box}
#container_login.background_login{position:relative!important;inset:auto!important;margin:0!important;width:min(900px,calc(100vw - 48px))!important;max-width:900px!important;min-height:430px;height:auto!important;padding:38px 48px 42px!important;box-sizing:border-box;border:1px solid rgba(56,141,204,.25)!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(9,29,46,.98),rgba(7,21,34,.98))!important;box-shadow:0 28px 80px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.025)!important;overflow:hidden}
#container_login:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(circle at 16% 4%,rgba(0,183,255,.09),transparent 28%)}
#header_login{position:relative;width:100%!important;height:76px!important;margin:0!important;padding:0 0 24px!important;border-bottom:1px solid rgba(125,169,202,.16)!important;background:none!important;box-sizing:border-box}
#header_login .voxgab-login-logo{display:block;height:auto!important;width:210px!important;max-width:55vw;object-fit:contain}
#content_login{position:relative;width:100%!important;max-width:none!important;padding:26px 0 0!important;margin:0!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.92fr);gap:72px;align-items:start;box-sizing:border-box}
#login_error{grid-column:1/-1;width:100%!important;margin:0!important;min-height:0;height:auto!important}
#login_error_inside{min-height:0;color:#ff8092!important;font-size:13px!important;font-weight:650;margin:0 0 6px}
#content_login_left,#content_login_right{width:auto!important;min-width:0!important;max-width:none!important;float:none!important;margin:0!important}
.login_form{width:100%!important}
.login_label{margin:0;padding:0 0 8px!important;font-size:15px!important;line-height:1.25;font-weight:750;color:#edf6ff!important}
.login_form .input_data,.login_select,#content_login input[type=text],#content_login input[type=password],#content_login input[type=email],#content_login select,#content_login textarea{display:block;width:100%!important;box-sizing:border-box;min-height:48px;padding:11px 13px!important;border-radius:10px!important;border:1px solid rgba(77,139,184,.27)!important;background:#10283b!important;color:#f5faff!important;box-shadow:inset 0 1px rgba(255,255,255,.025)!important;font-size:15px!important;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
#content_login input:focus,#content_login select:focus,#content_login textarea:focus{border-color:#13b9f1!important;box-shadow:0 0 0 3px rgba(19,185,241,.11)!important;background:#102d43!important}
.forgot_password{display:inline-block!important;margin:10px 0 16px!important;padding:0!important;color:#34cdf7!important;font-size:14px!important;font-weight:650;cursor:pointer;text-transform:none}
.forgot_password:hover{color:#7de5ff!important}
#login_control{display:grid!important;grid-template-columns:1fr!important;gap:10px;height:auto!important;width:100%!important}
#login_button,#login_register,#register_button,#recovery_button,#newpass_button,#back_login,#guest_button,#guest_ok,.bridge_button,.bridge_button2,#login_login{float:none!important;width:100%!important;height:48px!important;min-height:48px;margin:0!important;border-radius:10px!important;box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(62,145,204,.26)!important;background:#10283b!important;color:#f7fbff!important;font-size:15px!important;font-weight:800!important;transition:transform .15s,filter .15s,border-color .15s,background .15s}
#login_button,#register_button,#recovery_button,#newpass_button{background:linear-gradient(135deg,#147ff7,#10b9ef)!important;border-color:#2bbcf5!important;box-shadow:0 10px 28px rgba(12,129,230,.18)!important}
#login_register,#login_login,#back_login,#guest_button,#guest_ok,.bridge_button,.bridge_button2{background:#122a3d!important}
#login_button:hover,#login_register:hover,#register_button:hover,#recovery_button:hover,#newpass_button:hover,#back_login:hover,#guest_button:hover,#guest_ok:hover,.bridge_button:hover,.bridge_button2:hover,#login_login:hover{filter:brightness(1.08);transform:translateY(-1px);border-color:#29bff6!important}
#login_button p,#login_register p,#register_button p,#recovery_button p,#newpass_button p,#back_login p,#guest_button p,#guest_ok p,.bridge_button p,.bridge_button2 p,#login_login p{padding:0!important;margin:0!important;line-height:1!important;color:inherit!important;font-size:inherit!important;font-weight:inherit!important}
#content_login_right{padding-top:1px}
#login_welcome{margin:0!important;padding:0 0 22px!important;border-bottom:1px solid rgba(125,169,202,.16)!important}
#login_welcome h3{margin:0 0 8px!important;color:#48d5ff!important;font-size:18px!important;font-weight:800}
#login_welcome p{margin:0!important;color:#c0d0dd!important;font-size:15px!important;line-height:1.55}
#login_member_online{margin-top:22px!important;padding:0!important;border:0!important}
.member_login{margin:0!important;padding:0!important;color:#f5f9fd!important;font-size:19px!important;font-weight:800}
.member_login .sub_color{color:#40cff7!important}
#content_login .sub_color{color:#42cff8!important}
#content_login .top_separator,#content_login .bottom_separator{border-color:rgba(125,169,202,.16)!important}
#login_sexe,#login_age{width:48%!important}
#content_login .rules_link{color:#45d2fb!important}
#content_login .clear{display:block;clear:both}
#rules_box{font-family:Inter,"Segoe UI",Arial,sans-serif}
/* logout entry belongs to the same navigation language */
.voxgab-side-logout{margin-top:6px!important;color:#b9d4e7!important}
.voxgab-side-logout:hover{color:#fff!important;background:rgba(255,96,112,.08)!important}
.voxgab-side-logout i{color:#ff7e8d!important}
@media(max-width:720px){
 #wrap_login{align-items:flex-start;padding:18px 14px}
 #container_login.background_login{width:100%!important;max-width:520px!important;min-height:0!important;padding:26px 22px 30px!important;border-radius:17px!important}
 #header_login{height:67px!important;padding-bottom:18px!important}
 #header_login .voxgab-login-logo{width:176px!important}
 #content_login{grid-template-columns:1fr;gap:26px;padding-top:22px!important}
 #content_login_right{padding-top:2px}
 #login_welcome{padding-bottom:18px!important}
}
@media(max-width:380px){
 #wrap_login{padding:0}
 #container_login.background_login{min-height:100vh!important;border-radius:0!important;border-left:0!important;border-right:0!important;padding:24px 18px 30px!important}
}

/* VOXGAB login compact view — approved Phase 4A mockup.
   Scoped by the live online counter so registration/recovery layouts keep their own geometry. */
#container_login.background_login:has(#login_member_online){
 width:min(540px,calc(100vw - 48px))!important;
 max-width:540px!important;
 min-height:0!important;
 padding:32px 42px 38px!important;
}
#container_login:has(#login_member_online) #header_login{
 height:auto!important;
 min-height:76px!important;
 padding:0 0 22px!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
}
#container_login:has(#login_member_online) #header_login .voxgab-login-logo{
 width:235px!important;
 max-width:72vw!important;
 margin:0 auto!important;
}
#content_login:has(#login_member_online){
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 margin:0!important;
 padding:16px 0 0!important;
}
#content_login:has(#login_member_online) #login_error{
 width:100%!important;
 margin:0!important;
}
#content_login:has(#login_member_online) #login_error_inside{
 text-align:center!important;
 margin:0!important;
}
#content_login:has(#login_member_online) #login_member_online{
 margin:0 0 26px!important;
 padding:0!important;
 border:0!important;
 text-align:center!important;
}
#content_login:has(#login_member_online) #login_member_online .member_login{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:7px!important;
 margin:0!important;
 padding:0!important;
 color:#f5f9fd!important;
 font-size:16px!important;
 line-height:1.25!important;
 font-weight:800!important;
}
#content_login:has(#login_member_online) #login_member_online .member_login:before{
 content:"";
 display:inline-block;
 width:9px;
 height:9px;
 flex:0 0 9px;
 border-radius:50%;
 background:#18d77d;
 box-shadow:0 0 12px rgba(24,215,125,.72);
}
#content_login:has(#login_member_online) #login_member_online .sub_color{
 color:#d9e7f2!important;
 font-weight:500!important;
}
#content_login:has(#login_member_online) #content_login_left{
 float:none!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
}
#content_login:has(#login_member_online) .login_form{
 width:100%!important;
 max-width:none!important;
 margin:0!important;
}
#content_login:has(#login_member_online) .login_label{
 display:block!important;
 position:static!important;
 width:auto!important;
 height:auto!important;
 overflow:visible!important;
 clip:auto!important;
 margin:0!important;
 padding:0 0 7px!important;
 font-size:14px!important;
 line-height:1.25!important;
}
#content_login:has(#login_member_online) .input_data{
 min-height:50px!important;
 margin:0 0 14px!important;
 padding:11px 14px!important;
}
#content_login:has(#login_member_online) .forgot_password{
 display:inline-block!important;
 margin:0 0 17px!important;
 padding:0!important;
 text-align:left!important;
 font-size:13px!important;
 line-height:1.3!important;
}
#content_login:has(#login_member_online) #login_control{
 display:grid!important;
 grid-template-columns:1fr!important;
 gap:9px!important;
 width:100%!important;
}
#content_login:has(#login_member_online) #login_control:before{
 display:none!important;
 content:none!important;
}
#content_login:has(#login_member_online) #login_button,
#content_login:has(#login_member_online) #login_register{
 min-height:50px!important;
 height:50px!important;
 margin:0!important;
}
#content_login:has(#login_member_online) .bridge_button,
#content_login:has(#login_member_online) .bridge_button2{
 margin-top:9px!important;
}
#container_login:has(#login_member_online) #header_login:after{
 display:none!important;
 content:none!important;
}

@media(max-width:768px){
 #wrap_login:has(#login_member_online){
  align-items:center!important;
  padding:18px 14px!important;
 }
 #container_login.background_login:has(#login_member_online){
  width:min(500px,calc(100vw - 28px))!important;
  max-width:500px!important;
  min-height:0!important;
  padding:26px 24px 30px!important;
  border:1px solid rgba(56,141,204,.25)!important;
  border-radius:18px!important;
  box-shadow:0 24px 64px rgba(0,0,0,.34)!important;
 }
 #container_login:has(#login_member_online):before{
  display:block!important;
 }
 #container_login:has(#login_member_online) #header_login{
  min-height:66px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid rgba(125,169,202,.16)!important;
 }
 #container_login:has(#login_member_online) #header_login .voxgab-login-logo{
  width:min(210px,68vw)!important;
 }
 #content_login:has(#login_member_online){
  max-width:none!important;
  margin:0!important;
  padding-top:15px!important;
 }
 #content_login:has(#login_member_online) #login_member_online{
  margin-bottom:22px!important;
 }
 #content_login:has(#login_member_online) .input_data{
  min-height:50px!important;
  padding:11px 13px!important;
  margin-bottom:13px!important;
  background-image:none!important;
 }
 #content_login:has(#login_member_online) .forgot_password{
  display:inline-block!important;
  margin:0 0 16px!important;
  text-align:left!important;
  font-size:13px!important;
 }
}
@media(max-width:380px){
 #wrap_login:has(#login_member_online){padding:10px!important}
 #container_login.background_login:has(#login_member_online){
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  border:1px solid rgba(56,141,204,.25)!important;
  border-radius:16px!important;
  padding:22px 18px 24px!important;
 }
}
