/* NORCOM+ · Premium Light Balanced · 2026-09-26 */
:root{
  --bg:#EAF1F8;--panel:#F8FBFF;--chip:#E4EDF8;--chip-hover:#D8E6F4;
  --hairline:rgba(15,45,80,.10);--hairline2:rgba(15,45,80,.16);--border:rgba(15,45,80,.12);
  --blue:#1477D4;--blue2:#1477D4;--blue-deep:#083A70;--blue-mid:#176FC1;--blue-light:#77B9F4;
  --blue-glow:rgba(20,119,212,.20);--blue-dim:rgba(20,119,212,.10);
  --cyan:#14AFC4;--cyan-dim:rgba(20,175,196,.11);
  --ink:#10243A;--ink2:#40556C;--ink3:#73869B;
  --text:#FFFFFF;--text2:rgba(255,255,255,.84);--text3:rgba(255,255,255,.64);
  --ok:#2CBF70;--ok-dim:rgba(44,191,112,.13);--warn:#DD922E;--warn-dim:rgba(221,146,46,.13);
  --danger:#DF5A5A;--danger-dim:rgba(223,90,90,.12);
  --shadow-sm:0 6px 18px rgba(19,54,93,.07);--shadow-md:0 12px 28px rgba(19,54,93,.10);
  --shadow-lg:0 20px 45px rgba(19,54,93,.14);--shadow-blue:0 18px 36px rgba(8,58,112,.24)
}
body{background:linear-gradient(180deg,#E9F1F8 0,#F1F5F9 46%,#EAF1F8 100%);color:var(--ink)}
body::before{background:radial-gradient(ellipse 65% 34% at 0 0,rgba(36,124,214,.13),transparent 62%),radial-gradient(ellipse 48% 30% at 100% 12%,rgba(52,197,119,.07),transparent 68%)}
.header{background:linear-gradient(105deg,rgba(7,48,89,.98),rgba(11,70,126,.96));border-bottom:0;box-shadow:0 8px 24px rgba(7,48,89,.20)}
.header__logo{color:#fff}.header__logo span{color:#4EDB87}.header__actions{gap:7px}
.icon-btn{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14);color:#fff}.icon-btn:hover{background:rgba(255,255,255,.16);color:#fff}
.profile-bar{margin:calc(var(--header-h) + var(--sat) + 10px) 14px 0;padding:12px 14px;background:linear-gradient(135deg,#F8FBFF,#EAF3FC);border:1px solid rgba(18,65,112,.10);border-radius:18px;box-shadow:var(--shadow-sm)}
.profile-avatar{background:linear-gradient(145deg,#1477D4,#2CBF70);box-shadow:0 7px 16px rgba(20,119,212,.24)}
.profile-name{color:#10243A}.profile-cpf{color:#718398}.profile-bar .tag{background:#ECF9F2}
.main{padding-bottom:calc(var(--nav-h) + var(--sab) + 24px)}
.page{padding:10px 14px 18px}.section-label{color:#667B91;letter-spacing:1px}
.status-pill{background:linear-gradient(145deg,#F8FBFF,#EDF4FB);border-color:rgba(18,65,112,.09);border-radius:16px;box-shadow:var(--shadow-sm)}
.status-pill__label{color:#19334E}.status-pill__desc{color:#75889B}
.greet-card{background:linear-gradient(145deg,#F6FAFE,#EAF3FC);border-color:rgba(18,65,112,.09);border-radius:18px;color:#40556C;box-shadow:var(--shadow-sm)}
.greet-highlight{color:#1477D4}.greet-highlight--ok{color:#209D5B}
.featured-card{background:linear-gradient(145deg,#0E5FAE 0%,#0A4788 58%,#083A70 100%);border-color:rgba(255,255,255,.16);box-shadow:var(--shadow-blue);border-radius:24px}
.featured-card::after{content:'';position:absolute;width:210px;height:210px;right:-100px;bottom:-130px;border-radius:50%;background:radial-gradient(circle,rgba(66,215,132,.30),transparent 68%);pointer-events:none}
#btnPay{background:#fff;color:#0B4E92;border-radius:14px}.card{background:linear-gradient(155deg,#F8FBFF,#EDF4FA);border:1px solid rgba(18,65,112,.09);border-radius:18px;box-shadow:var(--shadow-sm)}
.card-title{color:#10243A}.quick-grid{gap:9px}.quick-item{background:linear-gradient(150deg,#F6FAFE,#E6F0FA);border:1px solid rgba(18,65,112,.09);border-radius:16px;box-shadow:var(--shadow-sm);color:#10243A}
.quick-item__icon{background:linear-gradient(145deg,#DDECFB,#EAF7F0)}.quick-item__icon svg{color:#1477D4}.quick-item__label{color:#19334E}.quick-item__desc{color:#718398}
.item{background:linear-gradient(155deg,#F8FBFF,#EDF4FA);border:1px solid rgba(18,65,112,.09);border-radius:17px;box-shadow:var(--shadow-sm)}
.item__title,.item__value{color:#10243A}.item__meta{color:#657A90}.pix-item-btn{background:#E3EFFB;color:#1268BD}.linkBtn{background:#E3EFFB;border-color:#D4E5F6;color:#1268BD}
.chat-card{background:#F7FAFE;border-color:rgba(18,65,112,.09)}.chat-card .card-title{color:#10243A}.emb-msg.from-admin .emb-bubble{background:#E7EFF8;color:#10243A}.emb-msg.from-customer .emb-bubble{background:linear-gradient(135deg,#1477D4,#0E5FAE)}
#embedded-input-area{background:#EDF4FA!important}.input{background:#F8FBFF!important;color:#10243A!important;border-color:#D7E4F0!important}
.stat-mini{background:#EAF2F9;border-color:rgba(18,65,112,.08)}.stat-mini__label{color:#718398}.stat-mini__val{color:#10243A}
.tip-icon{background:#E4EFFA!important}.tip-title{color:#10243A}.tip-desc{color:#667A90}.speed-hero{background:linear-gradient(145deg,#F7FBFF,#EAF3FB)!important;border-color:rgba(18,65,112,.09)!important;box-shadow:var(--shadow-sm)!important}.speed-title{color:#10243A!important}.speed-desc{color:#667A90!important}
.btn--secondary{background:#E4EDF7;color:#324D68;border-color:#D5E2EF}.btn--warn{background:#FFF4E4;color:#A86512}.whatsapp-btn{background:linear-gradient(135deg,#25B968,#32C978)!important;color:#fff!important}
.bottom-nav{background:linear-gradient(105deg,rgba(7,48,89,.98),rgba(11,70,126,.98));border-top:0;box-shadow:0 -8px 26px rgba(7,48,89,.18)}
.nav__item{color:rgba(255,255,255,.62)}.nav__item.is-active{color:#fff}.nav__item.is-active::before{background:#4EDB87;box-shadow:0 0 12px rgba(78,219,135,.42)}
.ann-banner{background:#FFF6E8}.ann-banner.ann--info{background:#E8F2FC}.ann-banner.ann--danger{background:#FCECEC}
#pullIndicator{background:#F8FBFF}.notif-panel,.pix-panel{background:#F4F8FC!important}.notif-header{background:#EEF4FA!important}
#view-login{background:linear-gradient(155deg,#EAF2FA 0%,#F4F7FA 56%,#EDF6F1 100%)}
.login-emblem{background:rgba(248,251,255,.86);border-color:rgba(18,65,112,.10);box-shadow:0 18px 46px rgba(18,65,112,.16)}
.login-logo{color:#10243A}.login-logo span{color:#2CBF70}.login-tagline{color:#657A90}.login-box{background:linear-gradient(150deg,rgba(248,251,255,.97),rgba(232,242,251,.97));border-color:rgba(18,65,112,.10);box-shadow:0 24px 58px rgba(18,65,112,.16)}
.login-box label{color:#657A90}.cpf-display{background:#F8FBFF;border-color:#C9D8E8;color:#10243A}.cpf-placeholder,.cpf-hint{color:#8292A4}.login-footer,.login-trust__item{color:#6F8194}.login-trust__icon{background:#EEF5FB}
#pwaInstallBanner{background:linear-gradient(135deg,#0E5FAE,#083A70)}
@media(max-width:420px){.page{padding-left:12px;padding-right:12px}.quick-grid{grid-template-columns:1fr 1fr}.quick-item{min-height:104px}.status-pills{gap:8px}.status-pill{padding:11px}.featured-card{padding:20px}.bottom-nav{height:calc(var(--nav-h) + var(--sab));padding-left:4px;padding-right:4px}}


/* ===== APP SHELL V2 · mobile first ===== */
.header{height:calc(66px + var(--sat));padding:var(--sat) 14px 10px;align-items:flex-end}
.header__brand{display:flex;align-items:center;gap:9px;min-width:0}
.header__mark{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.header__brand-copy{min-width:0;line-height:1}.header__logo{font-size:17px;letter-spacing:-.4px}
.header__subtitle{margin-top:4px;font-size:9.5px;font-weight:600;letter-spacing:.15px;color:rgba(255,255,255,.58)}
.header__actions{gap:5px}.header .icon-btn{width:33px;height:33px}.header .icon-btn svg{width:15px;height:15px}

.profile-bar{margin-top:calc(66px + var(--sat) + 10px);padding:13px 14px;border-radius:20px;background:linear-gradient(135deg,#F7FBFF 0%,#E9F3FC 100%)}
.profile-avatar-wrap{position:relative;flex-shrink:0}.profile-avatar{width:42px;height:42px;font-size:15px}
.profile-presence{position:absolute;right:-1px;bottom:0;width:11px;height:11px;border-radius:50%;background:#31C676;border:2px solid #F4F9FE;box-shadow:0 0 0 2px rgba(49,198,118,.10)}
.profile-kicker{font-size:9.5px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;color:#8A99AA;margin-bottom:2px}
.profile-name{font-size:14px}.profile-cpf{font-size:10.5px}
.profile-status{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#E8F8F0;color:#168D52;font-size:10px;font-weight:700}
.profile-status>span{width:6px;height:6px;border-radius:50%;background:#28BE6D}

.main{padding-top:calc(66px + var(--sat) + 2px);padding-bottom:calc(88px + var(--sab))}
.page{padding-top:8px}
#tab-home .status-pills{display:grid;grid-template-columns:1.45fr .9fr;gap:0;background:linear-gradient(145deg,#F7FBFF,#EAF3FB);border:1px solid rgba(18,65,112,.09);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}
#tab-home .status-pill{border:0;border-radius:0;box-shadow:none;background:transparent;padding:12px 13px}
#tab-home .status-pill+ .status-pill{border-left:1px solid rgba(18,65,112,.08)}
#tab-home .status-pill__icon{width:32px;height:32px;border-radius:10px;font-size:14px}
#tab-home .status-pill__label{font-size:12px}
#tab-home .status-pill__desc{font-size:10px}

.featured-card{margin-top:10px!important;padding:20px 18px 16px;border-radius:22px}
.featured-title{font-size:10px;letter-spacing:1px;margin-bottom:7px}
.featured-value{font-size:32px;letter-spacing:-.8px;margin-bottom:7px}
.featured-due{font-size:11px;margin-bottom:12px}
.featured-meta{margin-bottom:14px;gap:6px}.meta-pill{font-size:9.5px;padding:4px 8px}
#btnPay{min-height:42px;padding:11px 14px;font-size:12.5px}

.greet-card{margin-top:10px;padding:12px 13px;display:flex;align-items:center;gap:10px;border-radius:16px}
.greet-card__icon{width:32px;height:32px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#E7F8EF;color:#1A9D59;font-weight:900;flex-shrink:0}
.greet-card__copy{min-width:0}.greet-card__title{font-size:12px;font-weight:700;color:#17314B}.greet-card__sub{font-size:10.5px;color:#718398;margin-top:2px}
.greet-highlight{font-weight:700}

.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:9px;padding:0 2px}
.section-heading .section-label{margin:0}.section-caption{font-size:10.5px;color:#8B9AAB;margin-top:2px}
.section-link{border:0;background:transparent;color:#126BC2;font-family:var(--font-body);font-size:10.5px;font-weight:700;padding:5px 0;cursor:pointer}
#tab-home>.card{padding:15px;border-radius:17px}
#tab-home .spark-wrap{height:62px;gap:5px}.bar{max-width:30px}.barLabel{font-size:8.5px}.spark-sub{font-size:10px;margin-top:6px}

.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.quick-item{min-height:82px;padding:10px 4px 8px;align-items:center;text-align:center;gap:6px;border-radius:16px}
.quick-item__icon{width:36px;height:36px;border-radius:12px}.quick-item__icon svg{width:18px;height:18px}
.quick-item__label{font-size:9.5px;line-height:1.1}.quick-item__desc{display:none}

.bottom-nav{left:10px;right:10px;bottom:calc(8px + var(--sab));height:58px;padding:5px 4px;border-radius:18px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(110deg,rgba(5,43,79,.98),rgba(8,67,119,.98));box-shadow:0 14px 34px rgba(7,48,89,.22)}
.nav__item{font-size:8.5px;gap:2px;padding:5px 0;border-radius:12px}.nav__item svg{width:18px;height:18px}
.nav__item.is-active{background:rgba(255,255,255,.09)}.nav__item.is-active::before{width:16px;height:2px;top:1px;border-radius:4px}

@media(max-width:339px){
  .quick-grid{grid-template-columns:1fr 1fr}.quick-item{min-height:76px;align-items:flex-start;text-align:left;padding:10px}.quick-item__desc{display:block}
  #tab-home .status-pills{grid-template-columns:1fr}.status-pill+ .status-pill{border-left:0!important;border-top:1px solid rgba(18,65,112,.08)!important}
}
@media(min-width:768px){
  .header{padding-left:max(18px,calc((100vw - 720px)/2));padding-right:max(18px,calc((100vw - 720px)/2))}
  .profile-bar{max-width:692px;margin-left:auto;margin-right:auto}.main{max-width:720px}
  .bottom-nav{max-width:690px;left:50%;right:auto;width:calc(100% - 30px);transform:translateX(-50%)}
}


/* ===== LOGIN EXPERIENCE V3 · Norcom+ ===== */
#view-login{
  min-height:100dvh;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:
    radial-gradient(circle at 16% 12%,rgba(38,126,217,.16),transparent 28%),
    radial-gradient(circle at 88% 86%,rgba(46,194,111,.13),transparent 25%),
    linear-gradient(135deg,#EDF4FA 0%,#F5F8FB 50%,#ECF4F9 100%);
}
#view-login::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 15%,rgba(14,93,174,.08) 0 2px,transparent 2.5px),
    radial-gradient(circle at 78% 22%,rgba(44,190,112,.08) 0 2px,transparent 2.5px);
  background-size:38px 38px,52px 52px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 78%);
}
.login-bg-grid{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:
    linear-gradient(rgba(25,92,156,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(25,92,156,.05) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.08) 60%,transparent);
}
.login-glow{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.login-glow--blue{width:360px;height:360px;left:-120px;top:18%;background:rgba(19,119,212,.20)}
.login-glow--green{width:300px;height:300px;right:-90px;bottom:-80px;background:rgba(45,191,106,.16)}
.login-ring{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(18,92,164,.09);
  box-shadow:
    0 0 0 38px rgba(18,92,164,.035),
    0 0 0 76px rgba(18,92,164,.025),
    0 0 0 114px rgba(18,92,164,.018);
  pointer-events:none;
}
.login-ring--1{width:280px;height:280px;right:4%;top:8%}
.login-ring--2{width:190px;height:190px;left:4%;bottom:3%;border-color:rgba(44,191,106,.08);box-shadow:0 0 0 34px rgba(44,191,106,.025),0 0 0 68px rgba(44,191,106,.018)}
.login-wave{
  position:absolute;
  width:720px;
  height:140px;
  border-top:2px solid rgba(18,105,193,.08);
  border-radius:50%;
  transform:rotate(-9deg);
  pointer-events:none;
}
.login-wave--1{left:-170px;bottom:9%}
.login-wave--2{right:-220px;top:20%;border-color:rgba(45,191,106,.07);transform:rotate(11deg)}

.login-content{
  position:relative;
  z-index:2;
  width:min(1120px,100%);
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:72px;
  align-items:center;
}
.login-hero{padding:18px 0}
.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:34px}
.login-brand__logo{
  width:96px;
  height:96px;
  object-fit:contain;
  filter:drop-shadow(0 14px 24px rgba(9,65,126,.20));
}
.login-brand__name{
  font-family:var(--font-display);
  font-size:32px;
  font-weight:800;
  letter-spacing:-1.1px;
  color:#0E2741;
}
.login-brand__name span{color:#2CBE70}
.login-brand__eyebrow{
  margin-top:5px;
  color:#718399;
  font-size:12px;
  font-weight:700;
  letter-spacing:.9px;
  text-transform:uppercase;
}
.login-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.64);
  border:1px solid rgba(15,86,160,.09);
  color:#537087;
  font-size:11px;
  font-weight:700;
  box-shadow:0 8px 20px rgba(27,67,109,.06);
}
.login-badge__dot{
  width:8px;height:8px;border-radius:50%;
  background:#2DBE70;
  box-shadow:0 0 0 5px rgba(45,190,112,.10);
}
.login-hero__title{
  margin-top:18px;
  font-family:var(--font-display);
  font-size:clamp(38px,4.2vw,64px);
  line-height:1.02;
  letter-spacing:-2.4px;
  color:#0D2844;
  max-width:680px;
}
.login-hero__title span{
  background:linear-gradient(90deg,#1166B7 0%,#1477D4 58%,#2DBE70 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.login-hero__text{
  max-width:620px;
  margin-top:18px;
  color:#5E738A;
  font-size:15px;
  line-height:1.65;
}
.login-feature-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.login-feature{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 13px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(239,246,252,.78));
  border:1px solid rgba(20,84,145,.08);
  box-shadow:0 10px 24px rgba(27,67,109,.07);
}
.login-feature__icon{
  width:36px;height:36px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:linear-gradient(145deg,#E5F1FE,#ECF8F1);
  color:#1477D4;
}
.login-feature__icon svg{width:18px;height:18px;stroke-width:1.8}
.login-feature strong{display:block;font-size:11.5px;color:#18334F}
.login-feature span{display:block;margin-top:2px;font-size:9.5px;color:#8292A4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-signal{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:24px;
  color:#17314B;
}
.login-signal__rings{position:relative;width:42px;height:42px;flex-shrink:0}
.login-signal__rings i{position:absolute;left:50%;bottom:7px;border:2px solid #2DBE70;border-top:0;border-left-color:transparent;border-right-color:transparent;border-radius:0 0 50% 50%;transform:translateX(-50%)}
.login-signal__rings i:nth-child(1){width:9px;height:6px}
.login-signal__rings i:nth-child(2){width:22px;height:14px;opacity:.72}
.login-signal__rings i:nth-child(3){width:36px;height:23px;opacity:.42}
.login-signal__copy strong{display:block;font-size:11px}
.login-signal__copy span{display:block;font-size:10px;color:#7E8EA1;margin-top:2px}

.login-panel-wrap{width:100%;max-width:430px;justify-self:end}
.login-mobile-brand{display:none}
.login-box{
  position:relative;
  width:100%;
  max-width:none;
  padding:28px 26px 24px;
  border-radius:30px;
  background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(237,245,252,.96));
  border:1px solid rgba(17,80,143,.10);
  box-shadow:0 28px 70px rgba(19,57,98,.14),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}
.login-box__topline{
  position:absolute;
  top:0;left:28px;right:28px;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#1166B7,#1D8BE0,#2DBE70);
}
.login-box-head{margin-bottom:22px}
.login-box-kicker{
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.2px;
  color:#2A9C62;
}
.login-box-title{
  margin-top:5px;
  font-family:var(--font-display);
  font-size:26px;
  font-weight:800;
  letter-spacing:-.8px;
  color:#102A45;
}
.login-box-sub{
  margin-top:5px;
  font-size:12px;
  color:#76879A;
}
.login-box label{
  display:block;
  margin-bottom:9px;
  color:#60768D;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.75px;
  text-transform:uppercase;
}
.cpf-display{
  min-height:64px;
  border-radius:18px;
  border:1.5px solid #D2DFEC;
  background:linear-gradient(180deg,#FBFDFF,#F3F7FB);
  box-shadow:inset 0 1px 2px rgba(18,62,106,.04);
  transition:.2s ease;
}
.cpf-display.is-focus{
  border-color:#4D98E6;
  box-shadow:0 0 0 4px rgba(20,119,212,.09),inset 0 1px 2px rgba(18,62,106,.03);
}
.cpf-placeholder,#cpfMaskDisplay{color:#71859B}
.cpf-hint{
  margin-top:8px;
  margin-bottom:18px;
  text-align:right;
  font-size:10px;
  color:#8D9BAC;
}
#btnLogin{
  min-height:52px;
  border:0;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:linear-gradient(135deg,#1477D4 0%,#0E61B4 58%,#0A4B90 100%);
  color:#fff;
  box-shadow:0 14px 28px rgba(13,91,175,.23);
}
#btnLogin span{font-weight:800}
#btnLogin svg{width:18px;height:18px;stroke-width:2}
#btnLogin:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(13,91,175,.27)}
.login-secure{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#728397;
  font-size:10.5px;
}
.login-secure svg{width:13px;height:13px;color:#2DBE70;stroke-width:1.9}
.login-trust{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.login-trust__item{
  width:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  color:#76879A;
  font-size:9.5px;
  line-height:1.25;
  text-align:center;
}
.login-trust__icon{
  width:38px;height:38px;
  border-radius:13px;
  background:linear-gradient(145deg,#F9FCFF,#EAF3FA);
  border:1px solid rgba(17,80,143,.08);
  box-shadow:0 8px 18px rgba(26,64,104,.07);
}
.login-trust__icon svg{width:17px;height:17px;color:#1477D4;stroke-width:1.8}

@media(max-width:820px){
  #view-login{padding:calc(var(--sat) + 22px) 16px calc(var(--sab) + 22px)}
  .login-content{display:block;width:min(100%,430px)}
  .login-hero{display:none}
  .login-panel-wrap{max-width:430px;margin:0 auto}
  .login-mobile-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}
  .login-mobile-brand img{
    width:92px;height:92px;object-fit:contain;
    filter:drop-shadow(0 12px 22px rgba(9,65,126,.18));
  }
  .login-mobile-brand__name{
    margin-top:7px;
    font-family:var(--font-display);
    font-size:28px;
    font-weight:800;
    letter-spacing:-.8px;
    color:#102A45;
  }
  .login-mobile-brand__name span{color:#2DBE70}
  .login-mobile-brand__sub{margin-top:2px;font-size:11px;color:#7A8A9D;font-weight:700;letter-spacing:.4px}
  .login-box{padding:23px 18px 20px;border-radius:25px}
  .login-box-title{font-size:22px}
  .login-ring--1{width:220px;height:220px;right:-90px;top:8%}
  .login-ring--2{width:150px;height:150px;left:-80px;bottom:8%}
  .login-wave--1{bottom:5%;left:-330px}
  .login-wave--2{top:12%;right:-420px}
  .login-bg-grid{opacity:.22}
}
@media(max-width:390px){
  #view-login{padding-left:12px;padding-right:12px}
  .login-mobile-brand img{width:82px;height:82px}
  .login-mobile-brand__name{font-size:26px}
  .login-box{padding:21px 15px 18px}
  .login-trust{gap:6px}
  .login-trust__item{font-size:9px}
}


/* ===== UI POLISH V4 · telas internas ===== */
.card,.item,#tab-speed,.chat-card{
  --text:#10243A;
  --text2:#60758B;
  --text3:#8292A5;
}
.card .divider{background:rgba(18,65,112,.09)!important}
.card .info-label{color:#75879A}.card .info-value{color:#10243A}
.card .stat-mini__label{color:#72849A}.card .stat-mini__val{color:#10243A}
.card .tip-title{color:#10243A}.card .tip-desc{color:#667B91}
.item [style*="color:var(--text2)"]{color:#60758B!important}
.item [style*="color:var(--text3)"]{color:#8292A5!important}
.featured-card{--text:#fff;--text2:rgba(255,255,255,.84);--text3:rgba(255,255,255,.66)}
.featured-card .featured-title{color:rgba(255,255,255,.68)}
.featured-card .featured-value{color:#fff}
.featured-card .featured-due{color:rgba(255,255,255,.82)}
.featured-card .meta-pill{color:rgba(255,255,255,.78)}

/* Faturas */
#tab-bills .card-header{margin:4px 2px 16px}
#tab-bills .card-title{font-size:21px;letter-spacing:-.4px}
#tab-bills .btn--secondary{min-height:38px;padding:8px 12px;border-radius:13px;background:#E8F1FA;color:#35516E}
#tab-bills .item{padding:16px 16px 14px;border-radius:20px;margin-bottom:10px;background:linear-gradient(145deg,#F9FCFF,#EDF4FA)}
#tab-bills .item__title{font-size:14px;line-height:1.28}
#tab-bills .item__meta{font-size:11.5px}
#tab-bills .item>div:last-child{font-weight:700;color:#28425E!important}
#tab-bills .pix-item-btn{padding:6px 10px;border-radius:999px;background:#E3F0FC;color:#106CC2;font-size:10.5px}
#tab-bills .tag{padding:4px 9px}

/* Contratos */
#tab-plans>.card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0,rgba(20,119,212,.10),transparent 28%),
    linear-gradient(145deg,#F8FBFF,#EBF3FA);
  border-radius:24px;
  padding:18px;
}
#tab-plans>.card::after{
  content:"";
  position:absolute;
  right:-70px;top:-90px;
  width:190px;height:190px;border-radius:50%;
  border:1px solid rgba(20,119,212,.08);
  box-shadow:0 0 0 28px rgba(20,119,212,.025),0 0 0 56px rgba(45,190,112,.018);
  pointer-events:none;
}
#tab-plans #contractsCustName{color:#10243A!important}
#tab-plans #contractsCustCpf{color:#74869B!important}
#tab-plans .stat-mini{background:rgba(235,243,250,.82);border:1px solid rgba(18,65,112,.09);padding:12px 8px}
#tab-plans #unlockTrustWrap>div{color:#8192A5!important}
#tab-plans .btn--warn{min-height:48px;border-radius:16px;background:#FFF3E4;color:#A96313;border-color:#F0C98F;font-size:13px}
#tab-plans .section-label{margin-left:2px}
#tab-plans #contractsList .item{padding:16px;border-radius:20px}
#tab-plans #contractsList .item__title{font-size:15px}

/* Velocidade */
#tab-speed .speed-hero{
  position:relative;
  overflow:hidden;
  margin:4px 0 18px;
  padding:26px 18px 22px!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(45,190,112,.11),transparent 34%),
    linear-gradient(145deg,#F7FBFF 0%,#E9F3FB 100%)!important;
}
#tab-speed .speed-hero::before{
  content:"";
  position:absolute;
  width:200px;height:200px;
  right:-95px;top:-115px;
  border-radius:50%;
  border:1px solid rgba(20,119,212,.08);
  box-shadow:0 0 0 28px rgba(20,119,212,.025),0 0 0 56px rgba(20,119,212,.018);
}
#tab-speed .speed-icon{
  width:76px;height:76px;
  margin:0 auto 18px;
  border-radius:23px;
  background:linear-gradient(145deg,#1779D6,#17B7C6 68%,#2DBE70);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:28px;
  box-shadow:0 16px 30px rgba(16,113,200,.20);
}
#tab-speed .speed-title{font-size:22px!important;letter-spacing:-.5px}
#tab-speed .speed-desc{font-size:13px!important;line-height:1.5;max-width:360px;margin:0 auto 20px!important}
#tab-speed #btnSpeed{min-height:48px;border-radius:16px}
#tab-speed #btnDowndetector{min-height:46px;border-radius:16px;background:#E7EFF8;color:#38536F}
#tab-speed .card{border-radius:21px}
#tab-speed #pingDisplay{color:#10243A!important}
#tab-speed #pingLabel,#tab-speed #connType{color:#61768D!important}
#tab-speed .card [style*="color:var(--text3)"]{color:#7C8DA1!important}
#tab-speed .tip-row{gap:12px}
#tab-speed .tip-icon{width:38px;height:38px;border-radius:12px}
#tab-speed .tip-title{font-size:13px}
#tab-speed .tip-desc{font-size:11.5px;line-height:1.45}

/* Pix como bottom-sheet no mobile */
.pix-panel{background:#F4F8FC!important}
.pix-header-accent{display:none}
.pix-body{padding:18px 18px 28px!important}
.pix-amount{font-size:34px!important;color:#10243A!important;letter-spacing:-1px}
.pix-due{color:#75879C!important}
.pix-qr-wrap{
  max-width:310px;
  margin:0 auto 16px;
  padding:18px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(18,65,112,.10)!important;
  box-shadow:0 12px 30px rgba(19,54,93,.08);
}
.pix-qr-img{max-width:250px!important}
.pix-hint{max-width:520px;margin-left:auto;margin-right:auto;color:#74869A!important}
.pix-code-box{
  max-width:520px;margin:0 auto 14px;
  background:#EAF2FA!important;
  border:1px solid #D2E0EE!important;
  border-radius:17px!important;
}
.pix-code-text{color:#50667E!important;font-size:11.5px!important;line-height:1.6!important}
#pixCopyBtn{
  max-width:520px;margin:0 auto;
  min-height:50px;
  border-radius:16px;
  background:linear-gradient(135deg,#1477D4,#0E5FAE)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(20,119,212,.20);
}
#pixOpenBoletoBtn{
  max-width:520px!important;margin:9px auto 0!important;
  min-height:48px;border-radius:16px;background:#E3EDF7!important;color:#31506F!important
}
@media(max-width:640px){
  .notif-overlay{background:rgba(12,33,55,.32)!important;backdrop-filter:blur(5px)}
  .pix-panel{
    top:auto!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;max-width:none!important;
    height:min(92dvh,780px)!important;
    border-radius:28px 28px 0 0!important;
    transform:translateY(105%)!important;
    box-shadow:0 -24px 60px rgba(12,38,68,.22)!important;
    border-top:1px solid rgba(18,65,112,.08);
  }
  .pix-panel.is-open{transform:translateY(0)!important}
  .pix-panel .notif-header{
    min-height:66px;
    padding:14px 18px!important;
    background:linear-gradient(105deg,#0A4A87,#0D5DA7)!important;
    border:0!important;
    border-radius:28px 28px 0 0;
  }
  .pix-panel .notif-header h3{color:#fff!important;font-size:18px!important}
  .pix-panel .notif-header .icon-btn{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.15)}
  .pix-body{padding:18px 16px calc(22px + var(--sab))!important}
  .pix-amount{font-size:31px!important}
  .pix-qr-wrap{max-width:280px;padding:14px!important}
  .pix-qr-img{max-width:226px!important}
}

/* espaço seguro para barra inferior */
#tab-bills,#tab-plans,#tab-support,#tab-speed{padding-bottom:105px!important}


/* ===== SPEEDTEST LOCAL NORCOM ===== */
.speed-local-badge{
  display:inline-flex;align-items:center;gap:7px;
  margin:0 auto 14px;padding:7px 11px;border-radius:999px;
  background:#E7F6EF;border:1px solid rgba(31,166,94,.12);
  color:#178B50;font-size:10.5px;font-weight:800;
}
.speed-local-badge span{
  width:7px;height:7px;border-radius:50%;background:#2DBE70;
  box-shadow:0 0 0 5px rgba(45,190,112,.09);
}
.speed-results{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  margin:18px 0 16px;
}
.speed-result{
  min-width:0;padding:12px 8px 10px;border-radius:17px;
  background:rgba(234,243,251,.84);
  border:1px solid rgba(18,65,112,.08);
}
.speed-result--main{
  background:linear-gradient(145deg,#E6F1FD,#EAF8F0);
}
.speed-result span{
  display:block;font-size:9px;text-transform:uppercase;letter-spacing:.7px;
  color:#7C8DA1;font-weight:700;margin-bottom:4px;
}
.speed-result strong{
  display:block;font-family:var(--font-display);font-size:22px;
  color:#102A45;letter-spacing:-.5px;line-height:1.05;
}
.speed-result small{
  display:block;font-size:9px;color:#8998A9;margin-top:3px;
}
.speed-progress{margin:3px 0 14px}
.speed-progress__bar{
  height:6px;border-radius:999px;background:#DCE7F1;overflow:hidden;
}
.speed-progress__bar span{
  display:block;height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,#1477D4,#19A9CB,#2DBE70);
  transition:width .28s ease;
}
.speed-progress__text{
  margin-top:7px;font-size:10.5px;color:#718499;text-align:center;
}
#tab-speed #btnSpeed{max-width:320px;margin:0 auto}
.speed-local-note{
  margin-top:11px;font-size:9.5px;color:#8796A7;text-align:center;
}
.speed-local-note strong{color:#5E748B}
@media(max-width:390px){
  .speed-results{gap:6px}
  .speed-result{padding:10px 5px 9px}
  .speed-result strong{font-size:20px}
}


/* ===== PWA UPDATE AVAILABLE ===== */
.pwa-update{
  position:fixed;
  left:50%;
  bottom:calc(82px + var(--sab));
  transform:translateX(-50%);
  width:min(94vw,560px);
  z-index:420;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:12px 12px 12px 14px;
  border-radius:20px;
  background:linear-gradient(110deg,#083F78 0%,#0C5DAA 68%,#14956A 135%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 44px rgba(5,48,92,.30);
  color:#fff;
  animation:pwa-update-in .34s var(--ease-out) both;
}
.pwa-update.is-hidden{display:none!important}
.pwa-update__icon{
  width:40px;height:40px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.12);
}
.pwa-update__icon svg{width:20px;height:20px;stroke-width:2}
.pwa-update__copy{min-width:0}
.pwa-update__copy strong{
  display:block;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.05px;
}
.pwa-update__copy span{
  display:block;
  margin-top:2px;
  font-size:10px;
  color:rgba(255,255,255,.68);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pwa-update__btn{
  min-height:38px;
  padding:0 14px;
  border:0;
  border-radius:12px;
  background:#fff;
  color:#0A579F;
  font-family:var(--font-body);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 7px 16px rgba(0,0,0,.12);
}
.pwa-update__btn:disabled{opacity:.72;cursor:default}
@keyframes pwa-update-in{
  from{opacity:0;transform:translateX(-50%) translateY(18px) scale(.98)}
  to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
}
@media(max-width:420px){
  .pwa-update{
    left:10px;right:10px;
    width:auto;
    transform:none;
    bottom:calc(78px + var(--sab));
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:9px;
    padding:10px;
    border-radius:17px;
  }
  .pwa-update__icon{width:36px;height:36px;border-radius:11px}
  .pwa-update__copy strong{font-size:11.5px}
  .pwa-update__copy span{font-size:9px}
  .pwa-update__btn{min-height:35px;padding:0 11px;font-size:10px}
  @keyframes pwa-update-in{
    from{opacity:0;transform:translateY(18px) scale(.98)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }
}

/* ===== LOADING SCREEN V2 ===== */
#loading{
  position:fixed;inset:0;z-index:500;
  display:flex;align-items:center;justify-content:center;
  background:#EEF4FA!important;
  backdrop-filter:none!important;
  overflow:hidden;
}
#loading.is-hidden{display:none!important}
.loading-scene{
  position:relative;width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:calc(var(--sat) + 28px) 20px calc(var(--sab) + 34px);
  background:
    radial-gradient(circle at 15% 14%,rgba(39,135,226,.18),transparent 27%),
    radial-gradient(circle at 86% 85%,rgba(48,199,114,.15),transparent 26%),
    linear-gradient(155deg,#F7FBFF 0%,#EDF5FC 52%,#F3F9F6 100%);
}
.loading-grid{
  position:absolute;inset:0;opacity:.3;pointer-events:none;
  background-image:radial-gradient(rgba(19,91,160,.12) 1.4px,transparent 1.5px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 48%);
}
.loading-bg{position:absolute;border-radius:50%;pointer-events:none}
.loading-bg--a{
  width:360px;height:360px;left:-210px;top:4%;
  border:1px solid rgba(20,119,212,.09);
  box-shadow:0 0 0 42px rgba(20,119,212,.028),0 0 0 84px rgba(20,119,212,.018);
}
.loading-bg--b{
  width:330px;height:330px;right:-170px;bottom:-80px;
  border:1px solid rgba(45,190,112,.10);
  box-shadow:0 0 0 45px rgba(45,190,112,.028),0 0 0 90px rgba(20,119,212,.018);
}
.loading-brand{
  position:relative;z-index:2;text-align:center;
  margin-bottom:28px;
}
.loading-brand__logo{
  width:124px;height:124px;object-fit:contain;
  filter:drop-shadow(0 16px 28px rgba(10,67,128,.20));
}
.loading-brand__name{
  margin-top:8px;font-family:var(--font-display);
  font-size:34px;font-weight:800;letter-spacing:-1.2px;color:#0D3762;
}
.loading-brand__name span{color:#2DBE70}
.loading-brand__sub{
  margin-top:3px;font-size:13px;font-weight:600;
  letter-spacing:1.4px;color:#71849A;
}
.loading-card{
  position:relative;z-index:2;
  width:min(92vw,520px);
  padding:28px 24px 24px;
  border-radius:30px;
  text-align:center;
  background:linear-gradient(155deg,rgba(255,255,255,.94),rgba(241,247,252,.93));
  border:1px solid rgba(18,65,112,.08);
  box-shadow:0 26px 60px rgba(20,61,104,.13),inset 0 1px 0 rgba(255,255,255,.9);
}
.app-loader-ring{
  width:66px;height:66px;margin:0 auto 18px;padding:7px;border-radius:50%;
  background:conic-gradient(#1477D4 0 42%,#2DBE70 42% 67%,#D9E5F1 67% 100%);
  animation:loading-ring-spin 1.15s linear infinite;
  box-shadow:0 10px 24px rgba(20,119,212,.10);
}
.app-loader-ring span{
  display:block;width:100%;height:100%;border-radius:50%;
  background:#F7FBFF;
}
@keyframes loading-ring-spin{to{transform:rotate(360deg)}}
.loading-title{
  font-family:var(--font-display);font-size:22px;font-weight:800;
  letter-spacing:-.5px;color:#12355B;
}
.loading-subtitle{
  margin-top:5px;font-size:12.5px;color:#74879C;
}
.loading-skeleton{margin-top:22px;display:grid;gap:9px}
.loading-skeleton__row{
  display:flex;align-items:center;gap:12px;
  padding:11px 12px;border-radius:17px;
  background:rgba(232,240,248,.55);
  border:1px solid rgba(18,65,112,.04);
  overflow:hidden;position:relative;
}
.loading-skeleton__row::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.7) 48%,transparent 75%);
  transform:translateX(-120%);
  animation:loading-shimmer 1.6s ease-in-out infinite;
}
.loading-skeleton__row i{
  width:42px;height:42px;border-radius:13px;flex-shrink:0;
  background:#DDE8F3;
}
.loading-skeleton__row div{flex:1;display:grid;gap:7px}
.loading-skeleton__row b,.loading-skeleton__row span{
  display:block;height:8px;border-radius:999px;background:#D7E3EF;
}
.loading-skeleton__row b{width:70%}
.loading-skeleton__row span{width:46%}
@keyframes loading-shimmer{to{transform:translateX(120%)}}
@media(max-width:430px){
  .loading-scene{justify-content:center;padding-left:14px;padding-right:14px}
  .loading-brand{margin-bottom:22px}
  .loading-brand__logo{width:105px;height:105px}
  .loading-brand__name{font-size:30px}
  .loading-brand__sub{font-size:11.5px}
  .loading-card{width:100%;padding:24px 18px 20px;border-radius:26px}
  .loading-title{font-size:20px}
  .loading-skeleton{margin-top:18px}
}

/* ===== BILL MONTH BADGE ===== */
#tab-bills .bill-date-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}
#tab-bills .bill-date-row .item__meta{
  margin:0;
}
#tab-bills .bill-month-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:4px 10px;
  border-radius:9px;
  background:linear-gradient(135deg,#0F6BC2 0%,#1787D3 58%,#29B86A 130%);
  border:1px solid rgba(255,255,255,.22);
  color:#FFFFFF;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.2px;
  box-shadow:0 6px 14px rgba(15,107,194,.20);
}
@media(max-width:390px){
  #tab-bills .bill-date-row{gap:6px}
  #tab-bills .bill-month-badge{
    min-height:22px;
    padding:3px 8px;
    font-size:9px;
  }
}

/* ===== BILL BADGES V2 ===== */
#tab-bills .tag{
  min-height:27px;
  padding:5px 10px;
  border-radius:999px;
  font-weight:800;
  box-shadow:0 4px 10px rgba(24,54,88,.06);
}
#tab-bills .tag--warn{
  background:linear-gradient(135deg,#FFF0D7,#FFE4BC)!important;
  color:#A65B08!important;
  border-color:#EFC48B!important;
}
#tab-bills .tag--warn::before{background:#D67D11!important}
#tab-bills .tag--danger{
  background:linear-gradient(135deg,#FDE7E7,#F8D4D4)!important;
  color:#B82F2F!important;
  border-color:#E9AAAA!important;
}
#tab-bills .tag--danger::before{background:#D74545!important}
#tab-bills .tag--ok{
  background:linear-gradient(135deg,#E3F7EB,#D2F0DF)!important;
  color:#137B49!important;
  border-color:#9FD8B8!important;
}
#tab-bills .tag--ok::before{background:#26AF68!important}
#tab-bills .tag--muted{
  background:linear-gradient(135deg,#FFF6B8,#FFD95A)!important;
  color:#875600!important;
  border-color:#E9B72F!important;
  box-shadow:0 6px 14px rgba(232,182,47,.24)!important;
}
#tab-bills .tag--muted::before{
  content:"⚠";
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  color:#A56600!important;
  font-size:12px;
  line-height:1;
  margin-right:2px;
  flex-shrink:0;
}
#tab-bills .pix-item-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:8px 13px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#1477D4 0%,#0E63B7 68%,#0A4E94 100%)!important;
  color:#FFFFFF!important;
  font-family:var(--font-body);
  font-size:10.5px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(14,99,183,.22),inset 0 1px 0 rgba(255,255,255,.16);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
#tab-bills .pix-item-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(14,99,183,.27),inset 0 1px 0 rgba(255,255,255,.18);
}
#tab-bills .pix-item-btn:active{
  transform:translateY(0) scale(.98);
  box-shadow:0 5px 12px rgba(14,99,183,.20);
}
#tab-bills .pix-item-btn__label{
  white-space:nowrap;
}
#tab-bills .pix-item-btn__arrow{
  width:20px;
  height:20px;
  border-radius:7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:13px;
  font-weight:900;
}

#tab-bills .pix-item-btn{
  -webkit-appearance:none;
  appearance:none;
}
#tab-bills .pix-item-btn:focus-visible{
  outline:3px solid rgba(20,119,212,.20);
  outline-offset:2px;
}
.payment-success-notice{
  position:fixed;
  top:calc(var(--sat) + 78px);
  left:50%;
  transform:translateX(-50%);
  width:min(92vw,520px);
  z-index:460;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px 14px 16px;
  border-radius:20px;
  background:linear-gradient(135deg,#EAF9F0 0%,#F7FCF9 58%,#E8F5FF 100%);
  border:1px solid rgba(33,167,96,.18);
  box-shadow:0 18px 46px rgba(20,70,78,.18);
  overflow:hidden;
  animation:payment-success-in .34s var(--ease-out) both;
}
.payment-success-notice__icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#2FC878,#179A58);
  color:#fff;
  font-size:22px;
  font-weight:900;
  box-shadow:0 9px 20px rgba(31,166,94,.22);
}
.payment-success-notice__copy{min-width:0}
.payment-success-notice__copy strong{
  display:block;
  color:#123A2A;
  font-size:13px;
  font-weight:800;
}
.payment-success-notice__copy span{
  display:block;
  margin-top:3px;
  color:#587468;
  font-size:10.5px;
  line-height:1.35;
}
.payment-success-notice__close{
  width:30px;
  height:30px;
  border-radius:10px;
  border:0;
  background:rgba(20,91,66,.08);
  color:#44685A;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.payment-success-notice__timer{
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#28BF70,#25AEE0);
  transform-origin:left center;
  animation:payment-success-timer 9s linear forwards;
}
@keyframes payment-success-in{
  from{opacity:0;transform:translateX(-50%) translateY(-14px) scale(.98)}
  to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
}
@keyframes payment-success-timer{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}
@media(max-width:430px){
  .payment-success-notice{
    top:calc(var(--sat) + 70px);
    left:12px;
    right:12px;
    width:auto;
    transform:none;
    padding:12px 12px 14px;
    gap:10px;
    border-radius:18px;
  }
  .payment-success-notice__icon{
    width:38px;
    height:38px;
    border-radius:12px;
    font-size:19px;
  }
  .payment-success-notice__copy strong{font-size:12px}
  .payment-success-notice__copy span{font-size:9.8px}
  @keyframes payment-success-in{
    from{opacity:0;transform:translateY(-12px) scale(.98)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }
}

.speed-access-notice{
  display:flex;
  align-items:center;
  gap:11px;
  margin:14px 0 4px;
  padding:12px 13px;
  border-radius:16px;
  background:linear-gradient(135deg,#FFF3D9,#FFE8B5);
  border:1px solid #EDC779;
  text-align:left;
  box-shadow:0 8px 20px rgba(166,105,12,.08);
}
.speed-access-notice.is-hidden{display:none!important}
.speed-access-notice__icon{
  width:34px;height:34px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;background:#E9A72F;color:#fff;
  font-size:18px;font-weight:900;
  box-shadow:0 7px 15px rgba(197,126,12,.18);
}

.speed-access-notice strong{
  display:block;
  color:#79500A;
  font-size:11.5px;
  font-weight:800;
}
.speed-access-notice span{
  display:block;
  margin-top:2px;
  color:#956D28;
  font-size:10px;
  line-height:1.35;
}
#tab-speed #btnSpeed:disabled{
  opacity:.68;
  cursor:not-allowed;
  background:linear-gradient(135deg,#8197AE,#6E849B)!important;
  box-shadow:none!important;
  transform:none!important;
}

.speed-access-notice.is-external{
  background:linear-gradient(135deg,#FFF0E3,#FFE2C4);
  border-color:#F3B269;
  box-shadow:0 8px 20px rgba(203,113,20,.10);
}
.speed-access-notice.is-external .speed-access-notice__icon{
  background:linear-gradient(145deg,#F59E42,#E87817);
  box-shadow:0 7px 15px rgba(221,117,20,.20);
}
.speed-access-notice.is-external strong{color:#8C4A0C}
.speed-access-notice.is-external span{color:#9A6536}

#tab-speed #btnSpeed.is-cloudflare{
  background:linear-gradient(135deg,#F59E42,#E87817)!important;
  box-shadow:0 10px 24px rgba(226,117,24,.22)!important;
}
#tab-speed #btnSpeed.is-cloudflare:hover{
  box-shadow:0 12px 28px rgba(226,117,24,.28)!important;
}
#tab-speed .speed-local-badge{
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}

/* ===== SPEEDTEST RUNNING ANIMATION V1 ===== */
#tab-speed .speed-icon{position:relative;isolation:isolate}
#tab-speed .speed-hero.is-running .speed-icon{
  animation:speed-icon-breathe 1.15s ease-in-out infinite;
}
#tab-speed .speed-hero.is-running .speed-icon::before,
#tab-speed .speed-hero.is-running .speed-icon::after{
  content:"";position:absolute;inset:-7px;border-radius:30px;
  border:2px solid rgba(20,119,212,.24);z-index:-1;
  animation:speed-ring 1.55s ease-out infinite;
}
#tab-speed .speed-hero.is-running .speed-icon::after{
  animation-delay:.72s;border-color:rgba(45,190,112,.22);
}
#tab-speed .speed-hero.is-running .speed-local-badge span{
  animation:speed-live-dot 1s ease-in-out infinite;
}
#tab-speed .speed-result{
  position:relative;overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
#tab-speed .speed-result.is-measuring{
  transform:translateY(-2px);border-color:rgba(20,119,212,.28);
  box-shadow:0 10px 24px rgba(20,119,212,.12);
}

#tab-speed .speed-result.is-measuring::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 22%,rgba(255,255,255,.82) 48%,transparent 74%);
  transform:translateX(-130%);animation:speed-card-shimmer 1.25s ease-in-out infinite;
}
#tab-speed .speed-result.is-measuring strong{
  animation:speed-value-pulse .85s ease-in-out infinite;
}
#tab-speed .speed-progress.is-running .speed-progress__bar span{
  position:relative;overflow:visible;background-size:220% 100%;
  animation:speed-gradient-flow .9s linear infinite;
}
#tab-speed .speed-progress.is-running .speed-progress__bar span::after{
  content:"";position:absolute;right:-3px;top:50%;width:10px;height:10px;
  transform:translateY(-50%);border-radius:50%;background:#2DBE70;
  box-shadow:0 0 0 5px rgba(45,190,112,.14),0 0 14px rgba(45,190,112,.45);
  animation:speed-progress-head .72s ease-in-out infinite alternate;
}
#tab-speed .speed-progress.is-running .speed-progress__text::before{
  content:"";display:inline-block;width:9px;height:9px;margin-right:7px;
  border:2px solid rgba(20,119,212,.25);border-top-color:#1477D4;
  border-radius:50%;vertical-align:-1px;animation:speed-spin .7s linear infinite;
}
#tab-speed .speed-hero.is-running #btnSpeed:disabled{
  opacity:1!important;color:#fff!important;cursor:wait;
  background:linear-gradient(105deg,#0E63B7,#19A9CB,#2DBE70,#0E63B7)!important;
  background-size:240% 100%!important;animation:speed-button-flow 1.5s linear infinite;
  box-shadow:0 10px 24px rgba(20,119,212,.20)!important;
}

@keyframes speed-icon-breathe{
  0%,100%{transform:translateY(0) scale(1);filter:saturate(1)}
  50%{transform:translateY(-3px) scale(1.035);filter:saturate(1.12)}
}
@keyframes speed-ring{
  0%{opacity:.7;transform:scale(.88)}
  85%,100%{opacity:0;transform:scale(1.23)}
}
@keyframes speed-live-dot{
  0%,100%{transform:scale(.86);box-shadow:0 0 0 4px rgba(45,190,112,.09)}
  50%{transform:scale(1.15);box-shadow:0 0 0 8px rgba(45,190,112,.05)}
}
@keyframes speed-card-shimmer{to{transform:translateX(130%)}}
@keyframes speed-value-pulse{50%{opacity:.48;transform:scale(.96)}}
@keyframes speed-gradient-flow{to{background-position:-220% 0}}
@keyframes speed-progress-head{to{transform:translateY(-50%) scale(1.28)}}
@keyframes speed-spin{to{transform:rotate(360deg)}}
@keyframes speed-button-flow{to{background-position:-240% 0}}
@media(prefers-reduced-motion:reduce){
  #tab-speed .speed-hero.is-running .speed-icon,
  #tab-speed .speed-hero.is-running .speed-icon::before,
  #tab-speed .speed-hero.is-running .speed-icon::after,
  #tab-speed .speed-hero.is-running .speed-local-badge span,
  #tab-speed .speed-result.is-measuring::after,
  #tab-speed .speed-result.is-measuring strong,
  #tab-speed .speed-progress.is-running .speed-progress__bar span,
  #tab-speed .speed-progress.is-running .speed-progress__bar span::after,
  #tab-speed .speed-progress.is-running .speed-progress__text::before,
  #tab-speed .speed-hero.is-running #btnSpeed:disabled{animation:none!important}
}
/* Boleto digital Norcom: acesso principal sem download automático */
.digital-barcode{margin:15px 0;padding:16px;border:1px solid #d5e3ef;border-radius:16px;background:#f8fbff}
.digital-barcode[hidden]{display:none!important}
.digital-barcode__label{font-size:12px;font-weight:700;color:#47637e;margin-bottom:9px}
.digital-barcode code{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.7;color:#123451;margin-bottom:13px}
#pixDownloadNorcomBtn{margin-top:12px;opacity:.88}
