/* IRIS v2 — camada do design system Tenable sobre o Metronic.
   Tudo escopado em body.iv2. Tokens: assets/iris-v2/tokens/*.css. Raio 0, sem sombras. */

/* ==========================================================================
   1. Base (porta do tokens/base.css)
   ========================================================================== */
body.iv2{
  --bs-font-sans-serif:var(--font-sans);
  --bs-body-font-family:var(--font-sans);
  --bs-app-bg-color:var(--surface-subtle);
  --iv2-ease:cubic-bezier(.2,0,0,1);
  font-family:var(--font-sans) !important;
  letter-spacing:var(--tracking-default);
  color:var(--text-primary);
  background-color:var(--surface-subtle);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-kerning:normal;
}
body.iv2 input,body.iv2 select,body.iv2 textarea,body.iv2 button{font-family:inherit;letter-spacing:inherit}
body.iv2 a:not([class]){color:inherit;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
body.iv2 a:not([class]):hover{background:var(--color-highlight-yellow);color:var(--color-pure-black);text-decoration:none}
body.iv2 ::selection{background:var(--color-highlight-yellow);color:var(--color-pure-black)}
body.iv2 :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
body.iv2 .tn-highlight{background-image:linear-gradient(var(--highlight),var(--highlight));background-repeat:no-repeat;background-size:100% 1.04em;background-position:0 calc(50% + .06em);padding:0 .14em;margin:0 -.14em;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--color-pure-black)}

body.iv2 a.tn-btn--outline,body.iv2 a.tn-btn--ghost{color:var(--text-primary)}
body.iv2 a.tn-btn--primary{color:var(--color-pure-black)}
body.iv2 a.tn-btn:hover{text-decoration:none}
body.iv2 a.tn-btn--outline:hover{color:var(--color-pure-black)}

