/* COBRANÇA ENTERPRISE V1.3.1 - PUBLIC EXPERIENCE */
:root{
  --pub-bg:#060914;
  --pub-surface:#0d1324;
  --pub-surface-2:#111a31;
  --pub-text:#f8fafc;
  --pub-muted:#9cabc2;
  --pub-line:rgba(255,255,255,.11);
  --pub-accent:#745cff;
  --pub-accent-2:#13b8d2;
  --pub-success:#16c79a;
  --pub-shadow:0 30px 80px rgba(0,0,0,.34);
  --pub-radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.public-experience{
  margin:0;
  min-height:100vh;
  color:var(--pub-text);
  background:
    radial-gradient(circle at 82% 18%,rgba(116,92,255,.18),transparent 27%),
    radial-gradient(circle at 12% 10%,rgba(19,184,210,.14),transparent 24%),
    var(--pub-bg);
  font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
body.public-experience a{color:inherit;text-decoration:none}
body.public-experience button,
body.public-experience input{font:inherit}
.public-topbar{
  height:82px;
  padding:0 clamp(20px,7vw,110px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  position:sticky;
  top:0;
  z-index:60;
  border-bottom:1px solid var(--pub-line);
  background:rgba(6,9,20,.82);
  backdrop-filter:blur(20px);
}
.public-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  font-weight:900;
  letter-spacing:-.01em;
}
.public-brand-mark{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(135deg,var(--pub-accent),var(--pub-accent-2));
  box-shadow:0 14px 38px rgba(116,92,255,.34);
}
.public-brand img{
  width:46px;
  height:46px;
  object-fit:contain;
  border-radius:14px;
}
.public-brand-copy{display:grid;line-height:1.08}
.public-brand-copy small{
  margin-top:4px;
  color:#7f8da8;
  font-size:9px;
  letter-spacing:.15em;
}
.public-nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.public-nav-link{
  padding:11px 14px;
  color:#b8c2d4;
  font-weight:700;
  border-radius:13px;
  transition:.22s ease;
}
.public-nav-link:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
}
.public-nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 17px;
  border-radius:14px;
  font-weight:900;
  transition:.22s ease;
}
.public-nav-cta.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--pub-accent),var(--pub-accent-2));
  box-shadow:0 13px 36px rgba(116,92,255,.30);
  animation:publicPulse 2.6s ease-in-out infinite;
}
.public-nav-cta.secondary{
  color:#fff;
  border:1px solid var(--pub-line);
  background:rgba(255,255,255,.05);
}
.public-nav-cta:hover{transform:translateY(-2px)}
.public-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#8d9cff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.public-eyebrow:before{
  content:"";
  width:18px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--pub-accent),var(--pub-accent-2));
}
.public-btn{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 20px;
  border:0;
  border-radius:16px;
  cursor:pointer;
  font-weight:900;
  transition:.22s ease;
}
.public-btn:hover{transform:translateY(-2px)}
.public-btn.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--pub-accent),var(--pub-accent-2));
  box-shadow:0 18px 45px rgba(116,92,255,.28);
}
.public-btn.secondary{
  color:#fff;
  border:1px solid var(--pub-line);
  background:rgba(255,255,255,.05);
}
.public-card{
  border:1px solid var(--pub-line);
  border-radius:var(--pub-radius);
  background:linear-gradient(180deg,rgba(17,26,49,.90),rgba(10,16,31,.90));
  box-shadow:var(--pub-shadow);
  backdrop-filter:blur(18px);
}
.public-field{
  display:grid;
  gap:8px;
  margin-bottom:14px;
  color:#d3dbea;
  font-size:12px;
  font-weight:800;
}
.public-input{
  width:100%;
  min-height:52px;
  padding:14px 16px;
  border:1px solid #2b3551;
  border-radius:16px;
  outline:none;
  color:#fff;
  background:#090f1d;
  transition:.22s ease;
}
.public-input:focus{
  border-color:#7b67ff;
  box-shadow:0 0 0 4px rgba(123,103,255,.15);
}
.public-notice{
  margin:14px 0;
  padding:14px 16px;
  border-radius:16px;
  color:#d8fff5;
  border:1px solid rgba(22,199,154,.45);
  background:rgba(22,199,154,.10);
}
.public-footer{
  padding:26px clamp(20px,7vw,110px) 34px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:#8492aa;
  border-top:1px solid var(--pub-line);
}
.reveal{animation:publicReveal .62s ease both}
.delay-1{animation-delay:.08s}
.delay-2{animation-delay:.16s}
.delay-3{animation-delay:.24s}
@keyframes publicReveal{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes publicFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-11px)}
}
@keyframes publicPulse{
  0%,100%{box-shadow:0 13px 36px rgba(116,92,255,.26)}
  50%{box-shadow:0 18px 50px rgba(19,184,210,.30)}
}
@keyframes publicMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* LANDING PAGE */
.landing-public{background:var(--landing-bg,var(--pub-bg))}
.landing-hero{
  min-height:690px;
  padding:74px clamp(22px,8vw,125px) 52px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:54px;
  align-items:center;
}
.landing-copy h1{
  max-width:850px;
  margin:15px 0 24px;
  font-size:clamp(47px,6vw,86px);
  line-height:.95;
  letter-spacing:-.06em;
}
.landing-copy h1 span{
  color:transparent;
  background:linear-gradient(90deg,var(--landing-text,#fff),var(--landing-accent,#745cff),var(--landing-accent2,#13b8d2));
  -webkit-background-clip:text;
  background-clip:text;
}
.landing-copy>p{
  max-width:720px;
  color:var(--landing-muted,#9cabc2);
  font-size:18px;
  line-height:1.75;
}
.landing-actions{
  margin-top:30px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.landing-actions .main{animation:publicPulse 2.6s ease-in-out infinite}
.landing-mini-pills{
  margin-top:26px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.landing-mini-pills span{
  padding:9px 13px;
  border:1px solid var(--pub-line);
  border-radius:999px;
  color:var(--landing-muted,#9cabc2);
  background:rgba(255,255,255,.04);
  font-size:12px;
  font-weight:800;
}
.landing-visual{
  min-height:450px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--pub-line);
  border-radius:var(--landing-radius,28px);
  background:
    radial-gradient(circle at 50% 50%,rgba(116,92,255,.16),transparent 36%),
    rgba(13,19,36,.78);
  box-shadow:var(--pub-shadow);
}
.landing-visual.image img{
  width:100%;
  height:450px;
  object-fit:cover;
}
.landing-core{
  width:210px;
  height:210px;
  border-radius:50%;
  background:radial-gradient(circle at 31% 27%,#fff,#c6c3ff 10%,var(--landing-accent,#745cff) 34%,#101b43 72%);
  box-shadow:0 0 95px rgba(116,92,255,.55),inset -34px -30px 66px #020617;
  animation:publicFloat 4.7s ease-in-out infinite;
}
.landing-ring{
  position:absolute;
  width:390px;
  height:110px;
  border:9px solid rgba(19,184,210,.25);
  border-radius:50%;
  transform:rotate(-14deg);
  box-shadow:0 0 35px rgba(19,184,210,.16);
}
.landing-chip{
  position:absolute;
  padding:10px 15px;
  border:1px solid var(--pub-line);
  border-radius:999px;
  color:#dce4f4;
  background:rgba(10,16,31,.78);
  backdrop-filter:blur(15px);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  animation:publicFloat 5.8s ease-in-out infinite;
}
.landing-chip.one{top:13%;left:7%}
.landing-chip.two{top:47%;right:4%;animation-delay:.8s}
.landing-chip.three{left:17%;bottom:13%;animation-delay:1.6s}
.landing-clients{
  padding:20px clamp(22px,8vw,125px) 72px;
}
.landing-section-head{
  max-width:780px;
  margin:0 auto 26px;
  text-align:center;
}
.landing-section-head h2{
  margin:8px 0 10px;
  font-size:clamp(30px,4vw,50px);
  letter-spacing:-.04em;
}
.landing-section-head p{margin:0;color:var(--landing-muted,#9cabc2)}
.landing-marquee{
  overflow:hidden;
  padding:20px 0;
  border-top:1px solid var(--pub-line);
  border-bottom:1px solid var(--pub-line);
}
.landing-marquee-track{
  width:max-content;
  display:flex;
  align-items:center;
  gap:18px;
  animation:publicMarquee 26s linear infinite;
}
.landing-client-logo{
  width:182px;
  height:88px;
  display:grid;
  place-items:center;
  padding:12px 18px;
  border:1px solid var(--pub-line);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 30px rgba(0,0,0,.15);
}
.landing-client-logo img{
  max-width:100%;
  max-height:58px;
  object-fit:contain;
}
.landing-section{
  padding:88px clamp(22px,8vw,125px);
}
.landing-features{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.landing-feature{
  padding:28px;
  border:1px solid var(--pub-line);
  border-radius:var(--landing-radius,28px);
  background:linear-gradient(180deg,rgba(17,26,49,.86),rgba(10,16,31,.86));
  transition:.25s ease;
}
.landing-feature:hover{transform:translateY(-5px)}
.landing-feature i{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,var(--landing-accent,#745cff),var(--landing-accent2,#13b8d2));
  font-size:23px;
  font-style:normal;
}
.landing-feature h3{margin:18px 0 8px;font-size:21px}
.landing-feature p{margin:0;color:var(--landing-muted,#9cabc2);line-height:1.75}
.landing-security{
  margin:0 clamp(22px,8vw,125px) 80px;
  padding:38px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  border:1px solid var(--pub-line);
  border-radius:calc(var(--landing-radius,28px) + 5px);
  background:linear-gradient(135deg,rgba(17,26,49,.96),rgba(10,16,31,.96));
}
.landing-security h2{margin:8px 0 10px;font-size:clamp(30px,4vw,50px);letter-spacing:-.04em}
.landing-security p{max-width:760px;margin:0;color:var(--landing-muted,#9cabc2);line-height:1.75}

/* PORTAL AUTOATENDIMENTO */
.portal-main{
  padding:54px clamp(20px,7vw,110px) 44px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  gap:24px;
  align-items:start;
}
.portal-hero-card,
.portal-form-card{
  padding:32px;
}
.portal-hero-card h1{
  margin:12px 0 18px;
  font-size:clamp(40px,5vw,68px);
  line-height:.98;
  letter-spacing:-.05em;
}
.portal-hero-card h1 span{
  color:transparent;
  background:linear-gradient(90deg,#fff,#c9c7ff,#73e7f7);
  -webkit-background-clip:text;
  background-clip:text;
}
.portal-hero-card>p{
  max-width:700px;
  color:var(--pub-muted);
  font-size:17px;
  line-height:1.75;
}
.portal-cards{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.portal-mini-card{
  padding:17px;
  border:1px solid var(--pub-line);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}
.portal-mini-card b{display:block;margin-bottom:5px}
.portal-mini-card small{color:#8f9eb8;line-height:1.55}
.portal-form-card h2{
  margin:7px 0 10px;
  font-size:29px;
  letter-spacing:-.03em;
}
.portal-form-card>p{margin-top:0;color:var(--pub-muted)}
.portal-step-list{
  display:grid;
  gap:11px;
  margin:18px 0;
}
.portal-step{
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:15px;
  border:1px solid var(--pub-line);
  border-radius:18px;
  background:#0a1121;
}
.portal-step-number{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(135deg,var(--pub-accent),var(--pub-accent-2));
  font-weight:900;
}
.portal-step b{display:block;margin:1px 0 4px}
.portal-step small{color:#8f9eb8;line-height:1.5}
.portal-company-link{
  margin-top:16px;
  padding:15px;
  border:1px solid var(--pub-line);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.portal-company-link a{color:#8de9f8;font-weight:900}

/* EMPRESA LOGIN */
.company-login-layout{
  min-height:calc(100vh - 82px);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
}
.company-login-copy{
  padding:58px clamp(24px,7vw,110px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.company-login-copy h1{
  margin:18px 0;
  max-width:800px;
  font-size:clamp(45px,5.8vw,76px);
  line-height:.96;
  letter-spacing:-.06em;
}
.company-login-copy h1 span{
  color:transparent;
  background:linear-gradient(90deg,#fff,#c7c6ff,#70e5f5);
  -webkit-background-clip:text;
  background-clip:text;
}
.company-login-copy>p{
  max-width:720px;
  color:var(--pub-muted);
  font-size:17px;
  line-height:1.75;
}
.company-benefits{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.company-benefit{
  padding:17px;
  border:1px solid var(--pub-line);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}
.company-benefit b{display:block;margin-bottom:5px}
.company-benefit small{color:#8e9db6;line-height:1.55}
.company-login-side{
  padding:42px clamp(24px,7vw,90px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.company-login-card{
  width:min(520px,100%);
  padding:32px;
}
.company-login-card h2{
  margin:7px 0 10px;
  font-size:30px;
  letter-spacing:-.03em;
}
.company-login-card>p{margin-top:0;color:var(--pub-muted)}
.company-login-meta{
  margin-top:14px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:#8998b0;
}
.company-login-meta a{color:#95ebfa;font-weight:800}
.company-selfservice{
  margin-top:18px;
  padding:14px 15px;
  border:1px solid var(--pub-line);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.company-selfservice a{color:#95ebfa;font-weight:900}

@media(max-width:1000px){
  .landing-hero,
  .portal-main,
  .company-login-layout{grid-template-columns:1fr}
  .landing-hero{min-height:auto}
  .landing-features,
  .portal-cards{grid-template-columns:1fr}
  .landing-security{align-items:flex-start;flex-direction:column}
  .company-login-side{padding-top:0}
}
@media(max-width:760px){
  .public-topbar{height:auto;min-height:76px;padding:12px 20px;align-items:flex-start}
  .public-brand-copy b{font-size:12px}
  .public-nav-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}
  .public-nav-link{display:none}
  .public-nav-cta{min-height:40px;padding:9px 11px;font-size:12px}
  .landing-hero{padding:45px 22px 40px}
  .landing-visual{min-height:330px}
  .landing-visual.image img{height:330px}
  .landing-core{width:155px;height:155px}
  .landing-ring{width:280px;height:84px}
  .landing-section{padding:62px 22px}
  .landing-clients{padding:10px 22px 55px}
  .landing-security{margin:0 22px 55px;padding:25px}
  .landing-actions{flex-direction:column}
  .landing-actions .public-btn{width:100%}
  .portal-main{padding:28px 20px 34px}
  .portal-hero-card,.portal-form-card{padding:24px}
  .company-login-copy{padding:36px 22px 26px}
  .company-login-side{padding:0 22px 32px}
  .company-benefits{grid-template-columns:1fr}
  .public-footer{padding:24px 20px 30px;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
