/* v43 — interaction contrast, centered authentication and announcement pagination */
/* v43 — interaction contrast, centered authentication and announcement pagination */
::selection{background:rgba(155,124,255,.32);color:#fff}
body.portal-page :focus-visible,body.admin-page :focus-visible,body.public-home :focus-visible{outline:2px solid #a992ff!important;outline-offset:3px}
body.portal-page .wrap:has(>.login),body.portal-page .wrap:has(>.panel.login){width:min(calc(100% - 32px),620px)!important;max-width:620px!important;margin:clamp(24px,6vh,64px) auto 58px!important;padding:0!important}
body.portal-page .login,body.portal-page .panel.login{width:100%;max-width:100%;margin:0 auto!important;box-sizing:border-box}
body.portal-page .login form{display:grid;gap:14px}
body.portal-page .login label{display:grid;gap:7px}
body.portal-page .login button{width:100%;max-width:100%}
/* Hover is deliberately subtle: no unexpected bright/white flashes. */
body.portal-page button:hover,body.admin-page button:hover,
body.portal-page a.button-link:hover,body.admin-page a.button-link:hover,
body.portal-page .urlbox button:hover,body.admin-page .admin-nav a:hover{
  background-color:rgba(155,124,255,.13)!important;color:#fff!important;
  border-color:rgba(190,166,255,.48)!important;filter:none!important
}
body.portal-page button.primary:hover,body.admin-page button.primary:hover,
body.portal-page .button-link.primary:hover,body.admin-page .button-link.primary:hover{
  background:linear-gradient(115deg,#a58aff,#7958eb)!important;color:#fff!important
}
body.portal-page button:active,body.admin-page button:active,
body.portal-page a.button-link:active,body.admin-page a.button-link:active{transform:translateY(0)!important;filter:brightness(.97)!important}
body.portal-page input:hover,body.portal-page select:hover,body.portal-page textarea:hover,
body.admin-page input:hover,body.admin-page select:hover,body.admin-page textarea:hover{
  border-color:rgba(190,178,255,.34)!important;background-color:#111126!important;color:#f7f5ff!important
}
body.portal-page input:focus,body.portal-page select:focus,body.portal-page textarea:focus,
body.admin-page input:focus,body.admin-page select:focus,body.admin-page textarea:focus{
  border-color:#9b7cff!important;box-shadow:0 0 0 3px rgba(155,124,255,.15)!important;outline:none!important
}
body.portal-page option,body.admin-page option{background:#17162e!important;color:#f7f5ff!important}
body.portal-page .stats-grid .stat,body.portal-page .steps>div,
body.portal-page .urlbox,body.portal-page .support-card,
body.portal-page .payment-history,body.portal-page .payment-method{
  background-color:rgba(255,255,255,.035)!important;color:#f2efff!important
}
body.portal-page .stats-grid .stat:hover,body.portal-page .steps>div:hover,
body.portal-page .urlbox:hover,body.portal-page .payment-method:hover{
  background-color:rgba(255,255,255,.045)!important;border-color:var(--ui-border-strong)!important
}
body.public-home .v41-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
body.public-home .v41-news-card{min-width:0;height:100%;display:flex;flex-direction:column;gap:9px;padding:clamp(17px,2vw,22px);border:1px solid var(--ui-border)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(27,26,54,.94),rgba(17,18,37,.97))!important;box-shadow:0 12px 30px rgba(0,0,0,.17)!important;transition:border-color .18s ease,box-shadow .18s ease!important}
body.public-home .v41-news-card:hover{transform:none!important;border-color:rgba(190,166,255,.36)!important;background:linear-gradient(145deg,rgba(27,26,54,.94),rgba(17,18,37,.97))!important;box-shadow:0 14px 34px rgba(0,0,0,.22)!important}
body.public-home .v41-news-card h3{margin:0;color:#fff!important;overflow-wrap:anywhere}
body.public-home .v41-news-card p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
body.public-home .v41-news-card .announcement-preview{margin-top:auto}
body.public-home .news-load-wrap{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}
body.public-home .news-load-wrap #news-load-status{color:#ffb4c1;font-size:13px}
body.public-home #load-announcements{min-width:210px}
body.public-home #load-announcements:disabled{opacity:.65;cursor:wait;transform:none!important}
@media(max-width:900px){body.public-home .v41-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
 body.public-home .v41-news-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 body.public-home .v41-news-card{padding:17px}
 body.portal-page .wrap:has(>.login),body.portal-page .wrap:has(>.panel.login){width:calc(100% - 24px)!important;margin:20px auto 38px!important}
}
/* Prevent legacy light hover/selection states in client and admin data views. */
body.portal-page tbody tr:hover,body.admin-page tbody tr:hover{background:rgba(155,124,255,.075)!important}
body.portal-page tbody tr[aria-selected="true"],body.admin-page tbody tr[aria-selected="true"],
body.portal-page .selected,body.admin-page .selected{background:rgba(155,124,255,.12)!important;color:#fff!important}
body.portal-3xui-page .hero:hover,body.portal-3xui-page .section-card:hover,
body.portal-3xui-page .info-card:hover,body.portal-3xui-page .card:hover,
body.portal-3xui-page .subscription-card:hover,body.portal-3xui-page .traffic-card:hover{
  background:linear-gradient(145deg,rgba(27,26,54,.97),rgba(17,18,37,.98))!important;
  border-color:rgba(190,166,255,.32)!important;transform:none!important
}
body.portal-3xui-page button:hover,body.portal-3xui-page .btn:hover,
body.portal-3xui-page .button:hover,body.portal-3xui-page a.button:hover{
  background:linear-gradient(145deg,#302b53,#211f40)!important;color:#fff!important;
  border-color:rgba(190,166,255,.5)!important;filter:none!important;transform:translateY(-1px)
}
body.portal-3xui-page button.primary:hover,body.portal-3xui-page .btn-primary:hover,
body.portal-3xui-page .primary:hover{background:linear-gradient(115deg,#a58aff,#7958eb)!important}