.iv2-hidden{display:none !important}
.iv2-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
.iv2-caption{font-size:12px;font-weight:500;line-height:1.25;letter-spacing:var(--tracking-caption);text-transform:uppercase}
.iv2-caption--muted{color:#A8ADB0}
.iv2-caption--faint{color:#969696}
.iv2-caption--tertiary{color:var(--text-tertiary)}
.iv2-mono{font-family:var(--font-mono);font-size:11px;letter-spacing:0}
.iv2-num{font-variant-numeric:tabular-nums}
.iv2-link{color:inherit;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;cursor:pointer}
.iv2-link:hover{background:var(--color-highlight-yellow);color:var(--color-pure-black);text-decoration:none}
.iv2-link--strong{font-weight:500}
.iv2-linkbtn{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit}
.iv2-stack-16{display:flex;flex-direction:column;gap:16px}
.iv2-stack-18{display:flex;flex-direction:column;gap:18px}
.iv2-row-8{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.iv2-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}
.iv2-icon{display:inline-flex;flex:none}
.iv2-icon svg{display:block}

/* Spinner (único elemento com raio) */
.iv2-spinner{display:none;width:16px;height:16px;flex:none;box-sizing:border-box;border:2px solid rgba(25,33,36,.25);border-top-color:#192124;border-radius:50%;animation:iv2Spin .7s linear infinite}
[data-theme="dark"] .iv2-spinner--auto{border-color:rgba(255,255,255,.25);border-top-color:#fff}
@keyframes iv2Spin{to{transform:rotate(360deg)}}
.iv2-submit .btn-loading-text{display:none}
.iv2-submit[data-kt-indicator="on"] .btn-text{display:none}
.iv2-submit[data-kt-indicator="on"] .btn-loading-text{display:inline}
.iv2-submit[data-kt-indicator="on"] .iv2-spinner,.iris-signup-btn-primary.loading .iris-signup-spinner,.iv2-busy .iv2-spinner{display:inline-block}
.iv2-submit[data-kt-indicator="on"],.iris-signup-btn-primary.loading{pointer-events:none}

/* Títulos: o iris-compact.css força tamanhos com !important */
body.iv2 .iv2-h1{font-size:40px !important;font-weight:300 !important;line-height:1 !important;margin:0 !important;letter-spacing:var(--tracking-default)}
body.iv2 .iv2-h2{font-size:24px !important;font-weight:400 !important;line-height:1.1 !important;margin:0 !important}
body.iv2 .iv2-h3{font-size:20px !important;font-weight:400 !important;line-height:1.15 !important;margin:0 !important}
body.iv2 .iv2-auth p,body.iv2 .iv2-home p,body.iv2 .iv2-drawer p,body.iv2 .iv2-dialog p,body.iv2 .iv2-toasts p{margin:0 !important}

/* ==========================================================================
   2. ProgressBar · Stat · BarChart (recriados do React)
   ========================================================================== */
.iv2-pb{--h:8px;--p:calc(var(--h) * .2887);--iv2-hexclip:polygon(var(--p) 0,calc(100% - var(--p)) 0,100% 50%,calc(100% - var(--p)) 100%,var(--p) 100%,0 50%);position:relative;height:var(--h);background:#CCCCCC;clip-path:var(--iv2-hexclip);flex:1 1 auto;min-width:0}
.iv2-pb__fill{height:100%;max-width:100%;background:#1E2426;clip-path:var(--iv2-hexclip);min-width:calc(var(--p) * 2);transition:width 200ms var(--iv2-ease);box-sizing:border-box}
.iv2-pb__fill.is-zero{min-width:0;width:0 !important}
.iv2-pb--label .iv2-pb__fill{min-width:max(calc(var(--h) * 1.6),60px);display:flex;align-items:center;justify-content:flex-end;padding-right:calc(var(--p) + 8px);font-size:max(12px,calc(var(--h) * .35));font-weight:500;line-height:1;color:#FFFFFF;white-space:nowrap}
[data-theme="dark"] .iv2-pb:not(.iv2-pb--light),.iv2-pb--dark{background:#44494B}
[data-theme="dark"] .iv2-pb:not(.iv2-pb--light) .iv2-pb__fill,.iv2-pb--dark .iv2-pb__fill{background:#E7FF00;color:#192124}

.iv2-stat{--s:48px;display:flex;flex-direction:column;gap:10px;min-width:0}
.iv2-stat__v{font-size:var(--s);font-weight:300;line-height:1;white-space:nowrap;letter-spacing:var(--tracking-default);color:inherit}
.iv2-stat__l{font-size:max(14px,calc(var(--s) / 3));line-height:1.25;color:inherit}

.iv2-bars{--vs:18px;display:flex;align-items:flex-end;gap:6px;height:190px}
.iv2-bar{flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.iv2-bar__col{display:flex;flex-direction:column;height:max(calc(var(--vs) * 3.5),var(--pct));min-height:calc(var(--vs) * 3.5)}
.iv2-bar__top{width:100%;aspect-ratio:3.464/1;flex:none;clip-path:polygon(0 100%,50% 0,100% 100%);background:var(--c);margin-bottom:-1px}
.iv2-bar__body{flex:1 1 auto;background:var(--c);color:var(--fg,#192124);display:flex;flex-direction:column;justify-content:space-between;padding:6px 6px 8px;min-height:0;overflow:hidden}
.iv2-bar__v{font-size:var(--vs);font-weight:300;line-height:1;white-space:nowrap}
.iv2-bar__l{font-size:max(11px,calc(var(--vs) * .46));font-weight:500;letter-spacing:.02em;line-height:1.1;white-space:normal;overflow-wrap:anywhere}

/* ==========================================================================
   3. Login e 2FA
   ========================================================================== */
body.iv2.iv2-auth-body{margin:0;min-height:100vh;background:#FFFFFF;color:#192124;--bs-body-bg:#FFFFFF}
.iv2-auth{display:flex;flex-wrap:wrap;min-height:100vh;background:#FFFFFF}
.iv2-auth__brand{flex:1 1 420px;min-height:520px;background:#1E2426;color:#FFFFFF;display:flex;flex-direction:column}
.iv2-auth__brand-top{padding:58px 58px 0;display:flex;flex-direction:column;gap:clamp(48px,10vh,120px)}
.iv2-auth__brand-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.iv2-auth__lockup{height:28px;width:auto;display:block}
.iv2-auth__hero{display:flex;flex-direction:column;gap:28px}
.iv2-auth__iris{height:96px;width:auto;display:block;align-self:flex-start}
body.iv2 .iv2-auth__title{font-size:clamp(44px,4.6vw,64px) !important;line-height:.92 !important;font-weight:300 !important;margin:0 !important;color:#FFFFFF;max-width:15ch;letter-spacing:var(--tracking-default);text-wrap:balance}
.iv2-auth__lead{color:#A8ADB0;max-width:44ch;font-size:16px;line-height:1.25}
.iv2-auth__pattern{position:relative;overflow:hidden;flex:1 1 auto;min-height:200px;margin-top:56px;background:#1E2426}
.iv2-auth__pattern canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.iv2-auth__panel{flex:0 1 480px;min-width:min(100%,360px);padding:58px clamp(28px,4vw,58px);display:flex;flex-direction:column;justify-content:center;background:#FFFFFF;box-sizing:border-box}
.iv2-auth__form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:28px}
.iv2-auth__head{display:flex;flex-direction:column;gap:12px}
body.iv2 .iv2-auth__h2{font-size:40px !important;font-weight:300 !important;line-height:1 !important;margin:0 !important;color:#192124}
.iv2-auth__sub{color:#44494B;font-size:16px;line-height:1.25}
.iv2-auth__fields{display:flex;flex-direction:column;gap:20px;margin:0}
.iv2-auth__label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.iv2-auth__label-row .iv2-link{font-size:14px}
.iv2-auth__pass{padding-right:48px}
.iv2-auth__eye{position:absolute;top:2px;right:2px;width:40px;height:40px;color:#44494B}
.iv2-auth__or{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#737778}
.iv2-auth__or span:not(.iv2-caption){height:1px;background:#D9D9D9}
.iv2-auth__signup{display:flex;gap:6px;flex-wrap:wrap;font-size:14px;color:#44494B}
.iv2-auth__signup .iv2-link{color:#192124}
.iv2-auth__help{display:flex;flex-direction:column;gap:10px;font-size:14px;color:#44494B}
.iv2-auth__help .iv2-link{align-self:flex-start;color:#192124}
.iv2-back{margin-left:-8px}
.iv2-notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:#F2F2F2;border:1px solid #D9D9D9;font-size:14px;line-height:1.3;color:#192124}
.iv2-notice svg{flex:none;margin-top:1px}

/* Campos do auth não acompanham tema escuro */
.iv2-auth-body .tn-input{background:#FFFFFF;color:#192124}

/* FormValidation (Metronic) no padrão tn-field__error */
body.iv2 .fv-plugins-message-container.invalid-feedback,body.iv2 .fv-plugins-message-container .invalid-feedback{display:flex !important;align-items:center;gap:8px;margin-top:2px;font-size:14px;line-height:1.25;color:var(--text-primary)}
body.iv2 .fv-plugins-message-container.invalid-feedback:empty{display:none !important}
body.iv2 .fv-plugins-message-container.invalid-feedback::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") center/16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") center/16px 16px no-repeat}
body.iv2 .fv-plugins-message-container.invalid-feedback > div{background-image:linear-gradient(var(--highlight),var(--highlight));background-repeat:no-repeat;background-size:100% 1.04em;background-position:0 calc(50% + .06em);padding:0 .14em;color:var(--color-pure-black)}
body.iv2 .tn-input.is-invalid,body.iv2 .fv-plugins-bootstrap5-row-invalid .tn-input{border-color:var(--border-strong);box-shadow:inset 0 0 0 1px var(--border-strong);background-image:none}
body.iv2 .tn-input.is-valid{border-color:var(--border-default);background-image:none}
.tn-field__error svg{flex:none}

/* 2FA: 6 caixas sobre um input real */
.iv2-otp-wrap{display:flex;flex-direction:column;gap:10px}
.iv2-otp{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:360px}
.iv2-otp__box{height:60px;box-sizing:border-box;border:1px solid #969696;background:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:300;line-height:1;color:#192124;transition:border-color 120ms var(--iv2-ease),box-shadow 120ms var(--iv2-ease)}
.iv2-otp__box.is-filled,.iv2-otp__box.is-active{border-color:#1E2426}
.iv2-otp__box.is-active{box-shadow:inset 0 0 0 1px #1E2426}
.iv2-otp__input{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;border:0;outline:0 !important;background:transparent;color:transparent;caret-color:transparent;font-size:16px;letter-spacing:0;padding:0;cursor:text;-webkit-text-fill-color:transparent}
.iv2-otp__input::selection{background:transparent}
.iv2-otp.is-backup{display:block}
.iv2-otp.is-backup .iv2-otp__box{display:none}
.iv2-otp__input--backup{position:static;letter-spacing:.08em;font-family:var(--font-mono);font-size:18px}
.iv2-otp__timer{display:flex;align-items:center;gap:12px;max-width:360px;margin-top:4px}
.iv2-otp__timer .iv2-pb{--h:6px}
.iv2-otp__timer .iv2-pb__fill{transition:width 1s linear}
.iv2-otp__secs{font-size:12px;color:#737778;white-space:nowrap}

@media (max-width:899.98px){
  .iv2-auth__brand{min-height:auto}
  .iv2-auth__brand-top{padding:32px 28px 0}
  .iv2-auth__pattern{min-height:120px;margin-top:32px}
  .iv2-auth__panel{flex:1 1 100%;padding:40px 28px}
}

/* ==========================================================================
   4. Casca: layout Metronic, menu lateral e cabeçalho
   ========================================================================== */
@media (min-width:992px){
  body.iv2,body.iv2[data-kt-app-header-sticky=on],body.iv2[data-kt-app-header-minimize=on],body.iv2[data-kt-app-sidebar-minimize=on]{
    --bs-app-sidebar-width:264px;--bs-app-sidebar-width-actual:264px;
    --bs-app-header-height:64px;--bs-app-header-height-actual:64px;
  }
  body.iv2.iv2-sb-min,body.iv2.iv2-sb-min[data-kt-app-header-sticky=on]{--bs-app-sidebar-width:72px;--bs-app-sidebar-width-actual:72px}
  body.iv2.iv2-sb-min .iv2-sb-full{display:none !important}
  body.iv2:not(.iv2-sb-min) .iv2-sb-mini{display:none !important}
  body.iv2 .app-sidebar{transition:width 200ms var(--iv2-ease)}
}
@media (max-width:991.98px){
  body.iv2{--bs-app-header-height:64px;--bs-app-header-height-actual:64px}
  body.iv2 .iv2-sb-mini{display:none !important}
}

body.iv2 .app-sidebar.iv2-sb{background:#1E2426 !important;border-right:1px solid #2B2F31 !important;color:#FFFFFF;box-shadow:none !important;display:flex;flex-direction:column;overflow:hidden}
.iv2-sb__logo{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px 0 20px;box-sizing:border-box}
body.iv2.iv2-sb-min .iv2-sb__logo{padding:0 20px;justify-content:center}
@media (min-width:992px){body.iv2.iv2-sb-min .iv2-sb__brand{display:none}}
.iv2-sb__brand{display:flex;align-items:center;gap:12px;color:#FFFFFF !important;text-decoration:none !important;min-width:0}
.iv2-sb__brand:hover{background:none !important}
.iv2-sb__brand img{height:18px;width:auto;display:block}
.iv2-sb__divider{width:1px;height:20px;background:#44494B;flex:none}
.iv2-sb__name{font-size:14px;font-weight:500;letter-spacing:.14em;color:#FFFFFF}
.iv2-sb__toggle{width:32px;height:32px}
.iv2-sb__toggle span{display:inline-flex}
.iv2-sb__toggle .iv2-sb__toggle-expand{display:none}
body.iv2.iv2-sb-min .iv2-sb__toggle .iv2-sb__toggle-collapse{display:none}
body.iv2.iv2-sb-min .iv2-sb__toggle .iv2-sb__toggle-expand{display:inline-flex}
@media (max-width:991.98px){.iv2-sb__toggle{display:none !important}}

.iv2-sb__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.iv2-sb__user{display:flex;align-items:center;gap:12px;padding:16px 20px;flex:none}
.iv2-sb__avatar{width:40px;height:40px;flex:none;background:#44494B;color:#FFFFFF;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:500}
.iv2-sb__who{display:flex;flex-direction:column;gap:6px;min-width:0}
.iv2-sb__uname{font-size:14px;font-weight:500;color:#FFFFFF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iv2-sb__profile{color:#A8ADB0;align-self:flex-start}
.iv2-sb__profile .tn-hex{background:#E7FF00}

.iv2-sb__nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 0 16px;scrollbar-width:thin;scrollbar-color:#44494B transparent}
.iv2-sb__gbtn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px 8px;border:0;background:none;color:#A8ADB0;font-size:12px;font-weight:500;letter-spacing:var(--tracking-caption);text-transform:uppercase;cursor:pointer;text-align:left}
.iv2-sb__gbtn:hover{color:#FFFFFF}
.iv2-sb__chev{transition:transform 160ms var(--iv2-ease);transform:rotate(-90deg)}
.iv2-sb__group.is-open .iv2-sb__chev{transform:rotate(0deg)}
.iv2-sb__items{display:none;flex-direction:column}
.iv2-sb__group.is-open .iv2-sb__items{display:flex}
.iv2-sb__item{display:flex;align-items:center;gap:12px;min-height:36px;padding:0 20px;font-size:14px;line-height:1.25;color:#A8ADB0 !important;text-decoration:none !important;background:transparent;transition:background-color 120ms var(--iv2-ease),color 120ms var(--iv2-ease)}
.iv2-sb__item:hover{color:#FFFFFF !important;background:#2B2F31 !important}
.iv2-sb__item.is-active{background:#2B2F31;color:#FFFFFF !important}
.iv2-sb__hex{width:8px;height:9px;background:transparent}
.iv2-sb__item.is-active .iv2-sb__hex{background:#E7FF00}
.iv2-sb__label{flex:1 1 auto;min-width:0}
.iv2-sb__admin{font-size:11px;font-weight:500;letter-spacing:var(--tracking-caption);text-transform:uppercase;color:#737778}

.iv2-sb__mini{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0}
.iv2-sb__mini .iv2-sb__avatar{margin-bottom:8px}
.iv2-sb__mini-btn{width:40px;height:40px}
.iv2-sb__mini-btn.is-current{color:#E7FF00}

.iv2-sb__footer{flex:none;border-top:1px solid #2B2F31;padding:12px 20px 20px;display:flex;flex-direction:column;gap:10px}
body.iv2.iv2-sb-min .iv2-sb__footer{align-items:center;padding:12px 0 20px}
.iv2-sb__logout{display:flex;align-items:center;gap:12px;min-height:36px;color:#A8ADB0 !important;text-decoration:none !important;font-size:14px}
.iv2-sb__logout:hover{color:#FFFFFF !important;background:none !important}
.iv2-sb__ver{font-size:11px;color:#737778;line-height:1.3}

/* Drawer mobile do Metronic */
body.iv2 .drawer-overlay{background-color:rgba(30,36,38,.5)}

/* Cabeçalho */
body.iv2 .app-header.iv2-hd{background:var(--surface-page) !important;border-bottom:1px solid var(--border-subtle);box-shadow:none !important;height:var(--bs-app-header-height)}
.iv2-hd__inner{display:flex;align-items:center;gap:16px;width:100%;height:100%;padding:0 32px;box-sizing:border-box}
.iv2-hd__menu{width:40px;height:40px;margin-left:-8px;color:var(--text-primary)}
@media (min-width:992px){.iv2-hd__menu{display:none !important}}
@media (max-width:991.98px){.iv2-hd__inner{padding:0 16px}}
.iv2-hd__wrap{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:24px;height:100%}
body.iv2 .iv2-hd__title{display:flex !important;align-items:center;min-width:0;margin:0 !important}
@media (max-width:767.98px){body.iv2 .iv2-hd__date{display:none}}
@media (max-width:575.98px){body.iv2 .iv2-hd__theme-label,body.iv2 .iv2-hd__back{display:none}body.iv2 .iv2-crumb>:not(.iv2-crumb__current){display:none}}
.iv2-crumb{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;font-size:12px;font-weight:500;letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--text-tertiary)}
.iv2-crumb__link{color:var(--text-tertiary) !important;text-decoration:none !important}
.iv2-crumb__link:hover{color:var(--color-pure-black) !important;background:var(--color-highlight-yellow)}
.iv2-crumb__item{overflow:hidden;text-overflow:ellipsis}
.iv2-crumb__current{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}
.iv2-hd__back{margin-left:auto}
.iv2-hd__right{display:flex;align-items:center;gap:24px;flex:none}
.iv2-hd__date{font-size:12px;color:var(--text-secondary);white-space:nowrap}
.iv2-hd__theme{font-size:14px;color:var(--text-primary);white-space:nowrap}
@media (max-width:767.98px){.iv2-hd__date,.iv2-hd__theme-label{display:none}}
@media (max-width:575.98px){.iv2-crumb__item,.iv2-crumb__item + .iv2-crumb__sep{display:none}}

/* Banner de lembrete de 2FA */
.iv2-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 32px 0;padding:16px 20px;border:1px solid var(--border-subtle);background:var(--surface-page);color:var(--text-primary)}
.iv2-banner__icon{flex:none;display:inline-flex}
.iv2-banner__text{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.3;color:var(--text-secondary)}
.iv2-banner__title{font-size:16px;font-weight:500;color:var(--text-primary)}
.iv2-banner__actions{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:991.98px){.iv2-banner{margin:16px 16px 0}}

/* Páginas Metronic no tema escuro: textos com cor escura fixa */
body.iv2[data-theme="dark"] .app-main .text-dark,body.iv2[data-theme="dark"] .app-main .text-gray-900,body.iv2[data-theme="dark"] .app-main .text-gray-800,body.iv2[data-theme="dark"] .app-main .text-black{color:var(--text-primary) !important}
body.iv2[data-theme="dark"] .app-main .text-gray-700,body.iv2[data-theme="dark"] .app-main .text-gray-600{color:var(--text-secondary) !important}

/* Rodapé e barra de ações fixa da v1 */
body.iv2 .app-footer{background:transparent;color:var(--text-tertiary)}
@media (min-width:992px){
  body.iv2.app-sidebar-enabled .iris-sticky-action-bar,body.iv2[data-kt-app-sidebar-enabled=true] .iris-sticky-action-bar{margin-left:264px}
  body.iv2.iv2-sb-min .iris-sticky-action-bar{margin-left:72px}
}

/* ==========================================================================
   5. Overrides de bibliotecas
   ========================================================================== */
/* SweetAlert2 */
body.iv2 .swal2-container.swal2-backdrop-show{background:rgba(30,36,38,.5)}
body.iv2 .swal2-popup{border-radius:0 !important;box-shadow:none !important;font-family:var(--font-sans) !important;letter-spacing:var(--tracking-default);background:var(--surface-page);color:var(--text-primary);padding:40px 40px 32px}
body.iv2 .swal2-popup .swal2-title{font-size:28px !important;font-weight:300 !important;line-height:1.1 !important;color:var(--text-primary);padding:0;margin:0 0 12px !important}
body.iv2 .swal2-popup .swal2-html-container{font-size:16px;line-height:1.3;color:var(--text-secondary);margin:8px 0 0;padding:0}
body.iv2 .swal2-popup .swal2-input,body.iv2 .swal2-popup .swal2-textarea,body.iv2 .swal2-popup .swal2-select{border-radius:0 !important;box-shadow:none !important;border:1px solid var(--border-default);background:var(--surface-page);color:var(--text-primary);font-family:inherit}
body.iv2 .swal2-popup .swal2-checkbox{background:transparent;color:var(--text-primary)}
body.iv2 .swal2-popup .swal2-actions{gap:8px;margin-top:28px}
body.iv2 .swal2-popup .swal2-actions button{margin:0}
body.iv2 .swal2-popup .swal2-actions .swal2-confirm,body.iv2 .swal2-popup .swal2-actions .swal2-deny,body.iv2 .swal2-popup .swal2-actions .swal2-cancel{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 24px !important;border-radius:0 !important;box-shadow:none !important;font-size:16px !important;font-weight:400 !important;letter-spacing:var(--tracking-default);line-height:1}
body.iv2 .swal2-popup .swal2-actions .swal2-confirm{background:var(--color-highlight-yellow) !important;color:var(--color-pure-black) !important;border:1px solid transparent !important}
body.iv2 .swal2-popup .swal2-actions .swal2-confirm:hover{background:var(--color-white) !important;box-shadow:inset 0 0 0 1px var(--color-soft-black) !important}
body.iv2 .swal2-popup .swal2-actions .swal2-cancel,body.iv2 .swal2-popup .swal2-actions .swal2-deny{background:transparent !important;color:var(--text-primary) !important;border:1px solid currentColor !important}
body.iv2 .swal2-popup .swal2-actions .swal2-cancel:hover,body.iv2 .swal2-popup .swal2-actions .swal2-deny:hover{background:var(--color-highlight-yellow) !important;color:var(--color-pure-black) !important;border-color:var(--color-highlight-yellow) !important}
body.iv2 .swal2-popup .swal2-icon{border-color:var(--border-strong) !important;color:var(--text-primary) !important}
body.iv2 .swal2-popup .swal2-icon .swal2-icon-content{color:var(--text-primary)}
body.iv2 .swal2-popup .swal2-icon.swal2-success .swal2-success-ring{border-color:var(--border-strong) !important}
body.iv2 .swal2-popup .swal2-icon.swal2-success [class^=swal2-success-line],body.iv2 .swal2-popup .swal2-icon.swal2-error [class^=swal2-x-mark-line]{background-color:var(--text-primary) !important}
body.iv2 .swal2-popup .swal2-icon.swal2-success [class^=swal2-success-circular-line],body.iv2 .swal2-popup .swal2-icon.swal2-success .swal2-success-fix{background:transparent !important}
body.iv2 .swal2-popup .swal2-validation-message{background:transparent;color:var(--text-primary);justify-content:flex-start}
body.iv2 .swal2-popup .swal2-loader{border-color:var(--text-primary) transparent var(--text-primary) transparent}

/* toastr com cara de tn-toast */
body.iv2 :is(#toast-container,#toastr-container) > div,body.iv2 :is(#toast-container,#toastr-container) > .toastr{border-radius:0 !important;box-shadow:none !important;background-color:#1E2426 !important;background-image:none !important;color:#FFFFFF !important;opacity:1 !important;padding:16px 16px 16px 54px !important;font-family:var(--font-sans);font-size:14px;line-height:20px;position:relative;width:min(400px,calc(100vw - 48px))}
body.iv2 :is(#toast-container,#toastr-container) > div::before{content:"i";position:absolute;left:18px;top:14px;width:24px;height:24px;background:#E7FF00;color:#192124;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;line-height:1}
body.iv2 :is(#toast-container,#toastr-container) > .toast-success::before,body.iv2 :is(#toast-container,#toastr-container) > .toastr-success::before{content:"\2713"}
body.iv2 :is(#toast-container,#toastr-container) > .toast-error::before,body.iv2 :is(#toast-container,#toastr-container) > .toastr-error::before,body.iv2 :is(#toast-container,#toastr-container) > .toast-warning::before,body.iv2 :is(#toast-container,#toastr-container) > .toastr-warning::before{content:"!"}
body.iv2 :is(#toast-container,#toastr-container) .toast-title,body.iv2 :is(#toast-container,#toastr-container) .toastr-title{font-size:16px;font-weight:500;margin:0 0 2px;color:#FFFFFF}
body.iv2 :is(#toast-container,#toastr-container) .toast-message,body.iv2 :is(#toast-container,#toastr-container) .toastr-message{color:#FFFFFF}
body.iv2 :is(#toast-container,#toastr-container) .toast-progress,body.iv2 :is(#toast-container,#toastr-container) .toastr-progress{background:#E7FF00;opacity:1;height:2px}
body.iv2 :is(#toast-container,#toastr-container) .toast-close-button,body.iv2 :is(#toast-container,#toastr-container) .toastr-close-button{color:#FFFFFF;text-shadow:none;opacity:.7}

/* Modais Bootstrap com cara de tn-dialog */
body.iv2 .modal-backdrop{--bs-backdrop-bg:#1E2426;--bs-backdrop-opacity:.5;background-color:#1E2426}
body.iv2 .modal-backdrop.show{opacity:.5}
body.iv2 .modal-content{border-radius:0 !important;box-shadow:none !important;border:0 !important;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans)}
body.iv2 .modal-header{border:0 !important;padding:40px 40px 16px !important;align-items:flex-start;gap:16px}
body.iv2 .modal-header .modal-title,body.iv2 .modal-content > .modal-header h2,body.iv2 .modal-content > .modal-header h3{font-size:32px !important;font-weight:300 !important;line-height:1.1 !important;margin:0 !important;color:var(--text-primary)}
body.iv2 .modal-body{padding:0 40px 40px !important;color:var(--text-secondary)}
body.iv2 .modal-header + .modal-body{padding-top:8px !important}
body.iv2 .modal-footer{border:0 !important;padding:0 40px 40px !important;justify-content:flex-start;gap:8px}
body.iv2 .modal-footer > *{margin:0}
.iv2-modal-close{width:32px;height:32px;margin:-4px -12px 0 auto;color:var(--text-primary)}
.iv2-modal-hint{font-size:16px;line-height:1.3;color:var(--text-secondary);margin:0 0 24px !important}
@media (min-width:576px){
  body.iv2 .iv2-modal-480{max-width:480px}
  body.iv2 .iv2-modal-540{max-width:540px}
  body.iv2 .iv2-modal-660{max-width:660px}
}
@media (max-width:575.98px){
  body.iv2 .modal-header{padding:28px 24px 12px !important}
  body.iv2 .modal-body{padding:0 24px 28px !important}
  body.iv2 .modal-footer{padding:0 24px 28px !important}
}

/* select2 e DataTables nas páginas Metronic: só fonte e raio */
body.iv2 .select2-container,body.iv2 .select2-dropdown,body.iv2 .dataTables_wrapper,body.iv2 .dt-container{font-family:var(--font-sans)}
body.iv2 .select2-container .select2-selection,body.iv2 .select2-dropdown,body.iv2 .select2-search__field,body.iv2 .select2-results__option,body.iv2 .select2-selection__choice{border-radius:0 !important}
body.iv2 .dataTables_wrapper .page-link,body.iv2 .dataTables_wrapper .form-select,body.iv2 .dataTables_wrapper .form-control,body.iv2 .dt-container .page-link,body.iv2 .dt-container .dt-paging-button,body.iv2 .dt-buttons .btn,body.iv2 div.dt-button-collection{border-radius:0 !important}

/* ==========================================================================
   6. Home (Customers List · Home B)
   ========================================================================== */
.iv2-card{box-sizing:border-box;border-radius:0;background:var(--color-white);color:var(--color-pure-black);border:1px solid var(--color-y-30);position:relative;min-width:0}
[data-theme="dark"] .iv2-card{background:var(--color-soft-black);color:var(--color-white);border-color:var(--color-b-30)}
.iv2-card--dark,[data-theme="dark"] .iv2-card--dark{background:var(--color-soft-black);color:var(--color-white);border:1px solid var(--color-b-30)}
.iv2-card--dark .iv2-pb{background:#44494B}
.iv2-card--dark .iv2-pb .iv2-pb__fill{background:#E7FF00;color:#192124}

.iv2-home{padding:32px 32px 96px;display:flex;flex-direction:column;gap:24px;min-width:0;color:var(--text-primary)}
@media (max-width:991.98px){.iv2-home{padding:24px 16px 96px}}
.iv2-page-head{display:flex;flex-direction:column;gap:12px}
.iv2-page-sub{font-size:16px;line-height:1.25;color:var(--text-secondary);min-height:20px}

.iv2-layout{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
.iv2-layout__aside{flex:0 0 300px;max-width:100%;position:sticky;top:88px;align-self:flex-start}
.iv2-layout__main{flex:1 1 640px;min-width:0;display:flex;flex-direction:column;gap:24px}
@media (max-width:1023.98px){
  .iv2-layout__aside{flex:1 1 100%;position:static}
  .iv2-facets{max-height:none !important}
}

/* Facetas */
.iv2-facets{display:flex;flex-direction:column;max-height:calc(100vh - 112px);overflow:hidden}
.iv2-facets__head{padding:20px 20px 16px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:14px;flex:none}
.iv2-facets__title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.iv2-facets__title{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:400;line-height:1.1}
.iv2-facets__list{overflow-y:auto;flex:1 1 auto;min-height:0;scrollbar-width:thin}
.iv2-facets__tools{display:flex;align-items:center;gap:4px;margin-right:-8px}
.iv2-facets__min{width:32px;height:32px}

/* Facetas recolhidas */
.iv2-home--fmin .iv2-layout__aside{flex:0 0 48px}
.iv2-frail{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0 16px}
.iv2-frail__btn{display:flex;flex-direction:column;align-items:center;gap:10px;width:40px;padding:10px 0;border:0;background:transparent;color:var(--text-primary);font:inherit;cursor:pointer}
.iv2-frail__btn:hover{background:var(--color-highlight-yellow);color:var(--color-pure-black)}
.iv2-frail__btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.iv2-frail__label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:500;letter-spacing:var(--tracking-caption);text-transform:uppercase}
.iv2-frail .tn-badge{min-width:20px;justify-content:center}
@media (max-width:1023.98px){
  .iv2-home--fmin .iv2-layout__aside{flex:1 1 100%}
  .iv2-frail{flex-direction:row;padding:4px 8px;gap:4px}
  .iv2-frail__btn{flex-direction:row;width:auto;padding:8px 12px}
  .iv2-frail__label{writing-mode:horizontal-tb;transform:none}
  .iv2-frail .tn-iconbtn:first-child{order:3;margin-left:auto}
  .iv2-frail .tn-iconbtn:first-child svg{transform:rotate(90deg)}
  .iv2-facets__min svg{transform:rotate(90deg)}
}
@media (max-width:1023.98px){.iv2-facets__list{max-height:420px}}
.iv2-fgroup{padding:16px 20px 10px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:10px}
.iv2-fgroup:last-child{border-bottom:0}
.iv2-fgroup__head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary)}
.iv2-fgroup__head .iv2-link{font-size:12px;color:var(--text-primary);text-transform:none;letter-spacing:var(--tracking-default)}
.iv2-fitems{display:flex;flex-direction:column;gap:0}
.iv2-fitem{display:flex;flex-direction:column;gap:4px;padding:5px 0}
.iv2-fitem__row{display:flex;align-items:center;gap:12px}
.iv2-fitem__row .tn-check{position:relative;flex:1 1 auto;min-width:0;font-size:14px;align-items:flex-start}
.iv2-fitem__row .tn-check > span:last-child{min-width:0;overflow-wrap:anywhere;padding-top:1px}
.iv2-fitem__n{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex:none}
.iv2-fitem__sub{margin-left:30px;font-size:12px;line-height:1.25;color:var(--text-tertiary)}
.iv2-fitem__bar{margin-left:30px;height:3px;background:var(--border-subtle)}
.iv2-fitem__fill{height:100%;background:var(--text-primary);transition:width 200ms var(--iv2-ease)}
.iv2-fgroup__more{align-self:flex-start;font-size:14px;margin:6px 0 2px 30px}
.iv2-fgroup__search .tn-input{height:40px;font-size:14px}
.iv2-fgroup__empty{font-size:12px;color:var(--text-tertiary)}

/* Faixa de prioridades */
.iv2-band{background:#1E2426;color:#FFFFFF;border:1px solid #5B6062;display:flex;flex-direction:column;overflow:hidden}
.iv2-band__main{display:flex;flex-wrap:wrap;margin:0 -1px -1px 0}
.iv2-band__cell{flex:1 1 230px;padding:28px;display:flex;flex-direction:column;gap:16px;border-right:1px solid #44494B;border-bottom:1px solid #44494B;min-width:0;box-sizing:border-box}
.iv2-band__cap{color:#A8ADB0}
.iv2-band .iv2-stat{color:#FFFFFF}
.iv2-band .tn-arrowlink{color:#FFFFFF;font-size:16px;margin-top:auto;align-self:flex-start}
.iv2-band .iv2-pb{--h:12px;background:#44494B;margin-top:auto}
.iv2-band .iv2-pb .iv2-pb__fill{background:#E7FF00}
.iv2-band__sec{display:flex;flex-wrap:wrap;border-top:1px solid #44494B;margin:0 -1px -1px 0}
.iv2-band__sec .iv2-band__cell{flex:1 1 150px;padding:18px 28px;gap:8px}
.iv2-band__sec .iv2-stat{--s:28px;gap:8px}
.iv2-band__sec .iv2-stat__l{color:#A8ADB0}
.iv2-band__tone{display:flex;flex-wrap:nowrap;border-top:1px solid #44494B;margin:0 -1px -1px 0}
.iv2-band__tone-head{flex:0 0 160px;padding:18px 20px 18px 28px;display:flex;flex-direction:column;gap:8px;justify-content:center;border-right:1px solid #44494B;border-bottom:1px solid #44494B;box-sizing:border-box}
.iv2-band__tone-sub{font-size:14px;color:#A8ADB0}
.iv2-band__tone-cell{flex:1 1 0;min-width:0;padding:16px 14px;display:flex;flex-direction:column;gap:6px;text-align:left;background:transparent;border:0;border-right:1px solid #44494B;border-bottom:1px solid #44494B;color:#FFFFFF;font:inherit;cursor:pointer;box-sizing:border-box;transition:background-color 150ms var(--iv2-ease)}
.iv2-band__tone-cell:hover{background:#2A3134}
.iv2-band__tone-cell:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}
.iv2-band__tone-cell.is-active{background:#2A3134 linear-gradient(#E7FF00,#E7FF00) left bottom/100% 3px no-repeat}
.iv2-band__tone-v{font-size:24px;font-weight:300;line-height:1}
.iv2-band__tone-l{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;font-size:14px;color:#FFFFFF}
.iv2-band__tone-l span{color:#A8ADB0;font-size:12px;font-variant-numeric:tabular-nums}
.iv2-band__tone-cell .iv2-pb{--h:6px;margin-top:auto}
@media (max-width:767.98px){.iv2-band__tone{flex-wrap:wrap}.iv2-band__tone-head{flex:1 1 100%}.iv2-band__tone-cell{flex:1 1 120px}}

/* Cards de insight */
.iv2-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:24px}
.iv2-insight{padding:24px;display:flex;flex-direction:column;gap:20px}
.iv2-insight__head{display:flex;flex-direction:column;gap:6px}
.iv2-insight__sub{font-size:12px;color:var(--text-tertiary)}
.iv2-card--dark .iv2-insight__sub{color:#A8ADB0}
body.iv2 .iv2-h1,body.iv2 .iv2-h2,body.iv2 .iv2-h3{color:var(--text-primary)}
body.iv2 .iv2-card--dark .iv2-h3,body.iv2 .iv2-card--dark .iv2-h2{color:var(--color-white)}
.iv2-lic{display:flex;flex-direction:column;gap:12px}
.iv2-lic__row{display:grid;grid-template-columns:44px minmax(0,1fr) 56px;gap:12px;align-items:center}
.iv2-lic__k{font-size:14px;font-weight:500}
.iv2-lic__row .iv2-pb{--h:12px}
.iv2-lic__p{font-size:12px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary)}

/* Tabela */
.iv2-table{scroll-margin-top:80px;display:flex;flex-direction:column}
.iv2-table__head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 24px}
.iv2-table__titles{display:flex;flex-direction:column;gap:6px;min-width:0}
.iv2-table__count{font-size:14px;color:var(--text-secondary)}
.iv2-table__tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.iv2-table__tools .tn-btn{color:var(--text-primary)}
.iv2-table__tools .tn-btn--dark{color:#FFFFFF}
.iv2-table__tools .tn-btn--secondary{color:var(--color-pure-black)}
.iv2-table__tools .tn-btn--outline:hover{color:var(--color-pure-black)}
.iv2-table__notice{margin:0 24px 16px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface-subtle);font-size:14px;color:var(--text-primary)}
.iv2-table__scroll{overflow-x:auto;border-top:1px solid var(--border-subtle);scrollbar-width:thin}
.iv2-table__inner{min-width:1000px}
.iv2-row--stub{cursor:default}
.iv2-row--stub .iv2-row__stubmsg{grid-column:2 / 8;color:var(--text-secondary)}
.iv2-tr{display:grid;grid-template-columns:minmax(170px,2.2fr) minmax(115px,1.2fr) minmax(105px,1.1fr) minmax(130px,1.5fr) minmax(125px,1.8fr) minmax(80px,.9fr) minmax(82px,.9fr) 80px;gap:12px;padding:10px 16px;box-sizing:border-box}
@media (min-width:1600px){.iv2-tr{gap:16px;padding-left:24px;padding-right:24px}}
.iv2-tr--head{min-height:44px;padding-top:0;padding-bottom:0;align-items:center;background:var(--surface-subtle);color:var(--text-tertiary);font-size:12px;font-weight:500;letter-spacing:var(--tracking-caption);text-transform:uppercase}
.iv2-th{display:flex;align-items:center;gap:6px;min-width:0}
.iv2-th--sort{background:none;border:0;padding:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-align:left}
.iv2-th--sort:hover,.iv2-th--sort.is-active{color:var(--text-primary)}
.iv2-th__arrow{opacity:.35;display:inline-flex;transition:transform 120ms var(--iv2-ease)}
.iv2-th--sort.is-active .iv2-th__arrow{opacity:1}
.iv2-th--sort.is-asc .iv2-th__arrow{transform:rotate(180deg)}
.iv2-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;align-items:start;font-size:14px;line-height:1.3;transition:background-color 120ms var(--iv2-ease)}
.iv2-row:hover,.iv2-row.is-open{background:var(--surface-subtle)}
.iv2-row:focus-visible{outline-offset:-2px}
.iv2-cell{display:flex;flex-direction:column;gap:4px;min-width:0}
.iv2-cell__name{font-size:14px;font-weight:500;color:var(--text-primary);overflow-wrap:anywhere}
.iv2-cell__meta{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iv2-cell__ids{display:flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:11px;white-space:nowrap}
.iv2-cell__line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.iv2-copy{width:22px;height:22px;color:var(--text-tertiary)}
.iv2-cell__pct{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:500;line-height:1.1}
.iv2-cell__pct small{font-size:12px;font-weight:400;color:var(--text-secondary)}
.iv2-cell .iv2-pb{--h:8px;flex:none;width:100%}
.iv2-badges{display:flex;flex-wrap:wrap;gap:4px}
.iv2-pip{width:8px;height:8px;flex:none;box-shadow:inset 0 0 0 1px rgba(25,33,36,.35)}
.iv2-trend{display:inline-flex}
.iv2-trend--up{color:var(--text-primary)}
.iv2-trend--down{color:var(--text-tertiary)}
.iv2-actions{display:flex;gap:0;justify-content:flex-end}
.iv2-actions .tn-iconbtn{width:32px;height:32px;color:var(--text-primary)}
.iv2-badge-dark{background:var(--color-soft-black);color:var(--color-white)}
[data-theme="dark"] .iv2-badge-dark{background:var(--color-y-20);color:var(--color-pure-black)}
.iv2-badge-prod{background:var(--color-y-20);color:var(--color-pure-black);border-color:transparent}
[data-theme="dark"] .iv2-badge-prod{background:transparent;color:currentColor;border-color:currentColor}
.iv2-table__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--border-subtle);font-size:14px;color:var(--text-secondary)}
.iv2-pager{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.iv2-pager .tn-iconbtn{width:40px;height:40px;color:var(--text-primary)}
.iv2-pager .tn-control{width:84px}
.iv2-pager .tn-select{height:40px;padding-left:12px;padding-right:32px;font-size:14px}
.iv2-pager .tn-control__icon{right:10px}
.iv2-empty{padding:56px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.iv2-empty .tn-hex{width:40px;height:46px;background:var(--border-subtle)}
.iv2-empty__title{font-size:24px;font-weight:300;line-height:1.1}
.iv2-empty__text{font-size:16px;color:var(--text-secondary)}
.iv2-loading{padding:56px 24px;display:flex;align-items:center;gap:12px;color:var(--text-secondary)}
.iv2-skel{background:var(--surface-subtle);min-height:12px}

/* Popover (Export) */
.iv2-pop-wrap{position:relative}
.iv2-pop{position:absolute;right:0;top:calc(100% + 4px);width:220px;background:var(--surface-page);border:1px solid var(--border-default);z-index:40;display:flex;flex-direction:column;padding:4px 0}
.iv2-pop__item{display:flex;align-items:center;height:40px;padding:0 16px;border:0;background:none;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;width:100%}
.iv2-pop__item:hover,.iv2-pop__item:focus-visible{background:var(--color-highlight-yellow);color:var(--color-pure-black);outline:0}

/* Painel do cliente */
.iv2-drawer{position:fixed;inset:0;z-index:1060;display:flex;justify-content:flex-end}
.iv2-drawer__scrim{position:absolute;inset:0;background:rgba(30,36,38,.5);animation:iv2Fade 160ms var(--iv2-ease)}
.iv2-drawer__panel{position:relative;width:min(560px,100vw);height:100%;overflow-y:auto;background:var(--surface-page);color:var(--text-primary);border-left:1px solid var(--border-subtle);animation:iv2Slide 200ms var(--iv2-ease);display:flex;flex-direction:column}
@keyframes iv2Fade{from{opacity:0}}
@keyframes iv2Slide{from{transform:translateX(24px);opacity:.6}}
.iv2-drawer__bar{position:sticky;top:0;z-index:2;height:56px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 0 28px;background:var(--surface-page);border-bottom:1px solid var(--border-subtle);color:var(--text-tertiary)}
.iv2-drawer__bar .tn-iconbtn{width:32px;height:32px;color:var(--text-primary)}
.iv2-drawer__intro{padding:28px 28px 24px;display:flex;flex-direction:column;gap:16px}
.iv2-drawer__name{font-size:32px;font-weight:300;line-height:1.05;overflow-wrap:anywhere}
.iv2-drawer__meta{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-secondary)}
.iv2-drawer__btns{display:flex;flex-wrap:wrap;gap:8px}
.iv2-drawer__btns .tn-btn--outline{color:var(--text-primary)}
.iv2-drawer__btns .tn-btn--outline:hover{color:var(--color-pure-black)}
.iv2-dsec{padding:24px 28px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:16px}
.iv2-dsec__title{color:var(--text-secondary)}
.iv2-dsec__big{font-size:56px;font-weight:300;line-height:1}
.iv2-dsec__text{font-size:14px;color:var(--text-secondary)}
.iv2-dsec .iv2-pb{--h:24px;flex:none;width:100%}
.iv2-dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.iv2-dgrid__cell{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px}
.iv2-dgrid__cell strong{font-size:20px;font-weight:300;line-height:1.1}
.iv2-dsplit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border-subtle)}
.iv2-dsplit > .iv2-dsec{border-top:0}
.iv2-dsplit > .iv2-dsec + .iv2-dsec{border-left:1px solid var(--border-subtle)}
.iv2-dprod{display:grid;grid-template-columns:minmax(0,1fr) 120px 72px;gap:12px;align-items:center;min-height:44px;border-bottom:1px solid var(--border-subtle)}
.iv2-dprod:last-child{border-bottom:0}
.iv2-dprod__l{display:flex;flex-direction:column;gap:2px;min-width:0}
.iv2-dprod__l b{font-weight:500;font-size:14px}
.iv2-dprod__l span{font-size:12px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iv2-dprod .iv2-pb{--h:8px;flex:none;width:100%}
.iv2-dprod__n{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:14px;font-variant-numeric:tabular-nums}
.iv2-dfield{display:flex;flex-direction:column;gap:8px}
.iv2-dfield .tn-field__hint{font-size:12px}
.iv2-dfoot{padding:16px 28px 32px;border-top:1px solid var(--border-subtle)}
.iv2-dfoot .tn-btn{color:var(--text-primary)}
@media (max-width:575.98px){.iv2-dsplit{grid-template-columns:1fr}.iv2-dsplit > .iv2-dsec + .iv2-dsec{border-left:0;border-top:1px solid var(--border-subtle)}}

/* Dialog (Mail Advisor) */
.iv2-dialog-scrim{position:fixed;inset:0;z-index:1070;background:rgba(30,36,38,.5);display:flex;align-items:center;justify-content:center;padding:24px;animation:iv2Fade 160ms var(--iv2-ease)}
.iv2-dialog{position:relative;width:min(660px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-sizing:border-box;padding:40px;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans)}
.iv2-dialog__title{font-size:32px;font-weight:300;line-height:1.1;margin:0 48px 12px 0}
.iv2-dialog__close{position:absolute;top:28px;right:28px;width:32px;height:32px;color:var(--text-primary)}
.iv2-dialog__lead{font-size:16px;line-height:1.3;color:var(--text-secondary);margin-bottom:24px}
.iv2-dialog__lead b{color:var(--text-primary);font-weight:500}
.iv2-dialog__body{display:flex;flex-direction:column;gap:16px}
.iv2-dialog__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.iv2-dialog__actions .tn-btn--outline{color:var(--text-primary)}
.iv2-dialog__actions .tn-btn--outline:hover{color:var(--color-pure-black)}
.iv2-editor{min-height:160px;max-height:min(320px,34vh);overflow-y:auto;border:1px solid #969696;padding:12px 14px;font-size:14px;line-height:1.4;color:var(--text-primary);background:var(--surface-page);outline:none}
.iv2-editor:focus{border-color:var(--border-strong);box-shadow:inset 0 0 0 1px var(--border-strong)}
.iv2-editor p{margin:0 0 8px !important}
.iv2-editor ul{margin:0 0 8px;padding-left:20px}
.iv2-editor blockquote{margin:0 0 8px;padding-left:12px;border-left:2px solid var(--border-subtle)}

/* Toasts da v2 */
.iv2-toasts{position:fixed;right:24px;bottom:24px;z-index:1090;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
.iv2-toasts .tn-toast{pointer-events:auto;animation:iv2Slide 200ms var(--iv2-ease)}
.iv2-toasts .tn-toast .tn-iconbtn{width:24px;height:24px;color:#FFFFFF}
.iv2-toasts .tn-toast .tn-iconbtn:hover{color:var(--color-pure-black)}
.iv2-toast__text{color:#D9D9D9;overflow-wrap:anywhere}
@media (max-width:575.98px){.iv2-toasts{left:16px;right:16px;bottom:16px}.iv2-toasts .tn-toast{width:100%}}

/* Impressão (Export as PDF) */
.iv2-print{display:none}
@media print{
  body.iv2.iv2-printing > *:not(.iv2-print){display:none !important}
  body.iv2.iv2-printing .iv2-print{display:block !important;font-family:var(--font-sans);color:#192124}
  .iv2-print h1{font-size:20px !important;font-weight:400 !important;margin:0 0 4px !important}
  .iv2-print p{font-size:11px;margin:0 0 12px !important;color:#44494B}
  .iv2-print table{width:100%;border-collapse:collapse;font-size:9px}
  .iv2-print th,.iv2-print td{border-bottom:1px solid #D9D9D9;padding:4px 6px;text-align:left;vertical-align:top}
  .iv2-print th{text-transform:uppercase;letter-spacing:.02em;color:#44494B}
  @page{size:landscape;margin:12mm}
}

/* ==========================================================================
   7. Páginas internas v2 (Reports, QBR Builder)
   ========================================================================== */
.iv2-stack-8{display:flex;flex-direction:column;gap:8px}
.iv2-page{padding:32px 32px 96px;color:var(--text-primary);min-width:0}
@media (max-width:991.98px){.iv2-page{padding:24px 16px 96px}}
.iv2-page__inner{display:flex;flex-direction:column;gap:24px;min-width:0}
.iv2-page-head--row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.iv2-page .tn-btn{color:var(--text-primary)}
.iv2-page .tn-btn--primary{color:var(--color-pure-black)}
.iv2-page .tn-btn--outline:hover,.iv2-page .tn-btn--ghost:hover{color:var(--color-pure-black)}
.iv2-page a.tn-btn{text-decoration:none}

/* Reports */
.iv2-rep{display:flex;flex-direction:column}
.iv2-rep__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px 28px 20px;border-bottom:1px solid var(--border-subtle)}
.iv2-rep__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px 28px;padding:24px 28px 32px}
.iv2-range{gap:10px}
.iv2-range__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.iv2-range__head .tn-badge{font-variant-numeric:tabular-nums}
.iv2-range__scale{display:flex;justify-content:space-between;font-size:12px;color:var(--text-tertiary)}
.iv2-range__input{-webkit-appearance:none;appearance:none;width:100%;height:24px;margin:0;background:transparent;cursor:pointer}
.iv2-range__input::-webkit-slider-runnable-track{height:4px;background:var(--border-default)}
.iv2-range__input::-moz-range-track{height:4px;background:var(--border-default)}
.iv2-range__input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border:1px solid var(--border-strong);background:var(--color-highlight-yellow);border-radius:0}
.iv2-range__input::-moz-range-thumb{width:18px;height:18px;border:1px solid var(--border-strong);background:var(--color-highlight-yellow);border-radius:0}
.iv2-range__input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.iv2-s2-opt{display:flex;align-items:center;justify-content:space-between;gap:12px}

body.iv2 .iv2-page .select2-container--bootstrap-5 .select2-selection{min-height:48px;padding:8px 40px 8px 12px;border:1px solid var(--border-default);background:var(--surface-page);color:var(--text-primary);box-shadow:none !important;font-size:16px}
body.iv2 .iv2-page .select2-container--bootstrap-5.select2-container--focus .select2-selection,body.iv2 .iv2-page .select2-container--bootstrap-5.select2-container--open .select2-selection{border-color:var(--border-strong);outline:2px solid var(--focus-ring);outline-offset:-1px}
body.iv2 .iv2-page .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{border:1px solid var(--border-strong);background:var(--surface-subtle);color:var(--text-primary);font-size:14px;padding:2px 8px}
body.iv2 .iv2-page .select2-container--bootstrap-5 .select2-selection--multiple{display:flex;flex-wrap:wrap;align-items:center;gap:4px;height:auto}
body.iv2 .iv2-page .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered{display:contents}
body.iv2 .iv2-page .select2-container--bootstrap-5 .select2-selection--multiple .select2-search--inline{flex:1 1 80px;display:flex;margin:0}
body.iv2 .iv2-page .select2-container--bootstrap-5 .select2-selection--multiple .select2-search .select2-search__field{color:var(--text-primary);font-family:var(--font-sans);width:100% !important;height:28px;margin:0;border:0 !important;outline:none !important;box-shadow:none !important;background:transparent}
body.iv2 .iv2-page .select2-container--bootstrap-5 .select2-selection--multiple .select2-search .select2-search__field::placeholder{color:var(--text-tertiary)}
body.iv2 .select2-container--bootstrap-5 .select2-dropdown{border:1px solid var(--border-strong);background:var(--surface-page);color:var(--text-primary);box-shadow:none}
body.iv2 .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option{color:var(--text-primary);font-size:14px;padding:8px 12px}
body.iv2 .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted{background:var(--color-highlight-yellow);color:var(--color-pure-black)}
body.iv2 .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected{background:var(--surface-subtle);color:var(--text-primary)}
body.iv2 .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field{border:1px solid var(--border-default);background:var(--surface-page);color:var(--text-primary);box-shadow:none}

/* Dropdowns do Bootstrap em páginas v2 */
body.iv2 .dropdown-menu.iv2-dd{border-radius:0;box-shadow:none;border:1px solid var(--border-strong);background:var(--surface-page);padding:4px 0;min-width:240px;font-family:var(--font-sans);z-index:1055}
body.iv2 .iv2-dd .dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14px;color:var(--text-primary);background:transparent;border-radius:0}
body.iv2 .iv2-dd .dropdown-item svg{flex:none;color:var(--text-secondary)}
body.iv2 .iv2-dd .dropdown-item:hover,body.iv2 .iv2-dd .dropdown-item:focus{background:var(--color-highlight-yellow);color:var(--color-pure-black)}
body.iv2 .iv2-dd .dropdown-item:hover svg,body.iv2 .iv2-dd .dropdown-item:focus svg{color:var(--color-pure-black)}
body.iv2 .iv2-dd .dropdown-divider{margin:4px 0;border-top:1px solid var(--border-subtle);opacity:1}
body.iv2 .iv2-dd .iv2-dd__danger{font-weight:500}

.iv2-page .iv2-notice{background:var(--surface-subtle);border-color:var(--border-subtle);color:var(--text-primary);align-items:center;flex-wrap:wrap}
.iv2-notice--error{border-left:4px solid var(--border-strong) !important}
.iv2-notice.d-none{display:none !important}
.iv2-sep{border:0;border-top:1px solid var(--border-subtle);margin:20px 0;opacity:1}

/* QBR Builder */
.iv2-qbr__form{padding:28px;display:flex;flex-direction:column;gap:24px}
.iv2-qbr__fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1fr);gap:20px;max-width:960px}
.iv2-qbr__modes{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--border-subtle)}
@media (max-width:767.98px){.iv2-qbr__fields{grid-template-columns:1fr}}

.iv2-qlist{display:flex;flex-direction:column}
.iv2-qlist__head{padding:20px 24px}
.iv2-qlist__list{list-style:none;margin:0;padding:0}
.iv2-qlist__row{display:grid;grid-template-columns:minmax(200px,2fr) minmax(90px,.7fr) minmax(80px,.6fr) minmax(140px,1.3fr) minmax(110px,.9fr) 216px;gap:16px;align-items:center;padding:12px 24px;border-top:1px solid var(--border-subtle)}
.iv2-qlist__row--head{min-height:44px;padding-top:0;padding-bottom:0;background:var(--surface-subtle);color:var(--text-tertiary);font-size:12px;font-weight:500;letter-spacing:var(--tracking-caption);text-transform:uppercase}
.iv2-qlist__list .iv2-qlist__row:hover{background:var(--surface-subtle)}
.iv2-qlist__name{display:flex;flex-direction:column;gap:4px;min-width:0}
.iv2-qlist__name .iv2-link{font-size:16px;overflow-wrap:anywhere}
.iv2-qlist__meta{font-size:12px;color:var(--text-tertiary)}
.iv2-qlist__tm{font-size:14px;color:var(--text-secondary);min-width:0;overflow-wrap:anywhere}
.iv2-qlist__acts-h{text-align:right}
.iv2-qlist__acts{align-items:center}
.iv2-qlist__acts a.tn-iconbtn{color:var(--text-primary)}
.iv2-qlist__acts a.tn-iconbtn:hover{color:var(--color-pure-black)}
.iv2-qlist .dropdown-menu.iv2-dd{right:0;left:auto;margin-top:4px}
@media (max-width:991.98px){
  .iv2-qlist__row--head{display:none}
  .iv2-qlist__row{grid-template-columns:repeat(4,auto) 1fr;gap:8px 12px;padding:16px}
  .iv2-qlist__name{grid-column:1 / -1}
  .iv2-qlist__acts{grid-column:1 / -1;justify-content:flex-start;margin-left:-10px}
}

/* driver.js (tours) */
body.iv2 .driver-popover{border-radius:0;box-shadow:none;border:1px solid var(--border-strong);background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);padding:20px;max-width:360px}
body.iv2 .driver-popover-title{font-family:var(--font-sans);font-size:18px;font-weight:500;color:var(--text-primary)}
body.iv2 .driver-popover-description{font-size:14px;line-height:1.5;color:var(--text-secondary)}
body.iv2 .driver-popover-progress-text{font-size:12px;color:var(--text-tertiary)}
body.iv2 .driver-popover-close-btn{color:var(--text-secondary)}
body.iv2 .driver-popover-close-btn:hover{color:var(--text-primary)}
body.iv2 .driver-popover-footer button{border-radius:0;text-shadow:none;font-family:var(--font-sans);font-size:14px;padding:6px 14px;border:1px solid var(--border-strong);background:transparent;color:var(--text-primary)}
body.iv2 .driver-popover-footer .driver-popover-next-btn{background:var(--color-highlight-yellow);border-color:var(--color-highlight-yellow);color:var(--color-pure-black)}
body.iv2 .driver-popover-footer button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
body.iv2 .driver-popover-footer .driver-popover-btn-disabled{opacity:.4}
body.iv2 .driver-popover-arrow-side-top.driver-popover-arrow{border-top-color:var(--surface-page)}
body.iv2 .driver-popover-arrow-side-bottom.driver-popover-arrow{border-bottom-color:var(--surface-page)}
body.iv2 .driver-popover-arrow-side-left.driver-popover-arrow{border-left-color:var(--surface-page)}
body.iv2 .driver-popover-arrow-side-right.driver-popover-arrow{border-right-color:var(--surface-page)}

/* IA do Adoption Report (?page=ai-settings) */
.iv2-aiset__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.iv2-aiset__card{display:flex;flex-direction:column;gap:20px;padding:24px 28px 28px}
.iv2-aiset__head{display:flex;flex-direction:column;gap:6px}
.iv2-aiset__head--row{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
body.iv2 .iv2-aiset__sub{margin:0;font-size:14px;line-height:1.4;color:var(--text-secondary)}
.iv2-aiset__row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.iv2-aiset__switch{display:flex;flex-direction:column;gap:6px}
.iv2-aiset__switch .tn-check{font-size:15px;font-weight:500}
.iv2-aiset__switch .tn-field__hint{padding-left:50px}
.iv2-aiset__fs{border:0;padding:0;margin:0;min-width:0}
.iv2-aiset__fs legend{padding:0;margin-bottom:10px;float:none;width:auto;font-size:14px}
.iv2-aiset__radios{gap:20px}
.iv2-aiset__radios .tn-check{font-size:14px}
body.iv2 .iv2-aiset__textarea{height:auto;min-height:120px;padding:12px 14px;line-height:1.45;resize:vertical;font-size:14px}
.iv2-aiset__keys{display:flex;flex-direction:column;gap:8px}
body.iv2 .iv2-aiset__keylist{list-style:none;margin:0;padding:0;border:1px solid var(--border-subtle)}
.iv2-aiset__keylist li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;font-size:14px}
.iv2-aiset__keylist li+li{border-top:1px solid var(--border-subtle)}
.iv2-aiset__keyname{display:inline-flex;align-items:center;gap:8px;min-width:0}
body.iv2 .iv2-aiset__keyname code{font-family:var(--font-mono,monospace);font-size:12px;color:var(--text-secondary);background:transparent;padding:0}
.iv2-aiset__result{font-size:14px;color:var(--text-secondary)}
.iv2-aiset__result.is-ok{color:var(--text-primary)}
.iv2-aiset__result.is-ok::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;background:var(--color-highlight-yellow);border:1px solid var(--border-strong);vertical-align:1px}
.iv2-aiset__result.is-err{color:var(--text-primary);font-weight:500}
.iv2-aiset__kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border-subtle)}
.iv2-aiset__kpi{display:flex;flex-direction:column;gap:6px;padding:14px 16px}
.iv2-aiset__kpi+.iv2-aiset__kpi{border-left:1px solid var(--border-subtle)}
.iv2-aiset__kpi strong{font-size:24px;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--text-primary)}
.iv2-aiset__tablewrap{overflow-x:auto}
.iv2-aiset__table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}
.iv2-aiset__table th{text-align:left;font-size:12px;font-weight:500;letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--text-tertiary);padding:10px 12px;border-bottom:1px solid var(--border-default)}
.iv2-aiset__table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}
.iv2-aiset__empty{text-align:center;color:var(--text-secondary) !important;padding:28px 12px !important}
.iv2-aiset__muted{color:var(--text-tertiary)}
body.iv2 .iv2-aiset__updated{margin:16px 0 0;font-size:13px;color:var(--text-tertiary)}
@media (max-width:1199.98px){.iv2-aiset__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767.98px){.iv2-aiset__row2{grid-template-columns:minmax(0,1fr)}.iv2-aiset__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.iv2-aiset__kpi:nth-child(3){border-left:0}.iv2-aiset__kpi:nth-child(n+3){border-top:1px solid var(--border-subtle)}.iv2-aiset__card{padding:20px}.iv2-aiset__keylist li{flex-direction:column;align-items:flex-start}}
.iv2-aiset .iv2-page-head--row>.iv2-stack-8{flex:1 1 420px;max-width:760px}
