﻿/* TwisterBoost final visual system - safe global polish */
:root{
  --tb-bg:#081727;
  --tb-bg2:#10233a;
  --tb-panel:#ffffff;
  --tb-panel-dark:#101f35;
  --tb-text:#071428;
  --tb-muted:#506684;
  --tb-line:#c9d9ed;
  --tb-blue:#3168f4;
  --tb-cyan:#22c7f4;
  --tb-green:#18b978;
  --tb-purple:#7c3cff;
  --tb-danger:#dc2626;
  --tb-radius:14px;
  --tb-shadow:0 18px 42px rgba(9,30,66,.13);
}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:0}
body,button,input,select,textarea{font-size:16px;line-height:1.45}
img,video,canvas,iframe{max-width:100%;height:auto}
button,a,input,select,textarea{min-width:0}
a{color:inherit}
:where(button,.btn,.btnBlue,.btnGreen,.btnGhost,.topBtn,.navBtn,.menuCard,.quickCard,.cardLink){
  min-height:44px;
  border-radius:10px;
  font-weight:900;
  letter-spacing:0;
}
:where(button,.btn,.btnBlue,.btnGreen,.btnGhost,.topBtn,.navBtn){
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease, border-color .16s ease;
}
:where(button,.btn,.btnBlue,.btnGreen,.btnGhost,.topBtn,.navBtn):hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}
:where(input,select,textarea){
  min-height:46px;
  border-radius:10px;
  letter-spacing:0;
}
:where(.card,.panel,.box,.section,.stat,.menuCard,.quickCard,.alertCard){
  border-radius:var(--tb-radius);
}
:where(.brand,.tbBrand,.logo,.topBrand){
  letter-spacing:.02em;
}
.tb-final-logo{
  width:44px;
  height:44px;
  border-radius:12px;
  object-fit:cover;
  box-shadow:0 12px 30px rgba(32,199,244,.22);
  flex:0 0 auto;
}
.tb-final-brand-row{
  display:flex;
  align-items:center;
  gap:12px;
}
.tb-final-page-art{
  background:
    radial-gradient(circle at 12% 0%, rgba(34,199,244,.16), transparent 28%),
    radial-gradient(circle at 95% 12%, rgba(124,60,255,.10), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,247,255,.94));
}
.tb-final-glow{
  box-shadow:0 20px 50px rgba(49,104,244,.18);
}
.tb-final-empty{
  border:1px dashed rgba(49,104,244,.35);
  background:rgba(49,104,244,.06);
  color:#29415f;
  padding:18px;
  border-radius:14px;
}
.tb-bottom-nav,.mobileBar{
  max-width:min(720px, calc(100vw - 20px));
  margin-inline:auto;
}
@media (max-width:1200px){
  :where(.main,.content,.container,.wrap){max-width:100%;min-width:0}
  :where(.grid,.cards,.catalog,.quickGrid,.stats){min-width:0}
}
@media (max-width:900px){
  body{font-size:16px}
  :where(.shell,.layout,.app,.page){min-width:0}
  :where(.main,.content,.container,.wrap){padding-left:14px!important;padding-right:14px!important}
  :where(h1,.title){font-size:clamp(30px,9vw,44px)!important;line-height:1.05!important}
  :where(h2){font-size:clamp(23px,6vw,32px)!important}
  :where(h3){font-size:clamp(19px,5vw,24px)!important}
  :where(.subtitle,.small,p){font-size:15px!important}
  :where(.side,.sidebar,aside){max-width:100%;min-width:0}
  :where(.card,.panel,.box,.section){padding:16px!important}
  :where(.topStats,.stats,.quickGrid,.cards,.grid){grid-template-columns:1fr!important}
  :where(.catalog){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  :where(button,.btn,.btnBlue,.btnGreen,.btnGhost,.topBtn,.navBtn){font-size:15px!important}
}
@media (max-width:520px){
  :where(.catalog){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  :where(.productImg){height:132px!important}
  :where(.productName){font-size:15px!important}
  :where(.toolbar){grid-template-columns:1fr!important}
  :where(.hero,.header,.topbar){align-items:flex-start!important}
}

/* Bottom navigation visibility fix */
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav){
  background:rgba(6,19,38,.96)!important;
  border:1px solid rgba(122,167,231,.45)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.32)!important;
  backdrop-filter:blur(14px);
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav) :where(a,button){
  color:#dceaff!important;
  opacity:1!important;
  text-shadow:none!important;
  font-weight:950!important;
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav) :where(svg,i,.icon,span){
  color:#eaf3ff!important;
  opacity:1!important;
  fill:none;
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav) :where(a.active,button.active,.active){
  color:#ffffff!important;
  background:linear-gradient(135deg,#3168f4,#5c82ff)!important;
  box-shadow:0 10px 26px rgba(49,104,244,.38)!important;
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav) :where(a:not(.active),button:not(.active)){
  background:rgba(255,255,255,.04)!important;
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav) :where(a:not(.active):hover,button:not(.active):hover){
  background:rgba(255,255,255,.10)!important;
}
@media (max-width:900px){
  :where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav){
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    width:auto!important;
  }
}

