
/* IPG user-side unified visual/responsive layer.
   Keeps game-specific semantic colours intact while aligning site chrome
   with the admin blue family and preventing page-level horizontal overflow. */
:root{
  --ipg-primary:#2563eb!important;
  --ipg-primary2:#0ea5e9!important;
  --ipg-primary-hover:#1d4ed8!important;
  --ipg-primary-soft:rgba(37,99,235,.12)!important;
  --purple:#2563eb!important;
  --purple2:#0ea5e9!important;
  --purple-2:#0ea5e9!important;
  --primary:#2563eb!important;
  --primary2:#0ea5e9!important;
}
html,body{
  max-width:100%!important;
  overflow-x:hidden!important;
}
*,
*::before,
*::after{box-sizing:border-box}
body{
  font-weight:600;
  text-rendering:optimizeLegibility;
  -webkit-text-size-adjust:100%;
}
button,
input,
select,
textarea,
a{font-weight:700}
h1,h2,h3,h4,h5,h6,strong,b{font-weight:900}
img,video,iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
.ipg-header,
.header,
.topbar,
.site-header,
.page-top,
.dashboard-main,
.dashboard-inner,
.main,
.wrap,
.container{
  min-width:0!important;
  max-width:100%;
}
.ipg-page-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.ipg-account-logout,
.ipg-logout-btn{
  border-color:rgba(239,68,68,.28)!important;
  color:#dc2626!important;
}
.ipg-password-box{margin-top:16px}
.ipg-password-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}
.ipg-password-input{position:relative;min-width:0}
.ipg-password-input .form-control{padding-right:46px!important;width:100%!important}
.ipg-eye-btn{
  position:absolute;
  top:50%;
  right:6px;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--ipg-primary)!important;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.ipg-password-submit .btn-main{min-height:46px;white-space:nowrap}
@media(max-width:900px){
  .ipg-password-grid{grid-template-columns:1fr 1fr}
  .ipg-password-submit{grid-column:1/-1}
  .ipg-password-submit .btn-main{width:100%}
}
@media(max-width:600px){
  body{font-size:15px}
  .ipg-password-grid{grid-template-columns:1fr}
  .ipg-password-submit{grid-column:auto}
  .ipg-page-actions{width:100%;justify-content:flex-start}
  button,
  .btn,
  .btn-main,
  .btn-soft{font-weight:850}
  .dashboard-inner,
  .section-body,
  .section-box,
  .profile-card{min-width:0!important;max-width:100%!important}
}
@media(max-width:390px){
  body{font-size:14px}
  .ipg-page-actions>*{flex:1 1 auto;text-align:center;justify-content:center}
}

/* Portal/dashboard chrome follows the admin blue family. */
body.ipg-user-portal{
  background:radial-gradient(circle at 8% 0%,rgba(61,140,245,.11),transparent 30%),radial-gradient(circle at 92% 90%,rgba(37,99,235,.08),transparent 32%),var(--bg,var(--ipg-bg,#f5f7fb))!important;
}
body.ipg-user-portal .btn-main,
body.ipg-user-portal .ipg-download-link{
  background:linear-gradient(135deg,#2563eb,#3d8cf5)!important;
  border-color:transparent!important;
  color:#fff!important;
  font-weight:900!important;
}
body.ipg-user-portal .sidebar-link.active,
body.ipg-user-portal .mobile-menu-card.active{
  color:#2563eb!important;
  border-color:rgba(37,99,235,.28)!important;
}
