/* NEXTGEN SYSTEMS 2.1 — Enterprise polish, internal heroes + premium chat */

/* ---------- Compact internal hero redesign ---------- */
body:not(.page-home) .page-hero{
  padding:30px 0 24px!important;
  background:
    radial-gradient(circle at 72% 14%,rgba(0,175,255,.13),transparent 30%),
    radial-gradient(circle at 18% 8%,rgba(36,213,255,.08),transparent 28%),
    linear-gradient(180deg,#020c15 0%,#041523 62%,#051827 100%)!important;
}
body:not(.page-home) .page-hero-grid{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  gap:28px!important;
  min-height:auto!important;
  align-items:center!important;
}
body:not(.page-home) .page-hero h1{
  max-width:600px!important;
  font-size:clamp(34px,3.2vw,50px)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
  margin-top:12px!important;
}
body:not(.page-home) .page-hero .kicker{
  font-size:10px!important;
  letter-spacing:.22em!important;
  color:#4ad8ff!important;
}
.internal-hero-card{
  min-height:292px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(84,207,255,.24);
  background:linear-gradient(180deg,rgba(7,23,36,.97),rgba(5,19,30,.98));
  box-shadow:0 24px 64px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);
}
.internal-hero-media{
  position:relative;
  min-height:170px;
  padding:16px 16px 14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background-image:
    linear-gradient(180deg,rgba(5,15,26,.28),rgba(4,14,24,.72)),
    var(--hero-card-image);
  background-size:cover;
  background-position:center;
}
.internal-hero-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:90px;
  background:linear-gradient(180deg,rgba(4,14,24,0),rgba(4,14,24,.92));
  pointer-events:none;
}
.internal-hero-chip,
.internal-hero-stack span,
.internal-hero-points span{
  position:relative;
  z-index:1;
}
.internal-hero-chip{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(93,220,255,.25);
  background:rgba(3,18,30,.72);
  backdrop-filter:blur(10px);
  color:#eefbff;
  font-size:10px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
.internal-hero-chip::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#55e0ff;
  box-shadow:0 0 14px rgba(85,224,255,.75);
}
.internal-hero-stack{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.internal-hero-stack span{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(94,219,255,.16);
  background:rgba(3,18,31,.58);
  color:#dff7ff;
  font-size:11px;
  font-weight:700;
  backdrop-filter:blur(10px);
}
.internal-hero-copy{
  display:grid;
  gap:14px;
  padding:18px 20px 20px;
}
.internal-hero-copy p{
  margin:0!important;
  color:#cfdee6!important;
  font-size:13px!important;
  line-height:1.64!important;
}
.internal-hero-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.internal-hero-points span{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-height:100%;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid rgba(85,208,255,.12);
  background:linear-gradient(180deg,rgba(8,31,47,.92),rgba(5,21,34,.96));
  color:#ddf3fb;
  font-size:11px;
  line-height:1.45;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.internal-hero-points span::before{
  content:"";
  margin-top:4px;
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#46d7ff;
  box-shadow:0 0 12px rgba(70,215,255,.6);
}

/* ---------- Internal page compact polish ---------- */
body:not(.page-home) .section{padding-top:30px!important;padding-bottom:30px!important}
body:not(.page-home) .section.compact{padding-top:22px!important;padding-bottom:22px!important}
body:not(.page-home) .section-head{margin-bottom:18px!important}
body:not(.page-home) .solution-pro-grid,
body:not(.page-home) .identity-grid,
body:not(.page-home) .contact-360-grid,
body:not(.page-home) .process-grid{gap:16px!important}
body:not(.page-home) .solution-pro-card,
body:not(.page-home) .identity-card,
body:not(.page-home) .contact-side-card,
body:not(.page-home) .contact-form-pro,
body:not(.page-home) .process-card,
body:not(.page-home) .supplier-intro{
  border:1px solid rgba(75,197,245,.16)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.18)!important;
}
.ng6-provider-wall .container{
  border-radius:20px;
  border:1px solid rgba(78,204,255,.14);
  background:linear-gradient(180deg,rgba(6,26,40,.92),rgba(4,18,29,.98));
  box-shadow:0 18px 44px rgba(0,0,0,.2);
}
.ng6-provider-wall strong{letter-spacing:.16em!important;color:#62ddff!important}
.ng6-provider-wall img{filter:brightness(1.08) saturate(1.05)}
.provider-nav a{border-color:rgba(86,202,248,.14)!important;background:rgba(4,22,34,.88)!important;color:#d8f4fc!important}
.provider-nav a:hover{border-color:rgba(86,202,248,.42)!important}

/* ---------- Premium support chat ---------- */
.nextgen-support-fab{
  width:60px!important;
  height:60px!important;
  min-height:60px!important;
  right:20px!important;
  bottom:20px!important;
  border-radius:50%!important;
  border:1px solid rgba(101,226,255,.64)!important;
  background:radial-gradient(circle at 35% 26%,#3de0ff 0%,#1195eb 35%,#06557f 68%,#031f33 100%)!important;
  box-shadow:0 22px 62px rgba(0,23,41,.54),0 0 0 8px rgba(37,188,245,.08),0 0 34px rgba(45,207,255,.22)!important;
}
.nextgen-support-fab::before{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.nextgen-support-fab::after{
  content:"Asistente NextGen"!important;
  right:72px!important;
  bottom:9px!important;
  padding:9px 12px!important;
  border-radius:11px!important;
  border:1px solid rgba(90,212,255,.18)!important;
  background:rgba(3,17,28,.96)!important;
  color:#effbff!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  box-shadow:0 12px 30px rgba(0,0,0,.34)!important;
}
.nextgen-support-panel{
  right:22px!important;
  bottom:92px!important;
  width:min(420px,calc(100vw - 30px))!important;
  height:min(690px,calc(100vh - 114px))!important;
  border-radius:24px!important;
  border:1px solid rgba(83,206,255,.28)!important;
  background:linear-gradient(180deg,#061523 0%,#071b2a 100%)!important;
  box-shadow:0 34px 90px rgba(0,10,20,.6),0 0 40px rgba(25,176,244,.09)!important;
}
.nextgen-support-panel.hidden{transform:translateY(12px) scale(.97)!important}
.ng-chat-head{
  padding:16px 16px 14px!important;
  gap:12px!important;
  background:linear-gradient(135deg,#061a2a 0%,#0a314b 56%,#0e6da0 100%)!important;
  border-bottom:1px solid rgba(93,215,255,.14)!important;
}
.ng-chat-mark{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  border:1px solid rgba(102,223,255,.26)!important;
  background:linear-gradient(145deg,rgba(32,183,235,.18),rgba(7,33,47,.78))!important;
  color:#7ae7ff!important;
  font-size:17px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.ng-chat-head-copy strong{font-size:14px!important;letter-spacing:.01em}
.ng-chat-head-copy small{margin-top:2px!important;font-size:10px!important;color:#c5e4ef!important}
.ng-chat-close{
  width:34px!important;height:34px!important;border-radius:12px!important;
  background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.06)!important;
}
.ng-chat-body{
  padding:14px!important;
  background:
    radial-gradient(circle at 78% 0%,rgba(35,178,242,.08),transparent 28%),
    linear-gradient(180deg,#07131e 0%,#0a1b28 100%)!important;
  color:#d9ecf4!important;
}
.ng-chat-start{display:grid;gap:12px}
.ng-chat-intro-card{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(88,206,255,.16);
  background:linear-gradient(180deg,rgba(10,38,57,.92),rgba(5,22,35,.96));
  box-shadow:0 14px 32px rgba(0,0,0,.2);
}
.ng-chat-intro-card strong{display:block;font-size:13px;color:#f4fcff;margin-bottom:6px}
.ng-chat-intro-card p{margin:0!important;color:#9fbac7!important;font-size:11px!important;line-height:1.55!important}
.ng-chat-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ng-chat-action{
  min-height:54px;border-radius:14px;border:1px solid rgba(86,206,255,.13);
  background:linear-gradient(180deg,rgba(7,28,43,.96),rgba(5,21,33,.98));
  display:grid;place-items:center;text-align:center;padding:8px;color:#dff7ff;font-size:10px;font-weight:800;line-height:1.3;
}
.ng-chat-action span{display:block;color:#6fe0ff;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.ng-chat-start label{margin:2px 0 5px!important;color:#8fb0c1!important;font-size:9px!important;letter-spacing:.12em!important}
.ng-chat-start input,
.ng-chat-start textarea,
.ng-chat-compose textarea{
  border:1px solid rgba(95,200,245,.16)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(7,27,41,.96),rgba(6,23,35,.98))!important;
  color:#ebf8ff!important;
  font-size:11px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.ng-chat-start input{height:42px!important;padding:0 12px!important}
.ng-chat-start textarea{min-height:92px!important;padding:12px!important}
.ng-chat-start input::placeholder,
.ng-chat-start textarea::placeholder,
.ng-chat-compose textarea::placeholder{color:#678395!important}
.ng-chat-start input:focus,
.ng-chat-start textarea:focus,
.ng-chat-compose textarea:focus{
  border-color:rgba(86,212,255,.4)!important;
  box-shadow:0 0 0 3px rgba(38,171,238,.08)!important;
}
.ng-chat-primary,
.ng-chat-send{
  border-radius:14px!important;
  background:linear-gradient(135deg,#0f88d9,#19c2ff)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  box-shadow:0 12px 28px rgba(12,132,194,.18)!important;
}
.ng-chat-primary{min-height:46px!important;margin-top:0!important}
.ng-chat-note{font-size:8.5px!important;color:#698799!important}
.ng-chat-faq{
  margin:0!important;
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid rgba(86,202,248,.14)!important;
  background:linear-gradient(180deg,rgba(10,36,54,.84),rgba(5,20,31,.88))!important;
}
.ng-chat-faq-head{margin-bottom:10px!important}
.ng-chat-faq-head strong{font-size:10px!important;color:#e5f7ff!important}
.ng-chat-faq-head span{font-size:8px!important;color:#7f9aa8!important}
.ng-chat-faq-chips{gap:8px!important}
.ng-chat-faq-chip{
  padding:9px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(90,206,255,.16)!important;
  background:rgba(7,32,48,.9)!important;
  color:#d8f3fd!important;
  font-size:9px!important;
  line-height:1.25!important;
}
.ng-chat-faq-chip:hover{border-color:rgba(94,218,255,.42)!important;background:rgba(10,65,92,.68)!important}
.ng-chat-faq-answer{
  margin-top:10px!important;
  border-radius:14px!important;
  border:1px solid rgba(95,211,255,.16)!important;
  background:rgba(8,54,79,.44)!important;
  color:#cce8f5!important;
  font-size:10px!important;
}
.ng-chat-faq-answer strong{color:#6ce0ff!important}
.ng-chat-status{
  padding:11px 13px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(8,38,56,.94),rgba(6,25,39,.98))!important;
  border:1px solid rgba(88,206,255,.14)!important;
  color:#8eaab8!important;
  font-size:9px!important;
}
.ng-chat-status b{color:#69defd!important}
.ng-chat-messages{gap:10px!important;padding:2px 0 12px!important}
.ng-chat-msg{
  max-width:88%!important;
  padding:11px 12px!important;
  border-radius:16px 16px 16px 6px!important;
  border:1px solid rgba(84,194,240,.12)!important;
  background:linear-gradient(180deg,rgba(9,31,47,.96),rgba(6,23,36,.98))!important;
  box-shadow:0 10px 26px rgba(0,0,0,.12)!important;
}
.ng-chat-msg.mine{
  margin-left:auto!important;
  border-radius:16px 16px 6px 16px!important;
  border-color:rgba(67,199,255,.28)!important;
  background:linear-gradient(180deg,rgba(9,67,98,.96),rgba(7,54,82,.98))!important;
}
.ng-chat-msg.auto{
  border-color:rgba(89,223,186,.18)!important;
  background:linear-gradient(180deg,rgba(7,42,45,.96),rgba(6,30,35,.98))!important;
}
.ng-chat-msg.system{background:rgba(8,24,36,.92)!important;border-color:rgba(255,255,255,.06)!important}
.ng-chat-msg .who{color:#7592a3!important;font-size:8px!important}
.ng-chat-msg .body{color:#e1f4fb!important;font-size:10px!important;line-height:1.58!important}
.ng-chat-compose{
  margin-top:4px;
  padding:12px!important;
  border-top:1px solid rgba(86,202,248,.1)!important;
  background:linear-gradient(180deg,rgba(5,19,30,.96),rgba(4,17,27,.98))!important;
}
.ng-chat-compose-row{gap:10px!important}
.ng-chat-compose textarea{min-height:48px!important;max-height:120px!important;padding:12px!important}
.ng-chat-send{height:46px!important;padding:0 16px!important}
.ng-chat-human{gap:8px!important;margin-top:9px!important}
.ng-chat-human a,.ng-chat-human button{
  min-height:38px!important;
  border-radius:12px!important;
  border:1px solid rgba(89,205,255,.12)!important;
  background:rgba(7,27,41,.96)!important;
  color:#cfeefb!important;
  font-size:9px!important;
}
.ng-chat-loading{padding:34px 12px!important;color:#8ca8b7!important;font-size:10px!important}

/* keep robot visible on internal pages */
.floating-robot-watermark.robot-ai-live{display:block!important;opacity:.32!important;right:18px!important;bottom:100px!important;z-index:80!important}
.floating-robot-watermark.robot-ai-live:hover{opacity:.52!important}
.exact-home-v8 .floating-robot-watermark.robot-ai-live{right:7.8%!important;bottom:13%!important;opacity:.28!important}

@media(max-width:980px){
  body:not(.page-home) .page-hero-grid{grid-template-columns:1fr!important;gap:18px!important}
  .internal-hero-points{grid-template-columns:1fr!important}
}
@media(max-width:650px){
  .internal-hero-media{min-height:154px!important;padding:14px!important}
  .internal-hero-copy{padding:16px!important}
  .ng-chat-actions{grid-template-columns:1fr 1fr 1fr}
  .nextgen-support-fab{right:12px!important;bottom:12px!important;width:54px!important;height:54px!important;min-height:54px!important}
  .nextgen-support-fab::after{display:none!important}
  .nextgen-support-panel{right:7px!important;bottom:74px!important;width:calc(100vw - 14px)!important;height:min(680px,calc(100vh - 86px))!important}
  .floating-robot-watermark.robot-ai-live{width:102px!important;right:8px!important;bottom:80px!important;opacity:.22!important}
}
@media(max-width:520px){
  body:not(.page-home) .page-hero h1{font-size:clamp(30px,11vw,44px)!important}
  .internal-hero-chip{font-size:9px!important}
  .internal-hero-stack{gap:6px!important}
  .internal-hero-stack span{font-size:10px!important;padding:7px 9px!important}
  .ng-chat-actions{grid-template-columns:1fr!important}
}