/* Hard contrast fix for dark pages and bottom navigation */
body{color:#f8fbff!important;}
:where(.small,.sub,.muted,.hint,.pagerInfo,.resumenLabel,.subtitle){
  color:#c9d8ee!important;
  opacity:1!important;
}
:where(.msg,.card,.panel,.box,.section,.item,.resumenItem){
  color:#f8fbff!important;
}
:where(.msg.info){color:#dbeafe!important;}
:where(.msg.ok){color:#d8ffe9!important;}
:where(.msg.error){color:#ffe1e1!important;}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav,.tbMobileBar,.bottomTabs,.bottom-tabs,.tabbar,.navBottom,.nav-bottom){
  background:#071326!important;
  border:1px solid #9fc5ff!important;
  box-shadow:0 18px 50px rgba(0,0,0,.45)!important;
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav,.tbMobileBar,.bottomTabs,.bottom-tabs,.tabbar,.navBottom,.nav-bottom) *{
  color:#eaf3ff!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:0 1px 2px rgba(0,0,0,.35)!important;
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav,.tbMobileBar,.bottomTabs,.bottom-tabs,.tabbar,.navBottom,.nav-bottom) :where(a,button){
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(180,211,255,.18)!important;
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav,.tbMobileBar,.bottomTabs,.bottom-tabs,.tabbar,.navBottom,.nav-bottom) :where(a.active,button.active,.active){
  background:linear-gradient(135deg,#3168f4,#6f8cff)!important;
  border-color:#8db2ff!important;
}
:where(.bottomNav,.mobileBar,.tb-bottom-nav,.bottom-nav,.bottomMenu,.mobile-nav,.tbMobileBar,.bottomTabs,.bottom-tabs,.tabbar,.navBottom,.nav-bottom) :where(a.active,button.active,.active) *{
  color:#ffffff!important;
}

/* FINAL NAV CONTRAST FIX - tbProNav real class */
body.tbProLoaded .tbProNav{
  background:#071326!important;
  border:1px solid #b7d5ff!important;
  box-shadow:0 22px 70px rgba(0,0,0,.55)!important;
}
body.tbProLoaded .tbProNav button{
  color:#eff7ff!important;
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(190,212,255,.26)!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.tbProLoaded .tbProNav button *{
  color:#eff7ff!important;
  opacity:1!important;
  text-shadow:none!important;
  visibility:visible!important;
}
body.tbProLoaded .tbProNav button .tbSvgIcon{
  color:#ffffff!important;
  stroke:#ffffff!important;
  opacity:1!important;
}
body.tbProLoaded .tbProNav button span:last-child{
  color:#ffffff!important;
  font-size:12px!important;
  font-weight:1000!important;
  opacity:1!important;
}
body.tbProLoaded .tbProNav button.active,
body.tbProLoaded .tbProNav button:hover{
  background:linear-gradient(135deg,#3168f4,#6f8cff)!important;
  border-color:#9fc0ff!important;
  color:#ffffff!important;
}
body.tbProLoaded p,
body.tbProLoaded .small,
body.tbProLoaded small,
body.tbProLoaded .sub,
body.tbProLoaded .subtitle,
body.tbProLoaded .muted,
body.tbProLoaded .resumenLabel,
body.tbProLoaded .pagerInfo,
body.tbProLoaded #listaTickets,
body.tbProLoaded #lista,
body.tbProLoaded .empty,
body.tbProLoaded .msg{
  color:#dceaff!important;
  opacity:1!important;
}
body.tbProLoaded .resumenValue,
body.tbProLoaded .resumenValue span{
  color:#ffffff!important;
  opacity:1!important;
}

/* FINAL TEXT WHITE FIX FOR DARK UI */
body.tbProLoaded,
body.tbProLoaded :where(.card,.panel,.box,.section,.item,.resumenItem,.msg,.codeBox),
body.tbProLoaded :where(label,.small,.muted,.subtitle,.resumenLabel,.pagerInfo,p,span,b,strong,h1,h2,h3,h4){
  color:#ffffff!important;
  opacity:1!important;
}
body.tbProLoaded :where(input,select,textarea){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  caret-color:#ffffff!important;
  background:#071326!important;
  border-color:#58d7ff!important;
  opacity:1!important;
}
body.tbProLoaded :where(input::placeholder,textarea::placeholder){
  color:#d9e8ff!important;
  opacity:1!important;
}
body.tbProLoaded select option{
  color:#ffffff!important;
  background:#111827!important;
}
body.tbProLoaded :where(.resumenValue,.resumenValue span,#statTickets,#statAbiertos,#statRevision,#statResueltos,#statPagina,#statActivas,#statPorVencer,#statVencidas){
  color:#ffffff!important;
  background:transparent!important;
  opacity:1!important;
}
body.tbProLoaded :where(#listaTickets,#listaTickets *,#lista,#lista *,#listaSuscripciones,#listaSuscripciones *){
  color:#ffffff!important;
  opacity:1!important;
}
body.tbProLoaded :where(.msg.info,.msg.ok,.msg.error,.msg.warn,.info,.ok,.error,.warn){
  color:#ffffff!important;
}
