@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* ═══════════════════════ ROOT ÚNICO ═══════════════════════ */
:root {
--tvs-blue:#1565C0;--tvs-blue-dark:#0d47a1;--tvs-blue-light:#1e88e5;--tvs-blue-ghost:rgba(21,101,192,.10);--tvs-blue-ghost2:rgba(21,101,192,.06);
--tvs-accent:#E87722;--tvs-accent-dark:#c45d15;--tvs-accent-ghost:rgba(232,119,34,.10);
--tvs-white:#ffffff;--tvs-black:#0d0d0d;--tvs-gray-50:#f9fafb;--tvs-gray-100:#f1f3f5;--tvs-gray-150:#eaecf0;--tvs-gray-200:#dde1e7;--tvs-gray-300:#c8cdd6;--tvs-gray-400:#9aa3b0;--tvs-gray-500:#6b7585;--tvs-gray-600:#4e5767;--tvs-gray-700:#343d4d;--tvs-gray-800:#212936;--tvs-gray-900:#121822;
--tvs-bg:#f1f3f5;--tvs-bg2:#e8eaed;--tvs-bg3:#ffffff;--tvs-bg-card:#ffffff;--tvs-bg-hover:#f5f6f8;--tvs-bg-modal:#ffffff;--tvs-surface:#ffffff;--tvs-surface-2:#f6f8fa;--tvs-surface-3:#eef1f5;
--tvs-sidebar-bg:#0f172a;--tvs-sidebar-text:#c9cdd6;--tvs-sidebar-act:rgba(21,101,192,.18);--tvs-sidebar-border:#1e293b;
--tvs-text:#1e2532;--tvs-text-2:#404a5c;--tvs-text-3:#6a7489;--tvs-text-muted:#9aa3b0;--tvs-text-secondary:#5a6675;--tvs-text-inv:#ffffff;--tvs-tx:#1e2532;--tvs-tx2:#404a5c;--tvs-tx3:#6a7489;
--tvs-border:#dde1e7;--tvs-border-2:#eaecf0;--tvs-border-light:#eef1f5;
--tvs-success:#0f9b5e;--tvs-success-bg:rgba(15,155,94,.10);--tvs-success-bd:rgba(15,155,94,.25);
--tvs-warning:#c97c00;--tvs-warning-bg:rgba(201,124,0,.10);--tvs-warning-bd:rgba(201,124,0,.25);
--tvs-danger:#d32f2f;--tvs-danger-bg:rgba(211,47,47,.10);--tvs-danger-bd:rgba(211,47,47,.25);
--tvs-info:#1565C0;--tvs-info-bg:rgba(21,101,192,.10);--tvs-info-bd:rgba(21,101,192,.25);
--tvs-grn:#0f9b5e;--tvs-yel:#c97c00;--tvs-cyn:#0891b2;--tvs-pri:#1565C0;--tvs-cor:#1565C0;--tvs-cor-light:#1e88e5;--tvs-cor-hover:#0d47a1;--tvs-pri2:#7c3aed;--tvs-acc:#1a73c8;--tvs-red:#d32f2f;
--tvs-accent-1:#1a73c8;--tvs-accent-2:#7c3aed;--tvs-accent-3:#0f9b5e;--tvs-accent-4:#c97c00;
--tvs-font:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;--tvs-font-mono:'JetBrains Mono','Consolas',monospace;--ds-font:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
--tvs-fs-xs:0.6875rem;--tvs-fs-sm:0.75rem;--tvs-fs-base:0.8125rem;--tvs-fs-md:0.875rem;--tvs-fs-lg:1rem;--tvs-fs-xl:1.125rem;--tvs-fs-2xl:1.375rem;--tvs-fs-3xl:1.75rem;
--tvs-fw-normal:400;--tvs-fw-medium:500;--tvs-fw-semibold:600;--tvs-fw-bold:700;--tvs-fw-black:900;
--tvs-sp-1:0.25rem;--tvs-sp-2:0.5rem;--tvs-sp-3:0.75rem;--tvs-sp-4:1rem;--tvs-sp-5:1.25rem;--tvs-sp-6:1.5rem;--tvs-sp-8:2rem;--tvs-sp-10:2.5rem;--tvs-sp-12:3rem;
--tvs-radius-xs:2px;--tvs-radius-sm:4px;--tvs-radius:6px;--tvs-radius-md:8px;--tvs-radius-lg:12px;--tvs-radius-xl:16px;--tvs-radius-full:9999px;--tvs-r2:8px;
--tvs-shadow-xs:0 1px 2px rgba(0,0,0,.06);--tvs-shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--tvs-shadow:0 4px 8px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.05);--tvs-shadow-md:0 6px 16px rgba(0,0,0,.10),0 3px 6px rgba(0,0,0,.07);--tvs-shadow-lg:0 12px 28px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.08);--tvs-shadow-xl:0 20px 48px rgba(0,0,0,.14),0 6px 12px rgba(0,0,0,.09);--tvs-shadow-hover:0 8px 20px rgba(21,101,192,.12);
--tvs-ease:cubic-bezier(.4,0,.2,1);--tvs-dur-fast:120ms;--tvs-dur:200ms;--tvs-dur-slow:300ms;--tvs-transition:all 200ms cubic-bezier(.4,0,.2,1);
--tvs-sidebar-w:232px;--tvs-sidebar-w-col:64px;--tvs-header-h:52px;--tvs-toolbar-h:52px;--tvs-panel-w:280px;--tvs-safe:0px;
--tvs-z-toolbar:100;--tvs-z-modal:1000;--tvs-z-toast:9999;
--sub-bg:rgba(21,101,192,.02);--sub-border-left:3px solid rgba(21,101,192,.18);--sub-indent-line-color:rgba(21,101,192,.15);--sub-connector-color:rgba(21,101,192,.2);
--kpi-color:var(--tvs-blue);--kpi-bg:var(--tvs-blue-ghost);
--tvs-detsidebar-w:232px;--tvs-detsidebar-w-col:64px;--tvs-detsidebar-bg:var(--tvs-sidebar-bg);--tvs-detsidebar-text:var(--tvs-sidebar-text);--tvs-detsidebar-act:var(--tvs-sidebar-act);--tvs-detsidebar-border:var(--tvs-sidebar-border);
--tvs-nav-bg:var(--tvs-blue);--tvs-ms-prim:var(--tvs-blue);--tvs-ms-sec:var(--tvs-blue-dark);--tvs-ms-dest:#10b981;--tvs-ms-bg:#080b14;--tvs-ms-pri-rgb:21,101,192;
--tvs-tema-bg:#080b14;--tvs-tema-bg2:#0d1117;--tvs-tema-card:#0d1117;--tvs-tema-border:rgba(255,255,255,.08);--tvs-tema-tx:#ffffff;--tvs-tema-tx2:#94a3b8;--tvs-tema-muted:#64748b;
--tvs-instagram-gradient:linear-gradient(45deg,#f09433,#d62976,#962fbf,#4f5bd5);
--drop-bg:var(--bg-card,#161b22);--drop-border:var(--border,rgba(255,255,255,.09));--drop-tx:var(--text-primary,#e6edf3);--drop-tx2:var(--text-secondary,#8b949e);--drop-muted:var(--text-muted,#484f58);--drop-bg2:var(--bg-base,#0d1117);--drop-shadow:0 10px 40px rgba(0,0,0,.35);
--ul-pri:#1565C0;--ul-accent:#E87722;--ul-topbar-bg:#1565C0;--ul-topbar-tx:#ffffff;--ul-sidebar-bg:#0f172a;--ul-sidebar-tx:#ffffff;--ul-sidebar-w:248px;--ul-sidebar-cw:55px;
--web-pri:#1565C0;--web-sec:#0a1628;--web-accent:#facc15;--web-tx:#ffffff;--web-bg:#080b14;--web-bg-alt:#0e1420;--web-navbar-bg:#0a1628;--web-footer-bg:#060c18;--web-footer-tx:#ffffff;--web-radius:12px;--web-font:'Inter',sans-serif;--web-font-head:'Inter',sans-serif;--web-font-sz:16px;
--ms-pri:#1565C0;--ms-sec:#0d47a1;--ms-dest:#10b981;--ms-bg:#060a12;--ms-card:#0d1117;--ms-card-bord:rgba(255,255,255,.07);--ms-banner-bg:#060a12;--ms-grad-de:#1565C0;--ms-grad-ate:#1e88e5;--ms-radius:10px;--ms-font:'Inter',sans-serif;--ms-font-head:'Inter',sans-serif;--ms-font-sz:13px;--ms-overlay-cor:rgba(0,0,0,.5);--ms-card-shadow:1;--ms-hover-scale:1;--ms-grid-cols:3;--ms-glass:0;--ms-tema:dark;
--pwa-pri:#1565C0;--pwa-bg:#080b12;--pwa-nav-bg:#161b22;--pwa-nav-cor:#58a6ff;
--topbar-h:52px;--subnav-h:40px;--sidebar-w:248px;--sidebar-w-col:55px;--bg-topbar:var(--tvs-blue);--bg-subnav:var(--tvs-blue-dark);--shadow-topbar:0 2px 8px rgba(0,0,0,.18);
--bg-base:#0d1117;--bg-surface:#161b22;--bg-card:#161b22;--bg-card-hover:#1e2536;--bg-input:#0d1117;--bg-table-head:#1c2433;--bg-table-alt:#192030;
--border:rgba(255,255,255,.09);--border-hover:rgba(255,255,255,.16);--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#484f58;
--radius:6px;--radius-sm:4px;--radius-lg:12px;--radius-xl:16px;
--shadow-lg:0 12px 28px rgba(0,0,0,.4);--shadow-xl:0 20px 48px rgba(0,0,0,.5);
--trans:.15s ease;--trans-slow:.28s cubic-bezier(.4,0,.2,1);--font-mono:'JetBrains Mono','Consolas',monospace;
--totvs-orange:#E87722;--totvs-blue:#1565C0;--totvs-blue-light:#42a5f5;--totvs-blue-pale:rgba(21,101,192,.08);
--cor-primaria:var(--tvs-blue);--cor-primaria-rgb:21,101,192;
--color-danger:#ef4444;--color-danger-bg:rgba(239,68,68,.12);--color-warning:#f59e0b;--color-warning-bg:rgba(245,158,11,.12);--color-success:#10b981;--color-success-bg:rgba(16,185,129,.12);--color-info:#1565C0;--color-info-bg:rgba(21,101,192,.12);
--arc-nav-total:90px;--arc-topbar-h:52px;--arc-subnav-h:40px;
}

/* ═══════════════════════ DARK MODE ═══════════════════════ */
[data-theme="dark"] {
--tvs-bg:#101520;--tvs-bg2:#151b27;--tvs-bg3:#1e2536;--tvs-bg-card:#181e2a;--tvs-bg-hover:#1e2536;--tvs-bg-modal:#181e2a;--tvs-surface:#181e2a;--tvs-surface-2:#1e2536;--tvs-surface-3:#252d40;
--tvs-text:#e4e8f0;--tvs-text-2:#c0c9d8;--tvs-text-3:#8895aa;--tvs-text-muted:#5f6d82;--tvs-text-secondary:#8895aa;--tvs-tx:#e4e8f0;--tvs-tx2:#c0c9d8;--tvs-tx3:#8895aa;
--tvs-border:#2a3347;--tvs-border-2:#1e2840;--tvs-border-light:#202a3a;
--sub-bg:rgba(255,255,255,.025);
}

/* ═══════════════════════ RESET & BASE ═══════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{background:var(--tvs-bg);color:var(--tvs-tx);font-family:var(--tvs-font);font-size:13px;line-height:1.5;}
body.plataforma-mode{font-family:var(--ul-font,var(--tvs-font));font-size:var(--ul-font-sz,13px);background-color:var(--ul-bg,var(--tvs-bg));color:var(--text-primary,#E6EDF3);padding-top:0;}
body.plataforma-mode #mainWrapper{transition:padding-top var(--trans-slow);}
body.tvs-subnav-open{--arc-subnav-h:40px;}
body.plataforma-mode{--arc-topbar-h:var(--tvs-topbar-h,52px);--arc-subnav-h:40px;}
body.plataforma-mode.tvs-subnav-visible{--arc-subnav-h:40px;}
body:not(.plataforma-mode){background:var(--tvs-bg);color:var(--tvs-tx);}
a{color:var(--tvs-blue);text-decoration:none;}
a:hover{color:var(--tvs-blue-dark);text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;}
ul,ol{list-style:none;}

/* ═══════════════════════ SCROLLBAR ═══════════════════════ */
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--tvs-gray-300);border-radius:var(--tvs-radius-full);}
::-webkit-scrollbar-thumb:hover{background:var(--tvs-gray-400);}
.tvs-page::-webkit-scrollbar{display:none;}

/* ═══════════════════════ TOOLTIP ═══════════════════════ */
[data-tooltip]{position:relative;}
[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--tvs-gray-800);color:#fff;font-size:10px;font-weight:500;padding:4px 8px;border-radius:var(--tvs-radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--tvs-dur-fast);z-index:9999;}
[data-tooltip]:hover::after{opacity:1;}

/* ═══════════════════════ WRAPPER / TIPOGRAFIA ═══════════════════════ */
body,.tvs-wrapper{background:var(--tvs-bg);color:var(--tvs-tx);}
.tvs-wrapper h1{font-size:1.375rem;}
.tvs-wrapper h2{font-size:1.1875rem;}
.tvs-wrapper h3{font-size:1.0625rem;}
.tvs-wrapper h4{font-size:0.9375rem;}
.tvs-wrapper h5{font-size:0.875rem;}
.tvs-wrapper h6{font-size:0.8125rem;}

/* ═══════════════════════ ANIMAÇÕES ═══════════════════════ */
@keyframes tvs-fadeIn{from{opacity:0}to{opacity:1}}
@keyframes tvs-fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes tvs-fadeInUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes tvs-fadeInSub{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
@keyframes tvs-scale-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@keyframes tvs-spin{to{transform:rotate(360deg)}}
@keyframes tvs-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes tvs-toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes tvs-toast-out{to{opacity:0;transform:translateX(16px)}}
@keyframes tvs-ringPulse{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.04)}}
@keyframes tvs-heroFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(3deg)}}
@keyframes tvs-scrollBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(5px)}}
@keyframes tvs-scrollWheel{0%,100%{opacity:1;transform:translateY(0)}50%{opacity:.5;transform:translateY(4px)}}
@keyframes tvs-bnrOutL{to{opacity:0;transform:translateX(-60px)}}
@keyframes tvs-bnrOutR{to{opacity:0;transform:translateX(60px)}}
@keyframes tvs-bnrInR{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:none}}
@keyframes tvs-bnrInL{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:none}}
@keyframes tvs-bnrProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tvs-badgePulse{0%,100%{opacity:1}50%{opacity:.55;transform:scale(1.15)}}
@keyframes tvs-pulse-badge{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes tvsBadgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
@keyframes arcollConfirmIn{from{opacity:0;transform:scale(.88) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes tvs-sheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes tvs-login-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes sb-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}

.tvs-animate-in{animation:tvs-fadeIn var(--tvs-dur-slow) var(--tvs-ease) both;}
.tvs-scale-in{animation:tvs-scale-in var(--tvs-dur-slow) var(--tvs-ease) both;}
.tvs-reveal{animation:tvs-fadeInUp .5s ease forwards;}
.tvs-reveal-del{animation-delay:var(--rev-del,0s);}

/* ═══════════════════════ LAYOUT ═══════════════════════ */
.tvs-layout{    margin-top: 50px; display:flex;min-height:100vh;flex-direction:row;}
.tvs-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.tvs-content{padding: 15px; flex:1;background:var(--tvs-bg);display:flex;flex-direction:column;gap:4px;width:100%;padding-bottom:var(--tvs-content-pb,16px);overflow: auto;}
.tvs-wrap{display:flex;flex-direction:column;min-height:calc(100vh - var(--arc-nav-total,90px));background:var(--tvs-bg);color:var(--tvs-tx);font-family:var(--tvs-font);font-size:13px;}
.tvs-body{flex:1;padding:14px;overflow-y:auto;}
.tvs-body-sl{flex:1;padding:14px 16px;overflow-y:auto;background:var(--tvs-bg);}
.tvs-section{margin:0;width:100%;}
.tvs-container{max-width:1400px;margin:0 auto;padding:20px 16px;width:100%;}
.tvs-spacer{flex:1;}

/* ═══════════════════════ GRIDS DE LAYOUT ═══════════════════════ */
.tvs-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--tvs-sp-4);}
.tvs-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tvs-sp-4);}
.tvs-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tvs-sp-4);}
.tvs-flex{display:flex;}
.tvs-flex-col{display:flex;flex-direction:column;gap:var(--tvs-sp-3);}
.tvs-flex-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--tvs-sp-2);}
.tvs-flex-between{justify-content:space-between;}
.tvs-flex-center{justify-content:center;align-items:center;}
.tvs-flex-wrap{flex-wrap:wrap;}
.tvs-row{display:flex;align-items:center;gap:8px;}
.tvs-dk{display:flex;align-items:center;gap:4px;}
.tvs-dr{display:flex;flex-direction:column;gap:4px;}
.tvs-dv{display:flex;align-items:center;gap:8px;}
.tvs-ab{display:flex;overflow-x:auto;scrollbar-width:none;}
.tvs-ab::-webkit-scrollbar{display:none;}
.tvs-tb-group{display:flex;gap:2px;background:var(--tvs-bg2);border-radius:6px;padding:2px;}
.tvs-ct-layout{max-width:1400px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start;}
.tvs-ch-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start;}
.tvs-est-layout{max-width:1400px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
.tvs-fb-layout{max-width:1400px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.tvs-pp-layout{max-width:1400px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start;}
.tvs-uv-layout{max-width:1400px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.tvs-ucart-layout{max-width:1400px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start;}
.tvs-layout-options{display:flex;gap:8px;flex-wrap:wrap;}
.tvs-layout-opt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border-radius:8px;cursor:pointer;border:2px solid var(--tvs-border);transition:var(--tvs-transition);}
.tvs-layout-opt.active,.tvs-layout-opt:hover{border-color:var(--tvs-blue);background:var(--tvs-blue-ghost);}

/* ═══════════════════════ SIDEBAR ═══════════════════════ */
.tvs-sidebar{width:var(--tvs-sidebar-w);flex-shrink:0;display:flex;flex-direction:column;background:var(--tvs-gray-900);transition:width var(--tvs-dur-slow) var(--tvs-ease);}
.tvs-sidebar.collapsed{width:var(--tvs-sidebar-w-col);}
.tvs-sidebar-brand{height:var(--tvs-header-h);display:flex;align-items:center;gap:var(--tvs-sp-3);padding:0 var(--tvs-sp-4);border-bottom:1px solid var(--tvs-sidebar-border);flex-shrink:0;}
.tvs-sidebar-brand-logo{width:32px;height:32px;background:var(--tvs-blue);border-radius:var(--tvs-radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:900;flex-shrink:0;}
.tvs-sidebar-brand-name{font-size:14px;font-weight:800;color:#fff;letter-spacing:-0.3px;white-space:nowrap;overflow:hidden;}
.tvs-sidebar-brand-sub{font-size:9px;color:var(--tvs-sidebar-text);text-transform:uppercase;letter-spacing:0.5px;display:block;margin-top:1px;}
.tvs-sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--tvs-sp-3) 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;}
.tvs-sidebar-section{padding:var(--tvs-sp-2) var(--tvs-sp-4) var(--tvs-sp-1);}
.tvs-sidebar-section-label{font-size:9px;font-weight:700;color:var(--tvs-gray-500);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;overflow:hidden;}
.tvs-sidebar-link{display:flex;align-items:center;gap:var(--tvs-sp-3);padding:10px 16px;color:var(--tvs-sidebar-text);border-radius:0;transition:var(--tvs-transition);position:relative;cursor:pointer;border:none;background:none;width:100%;text-align:left;white-space:nowrap;overflow:hidden;font-size:12px;}
.tvs-sidebar-link:hover{background:rgba(255,255,255,.06);color:#fff;}
.tvs-sidebar-link.active{background:var(--tvs-sidebar-act);color:#fff;}
.tvs-sidebar-link.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tvs-blue);border-radius:0 2px 2px 0;}
.tvs-sidebar-link-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.tvs-sidebar-link-label{font-size:12px;font-weight:500;}
.tvs-sidebar-link-badge{margin-left:auto;background:var(--tvs-blue);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:var(--tvs-radius-full);flex-shrink:0;}
.tvs-sidebar-body{flex:1;overflow-y:auto;padding:12px;}

/* ═══════════════════════ DET SIDEBAR ═══════════════════════ */
.tvs-detsidebar{width:var(--tvs-detsidebar-w);flex-shrink:0;display:flex;flex-direction:column;background:var(--tvs-detsidebar-bg);transition:width var(--tvs-dur-slow) var(--tvs-ease);}
.tvs-detsidebar.collapsed{width:var(--tvs-detsidebar-w-col);}
.tvs-detsidebar-brand{height:var(--tvs-header-h);display:flex;align-items:center;gap:var(--tvs-sp-3);padding:0 var(--tvs-sp-4);border-bottom:1px solid var(--tvs-detsidebar-border);flex-shrink:0;}
.tvs-detsidebar-brand-logo{width:32px;height:32px;background:var(--tvs-blue);border-radius:var(--tvs-radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:900;flex-shrink:0;}
.tvs-detsidebar-brand-name{font-size:14px;font-weight:800;color:#fff;letter-spacing:-0.3px;white-space:nowrap;overflow:hidden;}
.tvs-detsidebar-brand-sub{font-size:9px;color:var(--tvs-detsidebar-text);text-transform:uppercase;letter-spacing:0.5px;display:block;margin-top:1px;}
.tvs-detsidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--tvs-sp-3) 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;}
.tvs-detsidebar-section{padding:var(--tvs-sp-2) var(--tvs-sp-4) var(--tvs-sp-1);}
.tvs-detsidebar-section-label{font-size:9px;font-weight:700;color:var(--tvs-gray-500);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;overflow:hidden;}
.tvs-detsidebar-link{display:flex;align-items:center;gap:var(--tvs-sp-3);padding:10px 16px;color:var(--tvs-detsidebar-text);border-radius:0;transition:var(--tvs-transition);position:relative;cursor:pointer;border:none;background:none;width:100%;text-align:left;white-space:nowrap;overflow:hidden;font-size:12px;}
.tvs-detsidebar-link:hover{background:rgba(255,255,255,.06);color:#fff;}
.tvs-detsidebar-link.active{background:var(--tvs-detsidebar-act);color:#fff;}
.tvs-detsidebar-link.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tvs-blue);border-radius:0 2px 2px 0;}
.tvs-detsidebar-link-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.tvs-detsidebar-link-label{font-size:12px;font-weight:500;}
.tvs-detsidebar-link-badge{margin-left:auto;background:var(--tvs-blue);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:var(--tvs-radius-full);flex-shrink:0;}
.tvs-detsidebar-body{flex:1;overflow-y:auto;padding:12px;}

/* ═══════════════════════ HEADER ═══════════════════════ */
.tvs-header{height:var(--tvs-header-h);background:#FFFFFF;border-bottom:2px solid var(--tvs-blue);display:flex;align-items:center;padding:0 var(--tvs-sp-5);gap:var(--tvs-sp-3);position:sticky;top:0;z-index:50;box-shadow:var(--tvs-shadow-xs);}
.tvs-header-breadcrumb{display:flex;align-items:center;gap:var(--tvs-sp-2);font-size:var(--tvs-fs-sm);color:var(--tvs-text-3);flex:1;}
.tvs-header-breadcrumb-sep{color:var(--tvs-text-muted);}
.tvs-header-breadcrumb-cur{color:var(--tvs-text);font-weight:var(--tvs-fw-semibold);}
.tvs-header-actions{display:flex;align-items:center;gap:var(--tvs-sp-2);}

/* ═══════════════════════ TOPBAR ═══════════════════════ */
.tvs-topbar{background:var(--tvs-blue);color:#fff;position:sticky;top:0;z-index:var(--tvs-z-toolbar);box-shadow:0 2px 8px rgba(0,0,0,.2);}
.tvs-topbar-b{display:flex;align-items:center;gap:8px;padding:8px 14px;border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.12);overflow-x:auto;}
.tvs-topbar-brand{font-size:.9375rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:8px;flex:1;}
.tvs-topbar-inner{display:flex;align-items:center;gap:8px;padding:0 14px;height:52px;}
.tvs-topbar-title{font-size:13px;font-weight:800;color:#fff;flex:1;}
.tvs-topbar-title span{font-size:10px;font-weight:600;color:rgba(255,255,255,.65);margin-left:6px;}
.tvs-topbar-l{flex:1;display:flex;align-items:center;gap:8px;}
.tvs-topbar-r{display:flex;align-items:center;gap:6px;}

/* ═══════════════════════ NAV (Header Unificado) ═══════════════════════ */
.tvs-nav{position:fixed;top:0;left:0;right:0;z-index:101;background:var(--tvs-nav-bg,var(--tvs-blue));border-bottom:1px solid rgba(255,255,255,.1);transition:left var(--trans-slow),margin-left var(--trans-slow);height:50px;overflow:visible!important;}
.tvs-nav.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.2);}
.tvs-nav.gt-topbar{background:var(--ul-topbar-bg,var(--tvs-blue))!important;right:0;}
.tvs-nav-inner{height:50px;max-width:1400px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;overflow:visible!important;}
.gt-topbar .tvs-nav-inner{height:50px;width:100%;max-width:none;margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:0.5rem;}
.tvs-nav-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0;overflow:visible;flex-shrink:0;}
.tvs-nav-right{display:flex;align-items:center;gap:5px;flex-shrink:0;overflow:visible;}
.tvs-nav-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0;margin-left:10px;}
.tvs-nav-brand-logo{height:36px;width:auto;object-fit:contain;border-radius:8px;padding:4px 0;}
.tvs-nav-brand-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--tvs-blue),var(--tvs-accent));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0;}
.tvs-nav-brand-info{display:flex;flex-direction:column;margin-top:10px;}
.tvs-nav-brand-nome{font-weight:800;font-size:1.2rem;line-height:1.1;color:#fff;text-transform:uppercase;}
.tvs-nav-brand-desc{font-size:.6rem;opacity:.6;color:#fff;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;}
.tvs-nav-links,.tvs-menus{display:flex;align-items:center;gap:0;height:60px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;padding-left:4px;}
.tvs-nav-links::-webkit-scrollbar,.tvs-menus::-webkit-scrollbar{display:none;}
.tvs-nav-links a,.tvs-nav-link-item,.tvs-menu-btn,.tvs-menu-group>a{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;max-width:90px;height:50px;padding:4px 8px;color:rgba(255,255,255,.82);text-decoration:none;font-size:11px;font-weight:500;background:transparent;border:none;cursor:pointer;transition:all .15s;flex-shrink:0;position:relative;border-radius:0;}
.tvs-nav-links a i,.tvs-nav-link-item i,.tvs-menu-btn i,.tvs-menu-group>a i,.tvs-ico{font-size:18px;margin-bottom:2px;line-height:1;}
.tvs-nav-links a span,.tvs-nav-link-item span,.tvs-menu-btn span,.tvs-menu-group>a span,.tvs-lbl{font-size:10px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px;width:100%;}
.tvs-nav-links a::after,.tvs-nav-link-item::after,.tvs-menu-btn::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:rgba(255,255,255,.9);border-radius:2px 2px 0 0;transition:width .2s;}
.tvs-nav-links a:hover::after,.tvs-nav-link-item:hover::after,.tvs-nav-links a.tvs-active::after,.tvs-menu-btn:hover::after,.tvs-menu-btn.is-active::after,.tvs-menu-btn.sub-open::after{width:70%;}
.tvs-nav-links a:hover,.tvs-nav-link-item:hover,.tvs-menu-btn:hover,.tvs-menu-group>a:hover{color:#fff;background:rgba(255,255,255,.1);}
.tvs-nav-links a.tvs-active,.tvs-nav-link-item.tvs-active,.tvs-menu-btn.is-active,.tvs-menu-btn.sub-open{color:#fff;background:rgba(255,255,255,.08);}
.tvs-nav-link-sep,.tvs-menu-sep{width:1px;height:30px;background:rgba(255,255,255,.15);flex-shrink:0;align-self:center;margin:0 2px;}
.tvs-menu-group{display:inline-flex;align-items:stretch;height:100%;flex-shrink:0;}
.tvs-menu-chevron{display:inline-flex;align-items:center;justify-content:center;width:20px;height:60px;background:transparent;border:none;color:rgba(255,255,255,.55);cursor:pointer;transition:all .15s;border-left:1px solid rgba(255,255,255,.1);}
.tvs-menu-chevron:hover{color:#fff;}
.tvs-menu-chevron.sub-open{color:#fff;}
.tvs-menu-chevron.is-active{border-bottom-color:var(--tvs-accent);}
.tvs-menu-badge{position:absolute;top:3px;right:3px;min-width:14px;height:14px;padding:0 3px;background:#ef4444;color:#fff;font-size:8px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:1;}
.tvs-nav-header-inline{display:flex;align-items:center;gap:5px;}
.tvs-nav-inline-item{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:8px;color:rgba(255,255,255,.85);text-decoration:none;font-size:.82rem;font-weight:500;transition:all .2s;white-space:nowrap;border:1px solid transparent;}
.tvs-nav-inline-item:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.15);}
.tvs-nav-inline-item i{font-size:.9rem;}

/* ═══════════════════════ SUBNAV ═══════════════════════ */
.tvs-subnav{position:sticky;z-index:1000;background:var(--bg-subnav,var(--tvs-blue-dark));align-items:center;padding:0;overflow:visible;transition:margin-left var(--trans-slow);box-shadow:0 2px 4px rgba(0,0,0,.18);display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;gap:0;}
.tvs-subnav *{color:var(--ul-sidebar-tx,rgba(255,255,255,.9))!important;}
.tvs-subnav2{position:fixed;top:50px;left:0;right:0;z-index:100;background:var(--tvs-nav-bg,var(--tvs-blue));height:42px;transition:left var(--trans-slow);}
.tvs-nav.gt-topbar~.tvs-subnav2,body.plataforma-mode .tvs-subnav2{left:var(--ul-sidebar-w,248px);}
.tvs-sub-item{padding:5px 7px;cursor:pointer;border:none;background:transparent;color:var(--ul-tx2,rgba(255,255,255,.7));font-weight:500;font-size:12px;transition:all .2s;display:grid;align-items:center;gap:3px;text-align:center;}
.tvs-sub-item:hover{background:rgba(255,255,255,.12);color:#fff;}
.tvs-sub-item.active{background:rgba(255,255,255,.18);color:#fff;border-bottom:2px solid var(--tvs-accent);}
.tvs-sub-item i{font-size:10px;}
.tvs-sub-sep{width:1px;height:14px;background:rgba(255,255,255,.14);margin:0 3px;flex-shrink:0;}
.tvs-sub-page-name i{font-size:10px;opacity:.7;}
.tvs-subnav-auto-hide.subnav-vazio{height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}

/* ═══════════════════════ FOOTBAR ═══════════════════════ */
.tvs-footbar{position:sticky;bottom:0;background:var(--tvs-bg3);border-top:1px solid var(--tvs-border);padding:8px 14px;display:flex;align-items:center;gap:8px;z-index:10;}
.tvs-footer{padding:12px 14px;background:var(--tvs-bg);border-top:1px solid var(--tvs-border);}
.tvs-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:.625rem 1rem;border-top:1px solid var(--tvs-border);}
.tvs-footbar-info{font-size:11px;color:var(--tvs-tx3);}
.tvs-footbar-buttons{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tvs-footbar-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;border:1.5px solid var(--tvs-border-2);background:var(--tvs-bg3);color:var(--tvs-text-secondary);font-size:12px;font-weight:700;cursor:pointer;transition:var(--tvs-transition);white-space:nowrap;}
.tvs-footbar-btn:hover{border-color:var(--tvs-blue);color:var(--tvs-blue);}
.tvs-footbar-btn.pri{background:linear-gradient(135deg,var(--tvs-blue),var(--tvs-blue-dark));border-color:transparent;color:#fff;}
.tvs-footbar-btn.grn{border-color:rgba(15,155,94,.3);color:var(--tvs-grn);}
.tvs-footbar-btn.red{border-color:rgba(211,47,47,.3);color:var(--tvs-red);}
.tvs-footbar-btn.yel{border-color:rgba(201,124,0,.3);color:var(--tvs-yel);}

/* ═══════════════════════ DASHBOARD FOOTBAR ═══════════════════════ */
.tvs-dash-footbar{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--tvs-surface);border-top:1px solid var(--tvs-border);display:flex;overflow-x:auto;scrollbar-width:none;box-shadow:0 -2px 8px rgba(0,0,0,.08);padding:4px 0;}
.tvs-dash-footbar::-webkit-scrollbar{display:none;}
.tvs-dash-fnav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 12px;background:none;border:none;border-top:2px solid transparent;cursor:pointer;font-size:8px;font-weight:600;color:var(--tvs-text-3);flex:1;min-width:50px;position:relative;transition:all .18s;text-transform:uppercase;letter-spacing:0.3px;}
.tvs-dash-fnav i{font-size:16px;transition:transform .2s;}
.tvs-dash-fnav:hover{color:var(--tvs-blue);}
.tvs-dash-fnav:hover i{transform:scale(1.1);}
.tvs-dash-fnav.active{color:var(--tvs-blue);border-top-color:var(--tvs-blue);}
.tvs-dash-fnav.active i{color:var(--tvs-blue);}
.tvs-dash-fn-badge{position:absolute;top:2px;right:6px;min-width:16px;height:16px;padding:0 4px;background:#d9374b;color:#fff;font-size:8px;font-weight:700;border-radius:9999px;display:flex;align-items:center;justify-content:center;line-height:1;}

/* ═══════════════════════ BOTTOM NAV MOBILE ═══════════════════════ */
.tvs-bottomnav-item{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;background:none;border:none;cursor:pointer;color:var(--tvs-tx3);font-size:11px;transition:color .15s;padding:5px;}
.tvs-bottomnav-item i{font-size:18px;}
.tvs-bottomnav-item.active{color:var(--tvs-blue);}
.tvs-bottomnav-item.active i{filter:drop-shadow(0 0 6px var(--tvs-blue));}
.tvs-bottomnav-item.pri{background:var(--tvs-blue);color:white;border-radius:6px;}

/* ═══════════════════════ CARDS ═══════════════════════ */
.tvs-card{position:relative;background:var(--tvs-bg-card);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-lg);box-shadow:var(--tvs-shadow-sm);padding:.875rem;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;overflow:hidden;}
.tvs-card:hover{box-shadow:var(--tvs-shadow);transform:translateY(-2px);}
.tvs-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--tvs-blue),var(--tvs-blue-light));opacity:0;transition:opacity .15s;}
.tvs-card:hover::before{opacity:1;}
.tvs-card.inactive{opacity:.55;}
.tvs-card-body{padding:.875rem;}
.tvs-card-head,.tvs-card-header{display:flex;align-items:center;gap:10px;padding:.75rem .875rem;border-bottom:1px solid var(--tvs-border);background:#F8FAFC;}
.tvs-card-header-icon{width:28px;height:28px;background:#F8FAFC;border-radius:var(--tvs-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--tvs-blue);font-size:11px;}
.tvs-card-header-title{font-size:12px;font-weight:700;color:var(--tvs-text);}
.tvs-card-header-sub{font-size:10px;color:var(--tvs-text-3);}
.tvs-card-header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--tvs-sp-2);}
.tvs-card-footer{display:flex;align-items:center;gap:8px;padding:.625rem .875rem;border-top:1px solid var(--tvs-border);background:var(--tvs-bg);border-radius:0 0 2px 2px;}
.tvs-card-footer-badges{display:flex;gap:4px;flex-wrap:wrap;}
.tvs-card-title{font-size:.875rem;font-weight:700;color:var(--tvs-tx);flex:1;}
.tvs-card-sub{font-size:.75rem;color:var(--tvs-tx3);}
.tvs-card-icon{width:36px;height:36px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:var(--tvs-blue-ghost);color:var(--tvs-blue);}
.tvs-card-ico{width:32px;height:32px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.tvs-card-meta{display:flex;gap:6px;align-items:center;font-size:.7rem;color:var(--tvs-tx3);}
.tvs-card-name{font-size:.875rem;font-weight:700;color:var(--tvs-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-card-email,.tvs-card-phone{font-size:.75rem;color:var(--tvs-tx3);display:flex;align-items:center;gap:4px;}
.tvs-card-id{font-size:.625rem;font-weight:700;color:var(--tvs-tx3);font-family:var(--tvs-font-mono);}
.tvs-card-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.tvs-card-tags{display:flex;gap:4px;flex-wrap:wrap;}
.tvs-card-path{font-size:.5625rem;color:var(--tvs-tx3);font-family:var(--tvs-font-mono);margin-top:2px;word-break:break-all;}
.tvs-card-handle{cursor:grab;color:var(--tvs-tx3);padding:4px;}
.tvs-card-handle:active{cursor:grabbing;}
.tvs-card-accent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--tvs-blue),var(--tvs-blue-light));}
.tvs-card-actions{display:flex;gap:4px;align-items:center;}
.tvs-card-av{width:38px;height:38px;border-radius:2px;object-fit:cover;flex-shrink:0;}
.tvs-card-stat{display:flex;flex-direction:column;align-items:center;gap:2px;}
.tvs-card-stat-val{font-size:.875rem;font-weight:700;color:var(--tvs-tx);}
.tvs-card-stat-lbl{font-size:.625rem;color:var(--tvs-tx3);text-transform:uppercase;letter-spacing:.4px;}
.tvs-card-stats{display:flex;gap:14px;padding:.5rem 0;border-top:1px solid var(--tvs-border-light);}
.tvs-card-parent{font-size:.625rem;color:var(--tvs-pri2);display:flex;align-items:center;gap:4px;margin-bottom:2px;}
.tvs-card-plano-row{display:flex;align-items:center;gap:6px;padding:4px 0;}
.tvs-card-plano-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;}
.tvs-card-plano-venc{font-size:.625rem;color:var(--tvs-tx3);margin-left:auto;}
.tvs-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}

/* ═══════════════════════ KPI ═══════════════════════ */
.tvs-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--tvs-sp-4);}
.tvs-kpi{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--tvs-bg-card);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);position:relative;overflow:hidden;transition:var(--tvs-transition);}
.tvs-kpi:hover{box-shadow:var(--tvs-shadow);}
.tvs-kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kpi-color,var(--tvs-blue));}
.tvs-kpi-icon{width:44px;height:44px;border-radius:var(--tvs-radius);display:flex;align-items:center;justify-content:center;background:var(--kpi-bg,var(--tvs-blue-ghost));color:var(--kpi-color,var(--tvs-blue));font-size:18px;flex-shrink:0;}
.tvs-kpi-value{font-size:1.5rem;font-weight:900;color:var(--tvs-text);line-height:1;margin-bottom:3px;}
.tvs-kpi-label{font-size:11px;color:var(--tvs-text-3);font-weight:500;}
.tvs-kpi-change{font-size:11px;font-weight:600;display:flex;align-items:center;gap:3px;margin-top:4px;}
.tvs-kpi-change.up,.tvs-kpi .tvs-kpi-change.up{color:var(--tvs-success);}
.tvs-kpi-change.down,.tvs-kpi .tvs-kpi-change.down{color:var(--tvs-danger);}
.tvs-kpi .tvs-kpi-change.neutral{color:var(--tvs-text-muted);}
.tvs-kpi-bar{height:4px;background:var(--tvs-bg2);border-radius:4px;overflow:hidden;margin-top:8px;}

/* ═══════════════════════ STAT CARDS ═══════════════════════ */
.tvs-stat-card{background:var(--tvs-bg-card);border:1px solid var(--tvs-border);box-shadow:var(--tvs-shadow-sm);border-radius:2px;padding:12px 14px;transition:all .2s;}
.tvs-stat-card:hover{border-color:var(--tvs-blue);box-shadow:var(--tvs-shadow-sm);transform:translateY(-2px);border-left-color:var(--tvs-blue);}
.tvs-stat-card:hover .tvs-stat-icon{transform:scale(1.1) rotate(5deg);}
.tvs-sim-card{text-align:center;background:var(--tvs-bg-card);border:1px solid var(--tvs-border-light);border-radius:2px;box-shadow:var(--tvs-shadow-sm);padding:.875rem;transition:var(--tvs-transition);}
.tvs-sim-card:hover{border-color:var(--tvs-border);box-shadow:var(--tvs-shadow);}
.tvs-lead-card{background:var(--tvs-bg-card);border:1px solid var(--tvs-border);border-radius:2px;box-shadow:var(--tvs-shadow-sm);padding:.75rem;transition:var(--tvs-transition);cursor:pointer;}
.tvs-lead-card:hover{transform:translateY(-2px);border-color:rgba(21,101,192,.25);box-shadow:var(--tvs-shadow);}
.tvs-lead-novo{border-left:3px solid var(--tvs-blue);}
.tvs-lead-nome{font-weight:700;font-size:.875rem;}
.tvs-lead-telefone{font-size:.75rem;color:var(--tvs-text-secondary);}
.tvs-stat-ico{width:1.875rem;height:1.875rem;background:var(--tvs-blue-ghost);border-radius:var(--tvs-radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;}
.tvs-stat-ico i{font-size:.9375rem;color:var(--tvs-blue);}
.tvs-stat-val{font-size:14px;font-weight:500;color:var(--tvs-tx);}
.tvs-stat-lbl{font-size:10px;color:var(--tvs-tx3);margin-top:2px;text-transform:uppercase;letter-spacing:.4px;}
.tvs-stat-tvs-val{font-size:28px;font-weight:800;line-height:1;margin-bottom:4px;}
.tvs-stat-tvs-lbl{font-size:11px;color:var(--tvs-tx3);}
.tvs-stat-icon{width:52px;height:52px;border-radius:14px;background:rgba(var(--st-rgb),.15);color:var(--st-clr);display:flex;align-items:center;justify-content:center;font-size:22px;position:relative;z-index:1;transition:transform .3s;}
.tvs-stat-icon-ring{position:absolute;inset:-4px;border-radius:18px;border:1.5px solid rgba(var(--st-rgb),.25);animation:tvs-ringPulse 3s ease-in-out infinite;}
.tvs-stat-body{flex:1;min-width:0;}
.tvs-stat-suf{font-size:18px;font-weight:700;color:var(--st-clr);}
.tvs-stat-desc{font-size:12px;color:var(--tvs-text-muted);}
.tvs-stat-sparkline{position:absolute;bottom:12px;right:16px;width:80px;height:30px;opacity:.5;}
.tvs-stat-spark-line{stroke:var(--st-clr);}
.tvs-stat-spark-fill{fill:var(--st-clr);opacity:.15;}
.tvs-stat-glow{position:absolute;inset:0;background:radial-gradient(circle at 0% 0%,rgba(var(--st-rgb),.06),transparent 70%);pointer-events:none;}
.tvs-stat-icon-wrap{position:relative;flex-shrink:0;}
.tvs-stat-num{display:flex;align-items:baseline;gap:2px;margin-bottom:4px;}
.tvs-stat.ok{background:#f0fdf4;border-color:#bbf7d0;}
.tvs-stat.yel{background:#fefce8;border-color:#fef08a;}
.tvs-stat.blu{background:#eff6ff;border-color:#bfdbfe;}
.tvs-stat-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.tvs-stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.tvs-stat-label{font-size:.6875rem;color:var(--tvs-tx3);text-transform:uppercase;letter-spacing:.4px;}
.tvs-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.tvs-mini-bar{display:flex;gap:3px;align-items:flex-end;height:32px;margin-top:10px;}
.tvs-mini-bar-item{flex:1;border-radius:3px 3px 0 0;min-height:3px;transition:height .3s;}
.tvs-ctrs{display:flex;gap:8px;flex-wrap:wrap;}
.tvs-ctr{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:70px;padding:10px;background:var(--tvs-bg-card);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);}
.tvs-ctr-tot .tvs-stat-val{color:var(--tvs-tx);}
.tvs-ctr-atv .tvs-stat-val{color:var(--tvs-grn);}
.tvs-ctr-new .tvs-stat-val{color:var(--tvs-blue);}
.tvs-ctr-ok .tvs-stat-val{color:var(--tvs-grn);}
.tvs-ctr-adm .tvs-stat-val{color:var(--tvs-yel);}
.tvs-ctr-ver .tvs-stat-val{color:var(--tvs-cyn);}
.tvs-ctr-err .tvs-stat-val{color:var(--tvs-red);}

/* ═══════════════════════ TABS ═══════════════════════ */
.tvs-tabs{display:flex;border-bottom:2px solid var(--tvs-border);gap:0;overflow-x:auto;scrollbar-width:none;}
.tvs-tabs::-webkit-scrollbar{display:none;}
.tvs-tab{padding:11px 16px;font-size:12.5px;font-weight:600;color:var(--tvs-text-muted);cursor:pointer;border:none;background:none;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;transition:var(--tvs-transition);}
.tvs-tab:hover:not(.active){color:var(--tvs-text-secondary);background:var(--tvs-blue-ghost2);}
.tvs-tab.active{color:var(--tvs-blue);border-bottom-color:var(--tvs-blue);}
.tvs-tab-badge{background:var(--tvs-blue);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:var(--tvs-radius-full);}
.tvs-tab-pane{display:none!important;}
.tvs-tab-pane.active{display:block!important;}
.tvs-tab-scroll{overflow-x:auto;white-space:nowrap;scrollbar-width:none;}
.tvs-nav-tabs{display:flex;border-bottom:1px solid var(--tvs-border);gap:0;}
.tvs-nav-tab{padding: .4375rem .875rem;
    font-size: .75rem;
    font-weight: 600;
    color: var(--tvs-text-secondary);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: var(--tvs-transition);
    display: grid;
    align-items: center;
    gap: .3125rem;
    border-radius: var(--tvs-radius-sm) var(--tvs-radius-sm) 0 0;
    justify-items: center;}
.tvs-nav-tab:hover{color:var(--tvs-text);background:var(--tvs-blue-ghost2);border-bottom-color:rgba(21,101,192,.3);}
.tvs-nav-tab.active{color:var(--tvs-blue);border-bottom-color:var(--tvs-blue);background:var(--tvs-blue-ghost2);}
.tvs-view-tabs::-webkit-scrollbar{display:none;}
.tvs-view-tab{padding:10px 14px;font-size:12px;font-weight:700;color:var(--tvs-tx3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:var(--tvs-transition);display:flex;align-items:center;gap:6px;}
.tvs-view-tab:hover{color:var(--tvs-text-secondary);}
.tvs-view-tab.active{color:var(--tvs-blue);border-bottom-color:var(--tvs-blue);}
.tvs-view-tab .badge-cnt{min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;background:var(--tvs-blue);color:#fff;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;}
.tvs-form-tabs::-webkit-scrollbar{display:none;}
.tvs-form-tab{padding:9px 14px;background:none;border:none;border-bottom:2px solid transparent;color:var(--tvs-tx3);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:var(--tvs-transition);}
.tvs-form-tab:hover{color:var(--tvs-text-secondary);}
.tvs-form-tab.active{color:var(--tvs-blue);border-bottom-color:var(--tvs-blue);}
.tvs-form-pane{display:none;}
.tvs-form-pane.active{display:block;}
.tvs-pane{display:none;}
.tvs-pane.active,.tvs-pane.tvs-active{display:block;}

/* ═══════════════════════ BOTÕES ═══════════════════════ */
.tvs-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;border-radius:var(--tvs-radius-md);border:1px solid var(--tvs-border-2);background:var(--tvs-bg3);color:var(--tvs-text);cursor:pointer;transition:var(--tvs-transition);text-decoration:none;line-height:1.4;}
.tvs-btn:hover{border-color:var(--tvs-blue);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1);}
.tvs-btn:focus-visible{outline:2px solid var(--tvs-blue);outline-offset:2px;}
.tvs-btn:disabled,.tvs-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;}
.tvs-btn .spin,.tvs-btn .tvs-spinner{animation:tvs-spin .6s linear infinite;}
.tvs-btn-xs{padding:3px 8px;font-size:10px;}
.tvs-btn-sm{padding:.25rem .625rem;font-size:.75rem;}
.tvs-btn-lg{padding:.5rem 1.25rem;font-size:.875rem;}
.tvs-btn-xl{padding:13px 28px;font-size:15px;}
.tvs-btn-icon{width:30px;height:30px;border-radius:7px;border:1px solid var(--tvs-border);background:var(--tvs-bg3);color:var(--tvs-text-secondary);display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:all .15s;text-decoration:none;}
.tvs-btn-icon.tvs-btn-sm{padding:5px;}
.tvs-btn-icon.tvs-btn-xs{padding:3px;}
.tvs-btn-primary,.tvs-btn.pri,.tvs-btn-pri{background:var(--tvs-blue);color:#fff;border-color:var(--tvs-blue);box-shadow:0 2px 6px rgba(21,101,192,.30);}
.tvs-btn-primary:hover,.tvs-btn.pri:hover,.tvs-btn-pri:hover{background:var(--tvs-blue-dark);border-color:var(--tvs-blue-dark);box-shadow:0 4px 10px rgba(21,101,192,.40);}
.tvs-btn-secondary,.tvs-btn-sec{background:transparent;border-color:var(--tvs-border-2);color:var(--tvs-text-secondary);}
.tvs-btn-secondary:hover,.tvs-btn-sec:hover{background:var(--tvs-bg-hover);border-color:var(--tvs-text-secondary);color:var(--tvs-text);}
.tvs-btn-ghost{background:transparent;color:var(--tvs-text-3);border-color:transparent;}
.tvs-btn-ghost:hover{background:var(--tvs-surface-3);color:var(--tvs-text);}
.tvs-btn-danger,.tvs-btn.red{background:rgba(211,47,47,.08);border-color:rgba(211,47,47,.2);color:var(--tvs-red);}
.tvs-btn-danger:hover,.tvs-btn.red:hover{background:rgba(211,47,47,.14);border-color:rgba(211,47,47,.35);}
.tvs-btn-success{background:var(--tvs-success);color:#fff;border-color:var(--tvs-success);}
.tvs-btn-success:hover{background:#0c7a4b;border-color:#0c7a4b;}
.tvs-btn-info{background:var(--tvs-info);color:#fff;border-color:var(--tvs-info);}
.tvs-btn-info:hover{background:#1260a8;border-color:#1260a8;}
.tvs-btn-warning{background:var(--tvs-warning);color:#fff;border-color:var(--tvs-warning);}
.tvs-btn-warning:hover{background:#a86300;border-color:#a86300;}
.tvs-btn-outline-primary{background:transparent;color:var(--tvs-blue);border-color:var(--tvs-blue);}
.tvs-btn-outline-primary:hover{background:var(--tvs-blue-ghost);}
.tvs-btn-outline{background:transparent;border-color:rgba(21,101,192,.35);color:var(--tvs-blue);}
.tvs-btn-outline:hover{background:var(--tvs-blue-ghost);border-color:var(--tvs-blue);}
.tvs-btn.grn{background:#22c55e;border-color:#22c55e;color:#fff;}
.tvs-btn.grn:hover{background:#16a34a;}
.tvs-btn.yel{background:#f59e0b;border-color:#f59e0b;color:#000;}
.tvs-btn-pill{border-radius:9999px;}
.tvs-btn-group{display:flex;gap:0;}
.tvs-btn-group .tvs-btn{border-radius:0;border-right-width:0;}
.tvs-btn-group .tvs-btn:first-child{border-radius:var(--tvs-radius-sm) 0 0 var(--tvs-radius-sm);}
.tvs-btn-group .tvs-btn:last-child{border-radius:0 var(--tvs-radius-sm) var(--tvs-radius-sm) 0;border-right-width:1px;}
.tvs-btn-b{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:.3rem .75rem;border-radius:var(--tvs-radius-md);border:1px solid var(--tvs-border-2);background:transparent;color:var(--tvs-tx2);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--tvs-transition);}
.tvs-btn-b:hover{background:var(--tvs-blue-ghost);color:var(--tvs-blue);}
.tvs-btn-b.pri{background:var(--tvs-blue);border-color:var(--tvs-blue);color:#fff;}
.tvs-btn-b.grn{background:var(--tvs-grn);border-color:var(--tvs-grn);color:#fff;}
.tvs-btn-b.red{background:rgba(211,47,47,.1);border-color:rgba(211,47,47,.25);color:var(--tvs-red);}
.tvs-btn-b.icon{width:32px;height:32px;padding:0;justify-content:center;}
.tvs-btn-b.active{background:var(--tvs-blue-ghost);border-color:rgba(21,101,192,.3);color:var(--tvs-blue);}
.tvs-btn-modal{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:.5rem 1rem;border-radius:var(--tvs-radius-md);cursor:pointer;font-weight:600;transition:all .2s;width:100%;background:var(--tvs-blue);border:none;color:#fff;}
.tvs-btn-modal:hover{opacity:.9;transform:translateY(-2px);}
.tvs-btn-modal:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.tvs-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--tvs-text-secondary);transition:all .15s;}
.tvs-nav-btn:hover{background:var(--tvs-blue-ghost);color:var(--tvs-blue);}
.tvs-nav-btn.active{color:var(--tvs-blue);background:var(--tvs-blue-ghost);}
.tvs-nav-btn.pri{background:var(--tvs-blue);color:#fff;}
.tvs-nav-btn.pri:hover{background:var(--tvs-blue-dark);}
.tvs-nav-btn i{font-size:16px;}
.tvs-page-btn{width:32px;height:32px;border-radius:var(--tvs-radius-sm);background:var(--tvs-bg2);border:1px solid var(--tvs-border);color:var(--tvs-tx);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .13s;}
.tvs-page-btn:hover{background:var(--tvs-border);}
.tvs-page-btn.active{background:var(--tvs-blue);color:#fff;border-color:var(--tvs-blue);}
.tvs-page-btn:disabled{opacity:.35;pointer-events:none;}
.tvs-act{width:30px;height:30px;border-radius:8px;background:none;border:1px solid transparent;color:var(--tvs-tx3);cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .12s;flex-shrink:0;}
.tvs-act:hover{background:rgba(21,101,192,.06);border-color:rgba(21,101,192,.15);color:var(--tvs-blue);}
.tvs-act.pri:hover{background:var(--tvs-blue-ghost);border-color:rgba(21,101,192,.3);color:var(--tvs-blue);}
.tvs-act.grn:hover{background:rgba(15,155,94,.1);border-color:rgba(15,155,94,.3);color:var(--tvs-grn);}
.tvs-act.red:hover{background:rgba(211,47,47,.1);border-color:rgba(211,47,47,.3);color:var(--tvs-red);}
.tvs-act.yel:hover{background:rgba(201,124,0,.1);border-color:rgba(201,124,0,.3);color:var(--tvs-yel);}
.tvs-act.sm{width:26px;height:26px;font-size:9px;border-radius:6px;}
.tvs-act:disabled{opacity:.3;pointer-events:none;}
.tvs-fab:hover{transform:scale(1.08);}
.tvs-fab:active{transform:scale(.95);}
.tvs-acts{display:flex;gap:4px;align-items:center;}
.tvs-act-wrap{display:flex;gap:2px;align-items:center;}
.tvs-btn-login{background:rgba(255,255,255,.1);border:none;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font-size:1.2rem;transition:all .2s;}
.tvs-btn-login:hover{background:rgba(255,255,255,.2);color:#fff;}
.tvs-nav-trial-badge{background:linear-gradient(135deg,#10b981,#059669);padding:.35rem .8rem;border-radius:40px;color:#fff;font-size:.68rem;font-weight:600;cursor:pointer;transition:transform .2s;white-space:nowrap;}
.tvs-nav-trial-badge:hover{transform:scale(1.04);}
.topbar-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:rgba(255,255,255,.85);font-size:1.1rem;padding:.35rem .45rem;border-radius:8px;transition:all .2s;flex-shrink:0;}
.topbar-menu-btn:hover{background:rgba(255,255,255,.15);}

/* ═══════════════════════ FORMULÁRIOS ═══════════════════════ */
.tvs-form-group{margin-bottom:var(--tvs-sp-4);}
.tvs-form-row{display:flex;gap:var(--tvs-sp-3);flex-wrap:wrap;}
.tvs-form-col{flex:1;min-width:180px;}
.tvs-form-col-2{flex:2;min-width:240px;}
.tvs-form-col-3{flex:3;min-width:300px;}
.tvs-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.tvs-form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.tvs-form-grid.full{grid-column:1/-1;}
.tvs-label{font-size:12px;font-weight:600;color:var(--tvs-text-secondary);}
.tvs-label-required::after,.tvs-label .req{color:var(--tvs-red);}
.tvs-label-required::after{content:' *';}
.tvs-input,.tvs-select,.tvs-textarea{width:100%;background:var(--tvs-surface);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-sm);color:var(--tvs-text);font-family:var(--tvs-font);font-size:var(--tvs-fs-base);padding:var(--tvs-sp-2) var(--tvs-sp-3);transition:border-color var(--tvs-dur-fast) var(--tvs-ease),box-shadow var(--tvs-dur-fast) var(--tvs-ease);outline:none;line-height:1.5;}
.tvs-input:focus,.tvs-select:focus,.tvs-textarea:focus{border-color:var(--tvs-blue);box-shadow:0 0 0 3px rgba(21,101,192,.10);background:var(--tvs-bg-card);}
.tvs-input::placeholder,.tvs-textarea::placeholder{color:var(--tvs-text-muted);}
.tvs-input.error{border-color:var(--tvs-danger);}
.tvs-input.success{border-color:var(--tvs-success);}
.tvs-textarea{resize:vertical;min-height:80px;border-radius:8px;}
.tvs-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a7489' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer;}
.tvs-input-group{position:relative;display:flex;}
.tvs-input-group .tvs-input{border-radius:0;}
.tvs-input-group .tvs-input:first-child{border-radius:var(--tvs-radius-sm) 0 0 var(--tvs-radius-sm);}
.tvs-input-group .tvs-input:last-child{border-radius:0 var(--tvs-radius-sm) var(--tvs-radius-sm) 0;}
.tvs-input-addon{display:flex;align-items:center;justify-content:center;padding:0 var(--tvs-sp-3);background:var(--tvs-surface-2);border:1px solid var(--tvs-border);color:var(--tvs-text-3);font-size:12px;white-space:nowrap;flex-shrink:0;}
.tvs-input-addon:first-child{border-right:0;border-radius:var(--tvs-radius-sm) 0 0 var(--tvs-radius-sm);}
.tvs-input-addon:last-child{border-left:0;border-radius:0 var(--tvs-radius-sm) var(--tvs-radius-sm) 0;}
.tvs-form-hint{font-size:10px;color:var(--tvs-text-3);margin-top:4px;}
.tvs-form-error{font-size:10px;color:var(--tvs-danger);margin-top:4px;display:flex;align-items:center;gap:4px;}
.tvs-form-label{font-size:11.5px;font-weight:600;color:var(--tvs-text-secondary);display:flex;align-items:center;gap:5px;}
.tvs-form-input{width:100%;padding:.375rem .625rem;font-size:.8125rem;background:#fff;border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);color:var(--tvs-text);transition:border-color .15s ease,box-shadow .15s ease;line-height:1.4;outline:none;}
.tvs-form-input:focus{border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(21,101,192,.12);}
.tvs-form-input:hover:not(:disabled){border-color:rgba(21,101,192,.35);}
.tvs-form-input:disabled{opacity:.5;cursor:not-allowed;background:#F7F9FB;}
.tvs-form-control{width:100%;padding:.7rem 1rem;background:var(--tvs-bg3);border:1px solid var(--tvs-border);border-radius:10px;font-size:.9rem;color:var(--tvs-tx);transition:all .2s;outline:none;}
.tvs-form-control:focus{border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(21,101,192,.12);}
.tvs-form-err{background:rgba(211,47,47,.08);border:1px solid rgba(211,47,47,.2);border-radius:var(--tvs-radius-md);padding:10px 12px;font-size:12px;color:var(--tvs-red);margin-bottom:14px;display:none;}
.tvs-input-hint{font-size:10px;color:var(--tvs-tx3);margin-top:3px;}
.tvs-check-group{display:flex;flex-direction:column;gap:var(--tvs-sp-2);}
.tvs-check-item{display:flex;align-items:center;gap:var(--tvs-sp-2);cursor:pointer;}
.tvs-check-item input[type="checkbox"],.tvs-check-item input[type="radio"]{width:15px;height:15px;accent-color:var(--tvs-blue);cursor:pointer;}
.tvs-check-label{font-size:12px;color:var(--tvs-text-2);font-weight:500;}
.tvs-toggle{   gap: 4px; color: var(--tvs-text-secondary);position:relative;display:inline-flex;align-items:center;}
.tvs-toggle input{opacity:1;width:15px;height:15px;position:absolute;}
.tvs-toggle-track{color: var(--tvs-text-secondary); width:38px;height:20px;background:var(--tvs-gray-300);border-radius:var(--tvs-radius-full);position:relative;transition:background var(--tvs-dur) var(--tvs-ease);cursor:pointer;}
.tvs-toggle-track::after{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:var(--tvs-shadow-xs);transition:transform var(--tvs-dur) var(--tvs-ease);}
.tvs-toggle input:checked~.tvs-toggle-track{background:var(--tvs-blue);}
.tvs-toggle input:checked~.tvs-toggle-track::after{transform:translateX(18px);}
.tvs-toggle-label{font-size:12px;font-weight:500;color:var(--tvs-text-2);}
.tvs-toggle-sl{position:absolute;inset:0;border-radius:10px;background:rgba(255,255,255,.12);cursor:pointer;transition:.2s;border:1px solid var(--tvs-border-2);}
.tvs-toggle-sl::before{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.3);}
.tvs-toggle input:checked+.tvs-toggle-sl{background:var(--tvs-grn);border-color:var(--tvs-grn);}
.tvs-toggle input:checked+.tvs-toggle-sl::before{transform:translateX(16px);}
.tvs-switch-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;}
.tvs-switch-label{font-size:11px;color:var(--tvs-text-secondary);}
.tvs-toggle-row-info{display:flex;flex-direction:column;gap:2px;}
.tvs-toggle-row-label{font-size:13px;font-weight:700;color:var(--tvs-tx);}
.tvs-toggle-row-desc{font-size:10px;color:var(--tvs-tx3);}
.tvs-toggles-grid{display:flex;flex-direction:column;gap:0;}
.tvs-fg{display:flex;flex-direction:column;gap:4px;}
.tvs-fg.full{grid-column:1/-1;}
.tvs-ct-fg{display:flex;flex-direction:column;gap:4px;}
.tvs-ct-lbl{font-size:.6875rem;font-weight:600;color:var(--tvs-tx2);}
.tvs-ct-iw{position:relative;display:flex;align-items:center;}
.tvs-ct-inp{width:100%;padding:.375rem .625rem;font-size:.8125rem;background:var(--tvs-bg3);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);color:var(--tvs-tx);outline:none;transition:var(--tvs-transition);}
.tvs-ct-inp:focus{border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(21,101,192,.10);}
.tvs-ct-sel{width:100%;padding:.375rem .625rem;background:var(--tvs-bg3);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);color:var(--tvs-tx);font-size:.8125rem;outline:none;cursor:pointer;}
.tvs-ct-textarea{width:100%;padding:.5rem .625rem;background:var(--tvs-bg3);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);color:var(--tvs-tx);font-size:.8125rem;resize:vertical;min-height:80px;outline:none;transition:var(--tvs-transition);}
.tvs-ct-textarea:focus{border-color:var(--tvs-blue);}
.tvs-color-row{display:flex;align-items:center;gap:8px;}
.tvs-color-pick{width:36px;height:32px;border-radius:6px;border:1px solid var(--tvs-border-2);cursor:pointer;padding:2px;background:transparent;}
.tvs-color-txt{font-family:var(--tvs-font-mono);font-size:.8125rem;}
.tvs-color-inp{width:32px;height:30px;border-radius:6px;border:1px solid var(--tvs-border-2);cursor:pointer;padding:2px;background:transparent;}
.tvs-swatches{display:flex;gap:4px;flex-wrap:wrap;}
.tvs-swatch{width:40px;height:36px;border:2px solid transparent;border-radius:8px;cursor:pointer;padding:2px;flex-shrink:0;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:transform .15s;}
.tvs-swatch:hover{transform:scale(1.2);}
.tvs-swatch.active{border-color:white;}
.tvs-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:99px;border:1.5px solid var(--tvs-border-2);background:var(--tvs-bg3);color:var(--tvs-tx3);font-size:11px;font-weight:700;cursor:pointer;transition:all .15s;user-select:none;}
.tvs-chip input{display:none;}
.tvs-chip:hover{border-color:var(--tvs-blue);color:var(--tvs-blue);}
.tvs-chip.on{background:var(--tvs-blue-ghost);border-color:var(--tvs-blue);color:var(--tvs-blue);}
.tvs-chip.grn-on:hover{border-color:var(--tvs-grn);color:var(--tvs-grn);}
.tvs-chip.grn-on.on{background:rgba(15,155,94,.12);border-color:var(--tvs-grn);color:var(--tvs-grn);}
.tvs-radio{display:flex;align-items:center;gap:6px;cursor:pointer;}
.tvs-radios{display:flex;gap:10px;flex-wrap:wrap;}
select.tvs-form-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%235A6B78'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;}
textarea.tvs-form-input{resize:vertical;min-height:80px;}
select.tvs-input{cursor:pointer;}
.tvs-inp:focus{border-color:var(--tvs-blue);background:var(--tvs-bg-card);}
.tvs-inp option{background:var(--tvs-bg3);}
.tvs-view-toggle{display:flex;gap:2px;background:var(--tvs-bg2);border-radius:var(--tvs-radius-sm);padding:2px;}
.tvs-viewport-btn{padding:6px 10px;border-radius:var(--tvs-radius-sm);background:none;border:none;color:var(--tvs-tx3);cursor:pointer;font-size:12px;transition:var(--tvs-transition);}
.tvs-viewport-btn.active{background:var(--tvs-blue);color:#fff;}
.tvs-pass-toggle{background:none;border:none;color:var(--tvs-tx3);cursor:pointer;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:14px;}

/* ═══════════════════════ TABELA ═══════════════════════ */
.tvs-table-wrap{overflow-x:auto;}
.tvs-table{width:100%;border-collapse:collapse;}
.tvs-table thead{background:var(--tvs-surface-2);border-bottom:2px solid var(--tvs-border);}
.tvs-table thead tr{background:#F7F9FB;border-bottom:2px solid var(--tvs-border);}
.tvs-table th{background:var(--tvs-bg3);color:var(--tvs-text-secondary);font-weight:600;text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--tvs-border);white-space:nowrap;}
.tvs-table th:last-child{border-right:0;}
.tvs-table th.sortable,.tvs-th-sort{cursor:pointer;user-select:none;}
.tvs-table th.sortable:hover,.tvs-th-sort:hover{background:var(--tvs-surface-3);color:var(--tvs-text);}
.tvs-th-sort i{margin-left:.25rem;font-size:.75rem;opacity:.5;}
.tvs-table td{padding:8px 10px;border-bottom:1px solid var(--tvs-border);font-size:12px;vertical-align:middle;color:var(--tvs-tx2);}
.tvs-table tbody tr{transition:background var(--tvs-dur-fast);}
.tvs-table tbody tr:hover{background:var(--tvs-blue-ghost2);}
.tvs-table tbody tr.selected{background:var(--tvs-blue-ghost);}
.tvs-table-check{width:32px;text-align:center;}
.tvs-table-actions{text-align:right;white-space:nowrap;}
.tvs-tbl{width:100%;border-collapse:collapse;}
.tvs-tbl th{font-size:10px;font-weight:700;color:var(--tvs-tx3);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;text-align:left;user-select:none;background:var(--tvs-bg);border-left:1px solid var(--tvs-border);padding:8px 12px;}
.tvs-tbl th:hover{color:var(--tvs-text-secondary);}
.tvs-tbl td{padding:0;border:1px solid var(--tvs-border);vertical-align:middle;height:5vh;}
.tvs-tbl tbody tr:last-child td{border-bottom:none;}
.tvs-tbl .c-id{width:48px;}
.tvs-tbl .c-cad{width:90px;}
.tvs-col-acoes{width:100px;}
.tvs-tfoot-row td{padding:8px 12px;font-size:11px;font-weight:700;color:var(--tvs-text-secondary);background:var(--tvs-bg);border-top:1px solid var(--tvs-border);}
.tvs-tbl.tbl-light th:hover{background:#334155;}
.tvs-tbl.tbl-light td{padding:9px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle;}
.tvs-tbl.tbl-light tr:last-child td{border-bottom:none;}
.tvs-tbl.tbl-light tr:hover td{background:#f8fafc;}
.tvs-tbl.tbl-light tr.selected td{background:var(--tvs-blue-ghost);}
.tvs-taxas-table th{text-align:left;padding:.75rem .5rem;font-size:.7rem;font-weight:600;color:var(--tvs-text-secondary);border-bottom:1px solid var(--tvs-border);}
.tvs-taxas-table td{padding:.75rem .5rem;border-bottom:1px solid var(--tvs-border-light);}
.tvs-taxa-parcela-inp{width:90px;font-family:var(--tvs-font-mono);text-align:right;}
.tvs-col-head{display:flex;gap:4px;flex-wrap:wrap;}
.tvs-col-head table{width:100%;border-collapse:collapse;table-layout:fixed;}
.tvs-col-head th{padding:7px 10px;font-size:10px;font-weight:700;color:var(--tvs-tx3);text-transform:uppercase;letter-spacing:.8px;text-align:left;cursor:pointer;user-select:none;white-space:nowrap;transition:color .15s,background .15s;}
.tvs-col-head th:hover{color:var(--tvs-blue);background:var(--tvs-blue-ghost2);}
.tvs-col-head th.sa::after{content:' ▲';}
.tvs-col-head th.sd::after{content:' ▼';}
.tvs-root-row:hover{background:var(--tvs-blue-ghost2);}
.tvs-root-row.is-open{background:var(--tvs-blue-ghost);}
.tvs-sub-row{display:none;background:var(--sub-bg);border-left:var(--sub-border-left);padding-left:12px!important;}
.tvs-sub-row.visible{display:table-row;animation:tvs-fadeInUp .2s ease-out;}
.tvs-sub-row:hover{background:rgba(21,101,192,.015);}
.tvs-sub-indent{padding-left:24px;}
.tvs-row-cell{display:flex;align-items:center;gap:9px;padding:12px 14px;}
.tvs-drag{color:var(--tvs-tx3);cursor:grab;font-size:11px;flex-shrink:0;padding:4px;}
.tvs-drag:active{cursor:grabbing;}
.tvs-chk{width:15px;height:15px;accent-color:var(--tvs-blue);cursor:pointer;}
.tvs-row-ico.sub{width:24px;height:24px;border-radius:6px;font-size:10px;background:var(--tvs-blue-ghost);color:var(--tvs-blue);}
.tvs-row-info{min-width:0;flex:1;}
.tvs-row-name{font-size:13px;font-weight:700;color:var(--tvs-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px;}
.tvs-row-path{font-size:9px;color:var(--tvs-tx3);font-family:var(--tvs-font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.tvs-row-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;}
.tvs-col-ord{width:40px;text-align:center;}
.tvs-col-perf{width:90px;}
.tvs-col-pos{width:60px;}
.tvs-col-id{width:48px;font-size:.625rem;color:var(--tvs-tx3);}
.tvs-col-titulo{flex:1;}
.tvs-col-cat{width:120px;}
.tvs-col-status{width:90px;}
.tvs-col-views{width:70px;}
.tvs-col-visib{width:80px;}
.tvs-tr{display:flex;align-items:center;min-height:40px;padding:0 12px;border-bottom:1px solid var(--tvs-border);gap:10px;}
.tvs-tl{display:flex;align-items:center;gap:6px;overflow-x:auto;white-space:nowrap;}
.tvs-prop-cell{padding:6px 8px;}
.tvs-chk-cell{display:flex;align-items:center;justify-content:center;}
.sortable-ghost{opacity:.3;}

/* ═══════════════════════ BADGES & STATUS ═══════════════════════ */
.tvs-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:.1875rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;border:1px solid transparent;}
.tvs-badge-primary,.tvs-badge-red,.tvs-badge.red{background:var(--tvs-blue);color:#fff;border-color:transparent;}
.tvs-badge-success{background:var(--tvs-success-bg);color:var(--tvs-success);border:1px solid var(--tvs-success-bd);}
.tvs-badge-danger{background:var(--tvs-danger-bg);color:var(--tvs-danger);border:1px solid var(--tvs-danger-bd);}
.tvs-badge-warning{background:var(--tvs-warning-bg);color:var(--tvs-warning);border:1px solid var(--tvs-warning-bd);}
.tvs-badge-info{background:var(--tvs-info-bg);color:var(--tvs-info);border:1px solid var(--tvs-info-bd);}
.tvs-badge-neutral{background:var(--tvs-surface-3);color:var(--tvs-text-3);border:1px solid var(--tvs-border);}
.tvs-badge-dot::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:4px;}
.tvs-badge.yel,.tvs-badge-yel{background:rgba(201,124,0,.12);color:var(--tvs-yel);border-color:rgba(201,124,0,.2);}
.tvs-badge.pri,.tvs-badge-pri{background:var(--tvs-blue-ghost);color:var(--tvs-blue);border-color:rgba(21,101,192,.2);}
.tvs-badge.pri.destaque{position:absolute;top:12px;right:12px;z-index:5;padding:.25rem .75rem;border-radius:9999px;font-size:.625rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#6366f1,#FF6B00);box-shadow:0 2px 12px rgba(99,102,241,.3);}
.tvs-badge.cyn{background:rgba(8,145,178,.12);color:var(--tvs-cyn);border-color:rgba(8,145,178,.2);}
.tvs-badge.sub{background:rgba(108,99,255,.1);color:#7c3aed;border-color:rgba(124,58,237,.2);}
.tvs-badge.pur{background:rgba(124,58,237,.12);color:#a78bfa;border-color:rgba(124,58,237,.2);}
.tvs-badge.blu{background:rgba(59,130,246,.12);color:#93c5fd;border-color:rgba(59,130,246,.2);}
.tvs-badge.ora{background:rgba(249,115,22,.12);color:#fb923c;border-color:rgba(249,115,22,.2);}
.tvs-badge.pin{background:rgba(236,72,153,.12);color:#f9a8d4;border-color:rgba(236,72,153,.2);}
.tvs-badge.ext{background:rgba(201,124,0,.08);color:var(--tvs-yel);}
.tvs-tvs-badge{font-size:.6875rem;padding:.1875rem .5rem;background:var(--tvs-blue-ghost);border-radius:9999px;color:var(--tvs-blue);font-weight:600;}
.tvs-sub-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:var(--tvs-blue-ghost);color:var(--tvs-blue);font-size:8px;margin-left:6px;}
.tvs-sub-notif-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;border-radius:10px;margin-left:6px;line-height:1;vertical-align:middle;animation:tvs-pulse-badge 1.5s ease infinite;}
.tvs-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--tvs-radius-full);}
.tvs-status::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:currentColor;}
.tvs-status-ativo,.tvs-status-ativa,.tvs-status-pago,.tvs-status-recebido,.tvs-status-aprovado,.tvs-status-confirmado{background:var(--tvs-success-bg);color:var(--tvs-success);}
.tvs-status-pendente,.tvs-status-aberto,.tvs-status-trial,.tvs-status-em_andamento{background:var(--tvs-warning-bg);color:var(--tvs-warning);}
.tvs-status-inativo,.tvs-status-cancelado,.tvs-status-rejeitado,.tvs-status-expirado,.tvs-status-vencido,.tvs-status-fechado{background:var(--tvs-danger-bg);color:var(--tvs-danger);}
.tvs-status-novo,.tvs-status-rascunho{background:var(--tvs-info-bg);color:var(--tvs-info);}
.tvs-status-atrasado{background:var(--tvs-danger-bg);color:var(--tvs-danger);}
.tvs-status-quitado{background:var(--tvs-blue-ghost);color:var(--tvs-blue);}
.tvs-status-renegociado{background:var(--tvs-success-bg);color:var(--tvs-success);}
.tvs-status-badge{display:inline-flex;align-items:center;gap:5px;padding:.25rem .625rem;border-radius:20px;font-size:.6875rem;font-weight:600;}
.tvs-version-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--tvs-blue-ghost);border-radius:9999px;font-size:.7rem;font-weight:600;color:var(--tvs-blue);}
.tvs-tag{font-size:10px;background:var(--tvs-blue-ghost);border:1px solid rgba(21,101,192,.2);color:var(--tvs-blue);padding:3px 8px;border-radius:var(--tvs-radius-sm);font-weight:600;}
.tvs-star-full{color:var(--tvs-yel);}
.tvs-star-empty{color:var(--tvs-border-2);}
.star-full{color:var(--tvs-yel);}
.star-empty{color:var(--tvs-border);}
.tvs-chip-wrap{display:flex;gap:4px;flex-wrap:wrap;}

/* ═══════════════════════ ALERTAS ═══════════════════════ */
.tvs-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--tvs-radius-md);font-size:.8125rem;border:1px solid;margin-bottom:12px;}
.tvs-alert-icon{font-size:14px;flex-shrink:0;margin-top:1px;}
.tvs-alert-title{font-weight:700;margin-bottom:2px;}
.tvs-alert-success,.tvs-alert.ok,.tvs-tvs-ok{background:var(--tvs-success-bg);border-color:var(--tvs-success-bd);color:var(--tvs-success);}
.tvs-alert-danger,.tvs-alert.err,.tvs-tvs-err{background:var(--tvs-danger-bg);border-color:var(--tvs-danger-bd);color:var(--tvs-danger);}
.tvs-alert-warning,.tvs-alert.yel{background:var(--tvs-warning-bg);border-color:var(--tvs-warning-bd);color:var(--tvs-warning);}
.tvs-alert-info,.tvs-alert.pri{background:var(--tvs-info-bg);border-color:var(--tvs-info-bd);color:var(--tvs-info);}
.tvs-alert-ok{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;margin-bottom:1rem;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#10b981;}
.tvs-alert-err{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;margin-bottom:1rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444;}
.tvs-flash{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--tvs-radius-md);font-size:12.5px;font-weight:600;margin-bottom:12px;}
.tvs-flash.ok{background:rgba(15,155,94,.1);border:1px solid rgba(15,155,94,.25);color:var(--tvs-grn);}
.tvs-flash.err{background:rgba(211,47,47,.1);border:1px solid rgba(211,47,47,.25);color:var(--tvs-red);}
.tvs-flash.yel{background:rgba(201,124,0,.1);border:1px solid rgba(201,124,0,.25);color:var(--tvs-yel);}
.tvs-info-box.blue{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2);color:#93c5fd;}
.tvs-info-box.grn{background:rgba(15,155,94,.08);border-color:rgba(15,155,94,.2);color:#6ee7b7;}
.tvs-info-box.yel{background:rgba(201,124,0,.08);border-color:rgba(201,124,0,.2);color:#fcd34d;}

/* ═══════════════════════ MODAL ═══════════════════════ */
.tvs-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--tvs-sp-4);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity var(--tvs-dur) var(--tvs-ease);}
.tvs-modal-backdrop.open{opacity:1;pointer-events:all;}
.tvs-modal{background:var(--tvs-surface);border-radius:var(--tvs-radius-lg);box-shadow:var(--tvs-shadow-xl);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;transform:scale(.95) translateY(-10px);transition:transform var(--tvs-dur) var(--tvs-ease);overflow:hidden;}
.tvs-modal-backdrop.open .tvs-modal{transform:scale(1) translateY(0);}
.tvs-modal-sm{max-width:420px;}
.tvs-modal-lg{max-width:800px;}
.tvs-modal-xl{max-width:1100px;}
.tvs-modal-header,.tvs-modal-head{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;border-bottom:2px solid var(--tvs-blue);background:#FFFFFF;}
.tvs-modal-footer,.tvs-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.625rem 1rem;border-top:1px solid var(--tvs-border);background:#F7F9FB;}
.tvs-modal-icon{width:36px;height:36px;background:var(--tvs-blue);border-radius:var(--tvs-radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;flex-shrink:0;}
.tvs-modal-ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;background:var(--tvs-blue-ghost);color:var(--tvs-blue);}
.tvs-modal-title{font-size:.875rem;font-weight:700;display:flex;align-items:center;gap:.5rem;flex:1;color:var(--tvs-tx);}
.tvs-modal-title i{color:var(--tvs-blue);font-size:.9375rem;}
.tvs-modal-sub{font-size:.75rem;color:var(--tvs-tx3);}
.tvs-modal-close{background:none;border:none;color:var(--tvs-text-muted);font-size:22px;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s;}
.tvs-modal-close:hover{color:var(--tvs-text);}
.tvs-modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-height:70vh;background:var(--tvs-surface);}
.tvs-modal-body::-webkit-scrollbar{display:none;}
.tvs-modal-loading{display:flex;align-items:center;justify-content:center;padding:3rem;}
.tvs-modal-loading i{font-size:2rem;color:var(--tvs-blue);animation:tvs-spin 1s linear infinite;}
.tvs-modal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--tvs-border);padding:0 1rem;background:var(--tvs-bg);}
.tvs-modal-bd{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:var(--tvs-z-modal);display:none;align-items:center;justify-content:center;}
.tvs-modal-bd.active,.tvs-modal-bd[style*="display: flex"],.tvs-modal-overlay.open{opacity:1;visibility:visible;}
.tvs-modal-box{background:var(--tvs-bg-modal);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-xl);box-shadow:var(--tvs-shadow-xl);width:95vw;max-width:680px;display:flex;flex-direction:column;overflow:hidden;}
.tvs-modal-box.lg{max-width:1000px;}
.tvs-modal-back{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:var(--tvs-z-modal);display:none;align-items:center;justify-content:center;}
.tvs-modal-back.open{display:flex;}
.tvs-modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);z-index:2000;align-items:center;justify-content:center;}
.tvs-modal-overlay.open{display:flex;}
.tvs-mod-chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;max-height:400px;overflow-y:auto;padding:.5rem;}
.tvs-mod-chk-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--tvs-tema-bg2);border:1px solid var(--tvs-tema-border);border-radius:12px;cursor:pointer;transition:all .2s;}
.tvs-mod-chk-item:hover,.tvs-mod-chk-item.selected{background:rgba(var(--tvs-ms-pri-rgb),.1);border-color:var(--tvs-blue);}
.tvs-mod-chk-ico{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0;}
.tvs-mod-chk-nome{flex:1;font-size:.85rem;font-weight:500;}
.tvs-mod-chk-check{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.1);color:transparent;transition:all .2s;}
.tvs-mod-chk-item.selected .tvs-mod-chk-check{background:var(--tvs-blue);color:#fff;}

/* ═══════════════════════ DRAWER ═══════════════════════ */
.tvs-drawer{position:fixed;top:0;right:-100%;width:420px;max-width:96vw;height:100vh;background:var(--tvs-bg);z-index:var(--tvs-z-modal);display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);border-left:1px solid var(--tvs-border);box-shadow:var(--tvs-shadow-xl);}
.tvs-drawer.open{right:0;}
.tvs-drawer-lg{width:620px;}
.tvs-drawer-header,.tvs-drawer-head{display:flex;align-items:center;gap:var(--tvs-sp-3);padding:var(--tvs-sp-4) var(--tvs-sp-5);border-bottom:2px solid var(--tvs-blue);background:#FFFFFF;flex-shrink:0;justify-content:space-between;}
.tvs-drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--tvs-sp-2);padding:var(--tvs-sp-3) var(--tvs-sp-5);border-top:1px solid var(--tvs-border);background:var(--tvs-surface-2);flex-shrink:0;}
.tvs-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;}
.tvs-drawer-foot{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--tvs-border);}
.tvs-drawer-tabs{width:100%;display:flex;border-bottom:1px solid var(--tvs-border);background:var(--tvs-bg3);flex-shrink:0;overflow-x:auto;}
.tvs-drawer-tab{flex:1;padding:11px 8px;background:none;border:none;border-bottom:2px solid transparent;color:var(--tvs-tx3);font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:all .15s;}
.tvs-drawer-tab.active{color:var(--tvs-blue);border-bottom-color:var(--tvs-blue);}
.tvs-drawer-tabs-container{overflow-x:auto;scrollbar-width:none;}
.tvs-drawer-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.tvs-drawer-name{font-size:15px;font-weight:800;flex:1;}
.tvs-drawer-path{font-size:10px;color:var(--tvs-tx3);margin-top:2px;}
.tvs-drawer-x{width:30px;height:30px;border-radius:50%;background:rgba(21,101,192,.08);border:none;color:var(--tvs-blue);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;}
.tvs-drawer-head-inner{flex:1;min-width:0;}
.tvs-drawer-sub{font-size:.75rem;color:var(--tvs-tx3);}
.tvs-drawer-title{font-size:.875rem;font-weight:700;color:var(--tvs-tx);}

/* ═══════════════════════ SHEET / BOTTOM SHEET ═══════════════════════ */
.tvs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:none;}
.tvs-overlay.open{display:block;}
.tvs-sheet-back.open{opacity:1;pointer-events:all;}
.tvs-sheet{position:fixed;z-index:301;background:var(--tvs-bg);border-radius:20px;border-top:1px solid var(--tvs-border);transform:translate(-50%,-50%);transition:transform .3s cubic-bezier(.4,0,.2,1);max-height:92vh;display:flex;flex-direction:column;top:50%;left:50%;width:50%;}
.tvs-sheet.open{transform:translate(-50%,-50%) translateY(0);}
.tvs-sheet-handle{width:40px;height:4px;border-radius:99px;background:rgba(21,101,192,.2);margin:10px auto 0;flex-shrink:0;}
.tvs-sheet-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--tvs-border);flex-shrink:0;}
.tvs-sheet-head-ico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:var(--tvs-blue-ghost);color:var(--tvs-blue);}
.tvs-sheet-title{font-size:16px;font-weight:800;flex:1;}
.tvs-sheet-x{width:32px;height:32px;border-radius:50%;background:rgba(21,101,192,.06);border:none;color:var(--tvs-blue);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;}
.tvs-sheet-body{overflow-y:auto;flex:1;height:50vh;padding:18px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.tvs-sheet-foot{display:flex;gap:10px;padding:14px 18px calc(14px + var(--tvs-safe,0px));border-top:1px solid var(--tvs-border);flex-shrink:0;}

/* ═══════════════════════ PICKER ═══════════════════════ */
.tvs-picker-back{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:var(--tvs-z-modal);display:none;align-items:center;justify-content:center;}
.tvs-picker-back.open{display:flex;}
.tvs-picker{background:var(--tvs-bg);border:1px solid var(--tvs-border-2);border-radius:14px;width:96vw;max-width:680px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;}
.tvs-picker-head{padding:13px 17px;border-bottom:2px solid var(--tvs-blue);display:flex;align-items:center;gap:10px;background:#fff;}
.tvs-picker-body{flex:1;overflow-y:auto;padding:16px 18px;}
.tvs-picker-grupo{margin-bottom:16px;}
.tvs-picker-grupo-label{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:4px 0;border-bottom:1px solid var(--tvs-border);margin-bottom:8px;}
.tvs-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:7px;}
.tvs-picker-item{background:var(--tvs-bg3);border:1px solid var(--tvs-border);border-radius:8px;padding:13px 6px;text-align:center;cursor:pointer;transition:all .15s;}
.tvs-picker-item:hover{background:var(--tvs-blue-ghost);border-color:var(--tvs-blue);color:var(--tvs-blue);}
.tvs-picker-item i{font-size:20px;display:block;margin-bottom:5px;color:var(--tvs-tx3);}
.tvs-picker-item:hover i{color:var(--tvs-blue);}
.tvs-picker-item span{font-size:9.5px;font-weight:600;}

/* ═══════════════════════ PAGINAÇÃO ═══════════════════════ */
.tvs-pagination{display:flex;align-items:center;gap:4px;}
.tvs-pag-btn{min-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-sm);background:var(--tvs-surface);color:var(--tvs-text-3);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--tvs-dur-fast);}
.tvs-pag-btn:hover{border-color:var(--tvs-blue);color:var(--tvs-blue);background:var(--tvs-blue-ghost);}
.tvs-pag-btn.active{background:var(--tvs-blue);border-color:var(--tvs-blue);color:#fff;}
.tvs-pag-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;}
.tvs-pag-info{font-size:11px;color:var(--tvs-text-3);}
.tvs-pag-btns{display:flex;gap:4px;}
.tvs-pagination .tvs-btn-primary{background:var(--tvs-blue);color:#fff;}

/* ═══════════════════════ EMPTY STATE ═══════════════════════ */
.tvs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--tvs-sp-12) var(--tvs-sp-6);text-align:center;color:var(--tvs-text-muted);}
.tvs-empty-icon{font-size:2.5rem;margin-bottom:var(--tvs-sp-3);opacity:.5;}
.tvs-empty-title{font-size:14px;font-weight:700;color:var(--tvs-text-3);margin-bottom:var(--tvs-sp-2);}
.tvs-empty-text{font-size:12px;max-width:280px;line-height:1.6;}
.tvs-empty-action{margin-top:var(--tvs-sp-4);}
.tvs-empty-ico{width:72px;height:72px;border-radius:20px;background:var(--tvs-bg2);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--tvs-text-muted);margin-bottom:20px;}
.tvs-empty h3{font-size:16px;color:var(--tvs-text-secondary);margin:0;}
.tvs-empty p{font-size:13px;margin:0;max-width:280px;line-height:1.6;}

/* ═══════════════════════ TOAST ═══════════════════════ */
.tvs-toast-container{position:fixed;bottom:var(--tvs-sp-5);right:var(--tvs-sp-5);z-index:9999;display:flex;flex-direction:column;gap:var(--tvs-sp-2);pointer-events:none;}
.tvs-toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:var(--tvs-z-toast);pointer-events:none;}
.tvs-toast-wrap{display:flex;flex-direction:column;gap:8px;}
.tvs-toast{position:relative;display:flex;align-items:center;gap:.625rem;padding:.75rem 1.125rem;border-radius:var(--tvs-radius-lg);font-size:.8125rem;font-weight:700;box-shadow:var(--tvs-shadow-lg);animation:tvs-toast-in .2s ease;min-width:200px;pointer-events:all;background:var(--tvs-bg3);border:1px solid var(--tvs-border-2);color:var(--tvs-text);}
.tvs-toast.out{animation:tvs-toast-out var(--tvs-dur) var(--tvs-ease) forwards;}
.tvs-toast-icon{font-size:15px;flex-shrink:0;margin-top:1px;}
.tvs-toast-title{font-size:12px;font-weight:700;color:var(--tvs-text);margin-bottom:1px;}
.tvs-toast-body{font-size:11px;color:var(--tvs-text-3);line-height:1.4;}
.tvs-toast-close{margin-left:auto;background:none;border:none;color:var(--tvs-text-muted);cursor:pointer;font-size:14px;padding:0;flex-shrink:0;}
.tvs-toast-success .tvs-toast-icon{color:var(--tvs-success);}
.tvs-toast-danger .tvs-toast-icon{color:var(--tvs-danger);}
.tvs-toast-warning .tvs-toast-icon{color:var(--tvs-warning);}
.tvs-toast-info .tvs-toast-icon{color:var(--tvs-info);}
.tvs-toast-progress{height:3px;background:var(--tvs-border);border-radius:0 0 var(--tvs-radius-md) var(--tvs-radius-md);}
.tvs-toast.ok{border-color:rgba(15,155,94,.3);}
.tvs-toast.ok i{color:var(--tvs-grn);}
.tvs-toast.err{border-color:rgba(211,47,47,.3);}
.tvs-toast.err i{color:var(--tvs-red);}
.tvs-toast.yel{border-color:rgba(201,124,0,.3);}
.tvs-toast.yel i{color:var(--tvs-yel);}
.tvs-toast.web{padding:9px 15px;border-radius:20px;font-size:11.5px;box-shadow:0 4px 20px rgba(0,0,0,.2);}
.tvs-toast.web.ok{background:#22c55e;color:#000;border:none;}
.tvs-toast.web.err{background:var(--tvs-red);color:#fff;border:none;}
.tvs-toast.web.yel{background:#f59e0b;color:#000;border:none;}

/* ═══════════════════════ BUSCA & FILTROS ═══════════════════════ */
.tvs-search-wrap{position:relative;display:flex;align-items:center;}
.tvs-search-ico{position:absolute;left:10px;font-size:12px;color:var(--tvs-tx3);flex-shrink:0;pointer-events:none;}
.tvs-search-wrap .tvs-search-icon{position:absolute;left:10px;color:var(--tvs-text-muted);font-size:12px;pointer-events:none;}
.tvs-search-wrap .tvs-input{padding-left:32px;}
.tvs-search-wrap .tvs-search-clear{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:var(--tvs-text-muted);font-size:12px;display:none;}
.tvs-search-wrap.has-val .tvs-search-clear{display:flex;}
.tvs-search-area{display:flex;align-items:center;gap:8px;}
.tvs-search-box{max-width:100%;width:100%;min-width:0;display:flex;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:var(--tvs-radius-lg);padding:0 10px;gap:7px;height:32px;transition:all .2s;}
.tvs-search-box:focus-within{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.32);box-shadow:0 0 0 2px rgba(255,255,255,.08);}
.tvs-search-box i.ico{position:absolute;left:12px;color:var(--tvs-tx3);font-size:13px;pointer-events:none;}
.tvs-search-inp{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:6px 14px 6px 34px;color:#fff;font-size:12px;width:180px;transition:width .2s,background .2s;outline:none;}
.tvs-search-inp:focus{width:240px!important;background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.4)!important;}
.tvs-search-res{z-index:99999!important;min-width:340px!important;max-height:75vh!important;overflow-y:auto!important;}
.tvs-search-clr{color:rgba(255,255,255,.45);cursor:pointer;font-size:11px;background:none;border:none;display:none;align-items:center;}
.tvs-search-kbd{font-size:9.5px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:3px;padding:1px 5px;color:rgba(255,255,255,.45);font-family:var(--tvs-font-mono);white-space:nowrap;}
.tvs-filter-bar{display:flex;align-items:flex-end;gap:var(--tvs-sp-3);flex-wrap:wrap;padding:var(--tvs-sp-3) var(--tvs-sp-4);background:var(--tvs-surface);border-bottom:1px solid var(--tvs-border);}
.tvs-filter-item{display:flex;flex-direction:column;gap:3px;min-width:140px;}
.tvs-filter-label{font-size:9px;font-weight:700;color:var(--tvs-text-3);text-transform:uppercase;letter-spacing:0.5px;}
.tvs-filter-actions{display:flex;gap:var(--tvs-sp-2);align-items:flex-end;margin-left:auto;}
.tvs-filter-toggle{width:40px;height:40px;border-radius:50%;background:var(--tvs-bg3);border:1.5px solid var(--tvs-border-2);cursor:pointer;color:var(--tvs-text-secondary);font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;}
.tvs-filter-toggle.active{background:var(--tvs-blue-ghost);border-color:var(--tvs-blue);color:var(--tvs-blue);}
.tvs-filter-panel.open{max-height:280px;padding:12px 14px 14px;}
.tvs-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.tvs-filter-sel{background:var(--tvs-bg3);border:1.5px solid var(--tvs-border-2);border-radius:var(--tvs-radius-md);padding:9px 10px;font-size:12px;color:var(--tvs-tx);outline:none;cursor:pointer;width:100%;}
.tvs-filter-sel:focus{border-color:var(--tvs-blue);}
.tvs-filter-clr{grid-column:1/-1;background:none;border:1.5px dashed var(--tvs-border-2);border-radius:var(--tvs-radius-md);padding:8px;font-size:11px;color:var(--tvs-tx3);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;}
.tvs-filter-clr:hover{border-color:var(--tvs-blue);color:var(--tvs-blue);}
.tvs-filter-btn{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;border:1.5px solid rgba(21,101,192,.2);background:transparent;cursor:pointer;transition:var(--tvs-transition);color:var(--tvs-tx3);}
.tvs-filter-btn.active{background:var(--tvs-blue-ghost);border-color:var(--tvs-blue);color:var(--tvs-blue);}
.tvs-bulk.show{display:flex;}
.tvs-bulk-info{font-size:12px;font-weight:700;color:var(--tvs-blue);}
.tvs-bulk-actions{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap;}
.tvs-bulk-btn{padding:6px 12px;border-radius:99px;border:1px solid var(--tvs-border-2);background:var(--tvs-bg3);color:var(--tvs-text-secondary);font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .15s;}
.tvs-bulk-btn:hover{border-color:var(--tvs-blue);color:var(--tvs-blue);background:var(--tvs-blue-ghost);}
.tvs-bulk-btn.grn:hover{border-color:var(--tvs-grn);color:var(--tvs-grn);background:rgba(15,155,94,.1);}
.tvs-bulk-btn.red:hover{border-color:var(--tvs-red);color:var(--tvs-red);background:rgba(211,47,47,.1);}
.tvs-bulk-btn.yel:hover{border-color:var(--tvs-yel);color:var(--tvs-yel);background:rgba(201,124,0,.1);}

/* ═══════════════════════ PROGRESSO ═══════════════════════ */
.tvs-progress{height:6px;background:var(--tvs-surface-3);border-radius:var(--tvs-radius-full);overflow:hidden;}
.tvs-progress-bar{height:100%;background:var(--tvs-blue);border-radius:var(--tvs-radius-full);transition:width .4s var(--tvs-ease);}
.tvs-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--tvs-blue),var(--tvs-blue-light));transition:width .3s;}
.tvs-progress-sm{height:4px;}
.tvs-progress-lg{height:10px;}
.tvs-progress-bar-fixed{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--tvs-blue),var(--tvs-accent));z-index:10000;width:0;transition:width .1s linear;}

/* ═══════════════════════ TIMELINE ═══════════════════════ */
.tvs-timeline{position:relative;padding-left:var(--tvs-sp-5);}
.tvs-timeline::before{content:'';position:absolute;left:10px;top:5px;bottom:5px;width:2px;background:var(--tvs-border);}
.tvs-timeline-item{position:relative;padding-bottom:var(--tvs-sp-4);}
.tvs-timeline-dot{position:absolute;left:-20px;width:16px;height:16px;border-radius:50%;background:var(--tvs-blue);border:2px solid var(--tvs-surface);display:flex;align-items:center;justify-content:center;font-size:7px;color:#fff;box-shadow:var(--tvs-shadow-xs);}
.tvs-timeline-date{font-size:10px;color:var(--tvs-text-muted);margin-bottom:var(--tvs-sp-1);}
.tvs-timeline-content{background:var(--tvs-surface);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius);padding:var(--tvs-sp-3);}

/* ═══════════════════════ SPINNER & SKELETON ═══════════════════════ */
.tvs-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--tvs-border);border-top-color:var(--tvs-blue);border-radius:50%;animation:tvs-spin .7s linear infinite;}
.tvs-spinner-sm{width:14px;height:14px;border-width:2px;}
.tvs-spinner-lg{width:28px;height:28px;border-width:3px;}
.tvs-skeleton{background:linear-gradient(90deg,var(--tvs-surface-2) 25%,var(--tvs-surface-3) 50%,var(--tvs-surface-2) 75%);background-size:200% 100%;animation:tvs-skeleton 1.4s ease infinite;border-radius:var(--tvs-radius-sm);}

/* ═══════════════════════ HERO BANNER ═══════════════════════ */
.tvs-hero{background:linear-gradient(135deg,#0a1628 0%,var(--tvs-blue) 100%);border-radius:var(--tvs-radius-lg);padding:var(--tvs-sp-6) var(--tvs-sp-8);color:#fff;position:relative;overflow:hidden;}
.tvs-hero::before{content:'';position:absolute;right:-40px;top:-40px;width:200px;height:200px;background:rgba(255,255,255,.05);border-radius:50%;}
.tvs-hero-title{font-size:1rem;font-weight:800;color:#fff;margin-bottom:.1875rem;line-height:1.2;}
.tvs-hero-sub{font-size:.75rem;color:rgba(199,212,220,.85);margin-bottom:0;line-height:1.4;}
.tvs-hero-value{font-size:2.5rem;font-weight:900;letter-spacing:-2px;line-height:1;}
.tvs-hero-label{font-size:11px;opacity:.55;text-transform:uppercase;letter-spacing:1px;margin-top:var(--tvs-sp-1);}
.tvs-hero-content{position:relative;z-index:1;display:flex;align-items:center;gap:.875rem;}
.tvs-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(21,101,192,.15),transparent 55%);z-index:0;}
.tvs-hero-logo{margin-bottom:0;flex-shrink:0;}
.tvs-hero-logo img{height:2rem;width:auto;object-fit:contain;}
.tvs-hero-info{flex:1;min-width:0;}
.tvs-hero-badge{display:inline-flex;align-items:center;gap:.3rem;background:rgba(21,101,192,.2);padding:.125rem .625rem;border-radius:9999px;font-size:.625rem;font-weight:700;color:#93c5fd;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.4px;}
.tvs-hero-actions{display:flex;gap:.375rem;flex-wrap:nowrap;flex-shrink:0;}

/* ═══════════════════════ LISTAS ═══════════════════════ */
.tvs-list{display:flex;flex-direction:column;gap:0;}
.tvs-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--tvs-border);transition:var(--tvs-transition);}
.tvs-list-item:hover{background:var(--tvs-bg-hover);}
.tvs-list-item:last-child{border-bottom:none;}
.tvs-list-wrap{overflow-y:auto;max-height:400px;}
.tvs-mini-list{display:flex;flex-direction:column;gap:4px;}
.tvs-li{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:.8125rem;border-radius:var(--tvs-radius-sm);}
.tvs-li-sub{padding-left:24px;font-size:.75rem;color:var(--tvs-tx3);}
.tvs-li-title{font-weight:600;padding:8px 10px;font-size:.75rem;text-transform:uppercase;color:var(--tvs-tx3);letter-spacing:.5px;}
.tvs-data-list{display:flex;flex-direction:column;}
.tvs-data-item{display:flex;align-items:center;gap:var(--tvs-sp-3);padding:var(--tvs-sp-3) var(--tvs-sp-4);border-bottom:1px solid var(--tvs-border-2);transition:all 0.15s ease;}
.tvs-data-item:last-child{border-bottom:0;}
.tvs-data-item:hover{background:var(--tvs-blue-ghost2);}
.tvs-data-item-icon{width:34px;height:34px;border-radius:var(--tvs-radius-sm);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.tvs-data-item-body{flex:1;min-width:0;}
.tvs-data-item-title{font-size:12px;font-weight:600;color:var(--tvs-text);}
.tvs-data-item-sub{font-size:10px;color:var(--tvs-text-muted);margin-top:1px;}
.tvs-data-item-meta{text-align:right;flex-shrink:0;}
.tvs-data-item-value{font-size:13px;font-weight:800;color:var(--tvs-text);}
.tvs-data-item-sub2{font-size:10px;color:var(--tvs-text-muted);}

/* ═══════════════════════ AVATAR ═══════════════════════ */
.tvs-avatar{border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--tvs-blue-ghost);color:var(--tvs-blue);display:flex;align-items:center;justify-content:center;font-weight:700;text-transform:uppercase;}
.tvs-avatar-xs{width:24px;height:24px;font-size:9px;}
.tvs-avatar-sm{width:32px;height:32px;font-size:11px;}
.tvs-avatar-md{width:40px;height:40px;font-size:14px;}
.tvs-avatar-lg{width:52px;height:52px;font-size:18px;}
.tvs-avatar-xl{width:72px;height:72px;font-size:24px;}
.tvs-avatar-2xl{width:96px;height:96px;font-size:32px;}
.tvs-av{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--tvs-blue-ghost);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--tvs-blue);overflow:hidden;}
.tvs-av-lg{width:72px;height:72px;border-radius:50%;}
.tvs-av-mini{width:24px;height:24px;border-radius:50%;font-size:10px;}
.tvs-av-edit{width:32px;height:32px;border-radius:50%;background:var(--tvs-blue);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:var(--tvs-transition);}
.tvs-av-edit:hover{opacity:.85;}

/* ═══════════════════════ SEPARADORES ═══════════════════════ */
.tvs-sep{color:rgba(21,101,192,.10);}
.tvs-sep-label{text-align:center;position:relative;font-size:10px;color:var(--tvs-text-muted);margin:var(--tvs-sp-4) 0;}
.tvs-sep-label::before,.tvs-sep-label::after{content:'';position:absolute;top:50%;width:calc(50% - 30px);height:1px;background:var(--tvs-border);}
.tvs-sep-label::before{left:0;}
.tvs-sep-label::after{right:0;}
.tvs-divider{width:1px;height:16px;background:rgba(21,101,192,.1);flex-shrink:0;}
.tvs-sub-sep{width:1px;height:14px;background:rgba(21,101,192,.15);margin:0 3px;flex-shrink:0;}

/* ═══════════════════════ TOOLBAR & SEÇÕES ═══════════════════════ */
.tvs-toolbar{display:flex;align-items:center;gap:10px;background:#FFFFFF;border:1px solid var(--tvs-border);border-radius:12px;padding:12px 14px;margin-bottom:16px;flex-wrap:wrap;border-top:2px solid var(--tvs-blue);}
.tvs-toolbar-icon{width:38px;height:38px;background:var(--tvs-blue);border-radius:var(--tvs-radius);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;flex-shrink:0;box-shadow:0 3px 8px rgba(21,101,192,.30);}
.tvs-toolbar-title{font-size:15px;font-weight:800;color:var(--tvs-text);}
.tvs-toolbar-subtitle{font-size:11px;color:var(--tvs-text-3);margin-top:1px;}
.tvs-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--tvs-sp-2);}
.tvs-page-title{font-size:20px;font-weight:800;color:var(--tvs-text);line-height:1.2;display:flex;align-items:center;gap:10px;}
.tvs-page-title h1{font-size:.9375rem;font-weight:700;color:var(--tvs-blue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-page-title p{display:none;}
.tvs-page-icon{width:1.875rem;height:1.875rem;background:var(--tvs-blue-ghost);border:1px solid rgba(21,101,192,.15);border-radius:var(--tvs-radius-md);display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--tvs-blue);flex-shrink:0;}
.tvs-section-header{text-align:center;margin-bottom:40px;}
.tvs-section-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;color:var(--tvs-tx);line-height:1.15;margin-bottom:12px;}
.tvs-section-pretitle{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--tvs-blue);margin-bottom:10px;}
.tvs-section-desc{font-size:.9375rem;color:var(--tvs-text-secondary);max-width:600px;margin:0 auto;line-height:1.75;}
.tvs-section-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;background:var(--tvs-blue-ghost);border-radius:99px;font-size:.7rem;font-weight:700;color:var(--tvs-blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;}
.tvs-collapse:hover{background:var(--tvs-blue-ghost2);color:var(--tvs-tx);}
.tvs-brand{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--tvs-tx);}
.tvs-brand-ico{width:28px;height:28px;border-radius:8px;background:var(--tvs-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;}
.tvs-canvas-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#FFFFFF;border-bottom:2px solid var(--tvs-blue);}
.tvs-props-head,.tvs-props-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:2px solid var(--tvs-blue);}
.tvs-editor-layout{display:flex;height:calc(100vh - var(--arc-nav-total,90px));overflow:hidden;}
.tvs-editor-main{flex:1;display:flex;flex-direction:column;min-width:0;}
.tvs-editor-area{flex:1;overflow-y:auto;padding:16px;}
.tvs-editor-side{width:280px;flex-shrink:0;border-left:1px solid var(--tvs-border);background:var(--tvs-bg3);overflow-y:auto;}
.tvs-builder-app{display:flex;flex-direction:column;height:100vh;overflow:hidden;}
.tvs-canvas-wrap{flex:1;display:flex;overflow:hidden;}
.tvs-canvas{flex:1;overflow-y:auto;padding:16px;}
.tvs-canvas-area{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:8px;}
.tvs-canvas-inner{display:flex;flex-direction:column;gap:8px;}
.tvs-props-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--tvs-border);background:var(--tvs-bg3);}
.tvs-props-body{flex:1;overflow-y:auto;padding:12px;}

/* ═══════════════════════ TEXTOS AUXILIARES ═══════════════════════ */
.tvs-sobre-text{font-size:.875rem;line-height:1.7;color:var(--tvs-text-secondary);}
.tvs-info-lbl{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--tvs-text-secondary);}
.tvs-info-val{font-size:.8125rem;font-weight:500;color:var(--tvs-text);}
.tvs-text-right{text-align:right;}
.tvs-text-left{text-align:left;}
.tvs-text-muted{color:var(--tvs-text-muted);}
.tvs-text-2{color:var(--tvs-text-2);}
.tvs-text-3{color:var(--tvs-text-3);}
.tvs-text-red{color:var(--tvs-red);}
.tvs-text-success{color:var(--tvs-success);}
.tvs-text-danger{color:var(--tvs-danger);}
.tvs-text-warning{color:var(--tvs-warning);}
.tvs-text-info{color:var(--tvs-info);}
.tvs-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tvs-break{word-break:break-word;}
.tvs-fw-bold{font-weight:700;}
.tvs-fw-semibold{font-weight:600;}
.tvs-fw-medium{font-weight:500;}
.tvs-fs-xs{font-size:var(--tvs-fs-xs);}
.tvs-fs-sm{font-size:var(--tvs-fs-sm);}
.tvs-fs-md{font-size:var(--tvs-fs-md);}
.tvs-num{font-size:.75rem;font-weight:700;color:var(--tvs-tx3);font-family:var(--tvs-font-mono);}
.tvs-hl{color:var(--tvs-blue);}
.tvs-hl-pri{color:var(--tvs-blue);}
.tvs-hl-acc{color:var(--tvs-acc);}
.tvs-bg2{background:var(--tvs-bg2);}
.tvs-bg3{background:var(--tvs-bg3);}
.tvs-tx{color:var(--tvs-tx);}
.tvs-tx2{color:var(--tvs-tx2);}
.tvs-tx3{color:var(--tvs-tx3);}
.tvs-grn{color:var(--tvs-grn);}
.tvs-red{color:var(--tvs-red);}
.tvs-yel{color:var(--tvs-yel);}
.tvs-pri{color:var(--tvs-blue);}
.tvs-pri2{color:var(--tvs-pri2);}
.tvs-border{border-color:var(--tvs-border);}
.tvs-r2{border-radius:var(--tvs-r2);}

/* ═══════════════════════ ESPAÇAMENTOS ═══════════════════════ */
.tvs-mt-0{margin-top:0}.tvs-mt-1{margin-top:.25rem}.tvs-mt-2{margin-top:.5rem}.tvs-mt-3{margin-top:.75rem}.tvs-mt-4{margin-top:1rem}.tvs-mt-5{margin-top:1.25rem}
.tvs-mb-0{margin-bottom:0}.tvs-mb-1{margin-bottom:.25rem}.tvs-mb-2{margin-bottom:.5rem}.tvs-mb-3{margin-bottom:.75rem}.tvs-mb-4{margin-bottom:1rem}.tvs-mb-5{margin-bottom:1.25rem}
.tvs-p-0{padding:0}.tvs-p-1{padding:.25rem}.tvs-p-2{padding:.5rem}.tvs-p-3{padding:.75rem}.tvs-p-4{padding:1rem}.tvs-p-5{padding:1.25rem}
.tvs-w-full,.tvs-w-100,.tvs-mx-wrap{width:100%}.tvs-mx{max-width:100%}
.tvs-hidden{display:none!important}
.tvs-sr-only,.tvs-wcag{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tvs-cursor-pointer{cursor:pointer}
.tvs-no-decoration{text-decoration:none}
.tvs-tvs-1{gap:.25rem}.tvs-tvs-2{gap:.5rem}.tvs-tvs-3{gap:.75rem}.tvs-tvs-4{gap:1rem}.tvs-tvs-5{gap:1.25rem}
.tvs-hide-mobile{/* tratado por media query */}

/* ═══════════════════════ ÁRVORE / TREE ═══════════════════════ */
.tvs-tree-wrap{display:flex;flex-direction:column;gap:8px;}
.tvs-tree-node{border-radius:var(--tvs-radius);border:1px solid var(--tvs-border);overflow:hidden;margin-bottom:8px;transition:border-color .15s;}
.tvs-tree-node:hover{border-color:rgba(21,101,192,.25);}
.tvs-tree-node-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--tvs-bg3);cursor:pointer;user-select:none;}
.tvs-tree-node-head:hover{background:var(--tvs-blue-ghost2);}
.tvs-tree-node-body{background:var(--tvs-bg);}
.tvs-tree-child{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 40px;border-top:1px solid var(--tvs-border);cursor:pointer;transition:background .1s;background:var(--sub-bg);position:relative;box-shadow:0 2px 6px rgba(0,0,0,.1);margin-left:10px;}
.tvs-tree-child:hover{background:var(--tvs-blue-ghost2);}
.tvs-tree-child::before{content:'';position:absolute;left:-10px;top:10px;width:10px;height:1px;background:var(--sub-connector-color);}
.tvs-tree-add-child{padding:9px 14px 9px 40px;border-top:1px solid var(--tvs-border);display:flex;align-items:center;gap:7px;font-size:11px;color:var(--tvs-tx3);cursor:pointer;transition:color .15s;}
.tvs-tree-add-child:hover{color:var(--tvs-blue);}
.tvs-tree-chevron{transition:transform .2s;flex-shrink:0;font-size:10px;color:var(--tvs-tx3);}
.tvs-tree-chevron.open{transform:rotate(90deg);}
.tvs-tree-children{display:none;position:relative;border-left:1px solid var(--sub-indent-line-color);margin-left:10px;padding-left:10px;}
.tvs-tree-children.open{display:block;}

/* ═══════════════════════ PRESETS / TEMPLATES ═══════════════════════ */
.tvs-presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;}
.tvs-preset-card{background:var(--tvs-bg-card);border:1px solid var(--tvs-border);border-radius:2px;overflow:hidden;cursor:pointer;transition:var(--tvs-transition);}
.tvs-preset-card:hover{border-color:var(--tvs-blue);transform:translateY(-2px);}
.tvs-preset-grad{height:60px;}
.tvs-preset-body{padding:8px 10px;}
.tvs-preset-dots{display:flex;gap:4px;margin-bottom:6px;}
.tvs-preset-dot{width:12px;height:12px;border-radius:50%;}
.tvs-preset-name{font-size:12px;font-weight:700;color:var(--tvs-tx);}
.tvs-preset-desc{font-size:10px;color:var(--tvs-tx3);}
.tvs-tpl-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:10px;background:var(--tvs-bg);border:1px solid var(--tvs-border);cursor:pointer;transition:var(--tvs-transition);}
.tvs-tpl-btn:hover{border-color:var(--tvs-blue);}
.tvs-tpl-thumb{height:80px;overflow:hidden;border-radius:8px;background:var(--tvs-bg2);}
.tvs-tpl-cat{font-size:9px;font-weight:700;color:var(--tvs-blue);text-transform:uppercase;}
.tvs-tpl-nome{font-size:11px;font-weight:700;color:var(--tvs-tx);}
.tvs-tpl-desc{font-size:10px;color:var(--tvs-tx3);}
.tvs-tpl-info{display:flex;align-items:center;gap:6px;}

/* ═══════════════════════ MISC ═══════════════════════ */
.tvs-exp-area{position:relative;}
.tvs-preview{border-radius:var(--tvs-radius-md);overflow:hidden;background:var(--tvs-bg2);}
.tvs-preview-banner{background:var(--tvs-bg2);border-radius:var(--tvs-radius-md);overflow:hidden;}
.tvs-cfg-mock{position:relative;border-radius:12px;overflow:hidden;background:var(--tvs-bg3);border:1px solid var(--tvs-border);padding:12px;}
.tvs-cfg-mock-hero{height:60px;background:var(--tvs-blue);border-radius:8px;margin-bottom:8px;display:flex;align-items:center;justify-content:center;}
.tvs-cfg-mock-title{height:10px;background:rgba(255,255,255,.8);border-radius:4px;width:60%;margin:0 auto 6px;}
.tvs-cfg-mock-sub{height:8px;background:rgba(255,255,255,.5);border-radius:4px;width:40%;margin:0 auto;}
.tvs-cfg-mock-body{padding:6px 0;}
.tvs-cfg-mock-cats{display:flex;gap:5px;margin-bottom:8px;}
.tvs-icon{display:inline-block;font-style:normal;line-height:1;}
.tvs-icon-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.tvs-icon-preview{width:36px;height:36px;border-radius:8px;background:var(--tvs-bg2);border:1px solid var(--tvs-border);display:flex;align-items:center;justify-content:center;font-size:16px;}
.tvs-bubble{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;}
.tvs-bubble-av{width:32px;height:32px;border-radius:50%;flex-shrink:0;}
.tvs-bubble-body{flex:1;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);padding:8px 12px;}
.tvs-bubble-text{font-size:.8125rem;color:var(--tvs-tx);line-height:1.5;}
.tvs-bubble-meta{display:flex;gap:8px;font-size:.625rem;color:var(--tvs-tx3);margin-top:4px;}
.tvs-clr{width:18px;height:18px;border-radius:50%;flex-shrink:0;cursor:pointer;border:2px solid transparent;}
.tvs-clr.active{border-color:var(--tvs-blue);}
.tvs-sub-pos{display:flex;align-items:center;gap:4px;font-size:.625rem;color:var(--tvs-tx3);}
.tvs-sub-top{display:flex;align-items:center;gap:8px;}
.tvs-detail-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--tvs-border-light);}
.tvs-detail-lbl{font-size:.75rem;color:var(--tvs-tx3);min-width:120px;}
.tvs-detail-val{font-size:.8125rem;font-weight:500;color:var(--tvs-tx);flex:1;}
.tvs-drow{display:flex;align-items:flex-start;justify-content:space-between;padding:8px 0;}
.tvs-drow-lbl{font-size:.75rem;color:var(--tvs-tx3);}
.tvs-drow-val{font-size:.8125rem;color:var(--tvs-tx);text-align:right;max-width:60%;}
.tvs-mask-cep,.tvs-mask-cpf,.tvs-mask-phone{font-family:var(--tvs-font-mono);}
.man-num{font-size:.75rem;font-weight:700;color:var(--tvs-text-secondary);font-family:var(--tvs-font-mono);}

/* ═══════════════════════ QUICK / DEV ═══════════════════════ */
.tvs-quick-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;background:var(--tvs-bg-card);border:1px solid var(--tvs-border-light);border-radius:var(--tvs-radius-lg);box-shadow:var(--tvs-shadow-sm);text-decoration:none;transition:var(--tvs-transition);}
.tvs-quick-item:hover{background:var(--tvs-blue-ghost2);border-color:rgba(21,101,192,.25);transform:translateX(3px);box-shadow:var(--tvs-shadow-md);}
.tvs-quick-ico{width:2rem;height:2rem;background:var(--tvs-blue-ghost);border-radius:var(--tvs-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tvs-quick-ico i{font-size:.9375rem;color:var(--tvs-blue);}
.tvs-quick-info .ttl{display:block;font-size:.8125rem;font-weight:600;color:var(--tvs-text);}
.tvs-quick-info .sub{display:block;font-size:.6875rem;color:var(--tvs-text-secondary);}
/* ═══════════════════════ BANNER ═══════════════════════ */
.tvs-banner-wrap{position:relative;height:220px;overflow:hidden;border-radius:var(--tvs-radius-lg) var(--tvs-radius-lg) 0 0;}
.tvs-banner-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.tvs-banner-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,20,0) 0%,rgba(6,10,20,.92) 100%);pointer-events:none;}
.tvs-banner-placeholder{height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--tvs-bg2),var(--tvs-bg));color:var(--tvs-text-muted);font-size:.875rem;border-radius:var(--tvs-radius-lg) var(--tvs-radius-lg) 0 0;}

/* ═══════════════════════ INFO SECTION / MÓDULO ═══════════════════════ */
.tvs-info-section{background:var(--tvs-bg-card);border-bottom:1px solid var(--tvs-border);}
.tvs-info-bar{max-width:1400px;margin:0 auto;padding:0 24px;position:relative;}
.tvs-info-content{padding:12px 0 0 110px;}
.tvs-logo-wrap{position:absolute;top:15px;left:24px;width:90px;height:90px;border-radius:var(--tvs-radius-lg);border:3px solid var(--tvs-border);background:var(--tvs-bg2);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--tvs-shadow-md);}
.tvs-logo-wrap img{width:100%;height:100%;object-fit:contain;padding:6px;}
.tvs-mod-nome{font-size:26px;font-weight:900;color:var(--tvs-text);margin:0 0 4px;}
.tvs-mod-subtitulo{font-size:13px;color:var(--tvs-text-muted);margin:0 0 10px;}
.tvs-stars-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.tvs-stars-val{font-size:16px;font-weight:800;color:var(--tvs-yel);}
.tvs-stars-count{font-size:12px;color:var(--tvs-text-muted);}
.tvs-body-grid{background:var(--tvs-bg-card);max-width:1400px;margin:10px auto 20px;padding:28px 24px;display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start;border-radius:var(--tvs-radius-lg);border:1px solid var(--tvs-border);box-shadow:var(--tvs-shadow-sm);}
.tvs-features-list{list-style:none;margin:0;display:flex;flex-direction:column;gap:8px;line-height:1.9;white-space:pre-wrap;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-lg);padding:22px;}
.tvs-features-list li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--tvs-text-secondary);line-height:1.5;}
.tvs-features-list li::before{content:'✓';color:var(--tvs-grn);margin-top:2px;flex-shrink:0;font-size:11px;font-weight:bold;}
.tvs-sobre{font-size:13.5px;color:var(--tvs-text-secondary);line-height:1.9;white-space:pre-wrap;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-lg);padding:22px;}
.tvs-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.tvs-info-item{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);padding:12px 14px;transition:var(--tvs-transition);}
.tvs-info-item:hover{border-color:var(--tvs-blue);}
.tvs-info-item:last-child{border-bottom:none;}
.tvs-info-item-label{font-size:10px;font-weight:700;color:var(--tvs-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.tvs-info-item-value{font-size:13px;color:var(--tvs-text);font-weight:500;}
.tvs-info-item-value a{color:var(--tvs-blue);text-decoration:none;transition:var(--tvs-transition);}
.tvs-info-item-value a:hover{text-decoration:underline;}
.tvs-tags-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.tvs-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;}
.tvs-feature-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;background:var(--tvs-bg-card);border:1px solid var(--tvs-border-light);border-radius:var(--tvs-radius-lg);box-shadow:var(--tvs-shadow-sm);font-size:.8125rem;transition:box-shadow .18s,border-color .18s;}
.tvs-feature-item:hover{border-color:var(--tvs-border);box-shadow:var(--tvs-shadow-hover);}
.tvs-feature-item i{color:var(--tvs-blue);font-size:.875rem;}

/* ═══════════════════════ CARNÊ / IMPRESSÃO ═══════════════════════ */
.tvs-carne-container{margin:0;padding:0;max-width:100%;}
.tvs-carne-grid{gap:.625rem;}
.tvs-carne-cupom{border:1.5px dashed #999;break-inside:avoid;page-break-inside:avoid;}
.tvs-carne-cupom-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.625rem;padding-bottom:.625rem;border-bottom:1px solid #eee;}
.tvs-carne-empresa{font-size:.8125rem;font-weight:900;color:#0a1628;}
.tvs-carne-contrato{font-size:.625rem;color:#666;text-align:right;}
.tvs-carne-devedor{font-size:.75rem;font-weight:700;color:#333;}
.tvs-carne-valor .amount{font-size:1.25rem;font-weight:900;color:#0a1628;line-height:1;}
.tvs-carne-bottom{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;font-size:.625rem;padding-top:.5rem;border-top:1px dashed #ddd;}
.tvs-carne-parcela-num{position:absolute;top:.625rem;right:.625rem;background:#E1ECF9;color:var(--tvs-blue);font-size:.625rem;font-weight:900;padding:.125rem .5rem;border-radius:.625rem;border:1px solid #BBD4F0;}
.tvs-carne-token{font-size:.5625rem;color:#bbb;margin-top:.5rem;font-family:var(--tvs-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ═══════════════════════ BANNER SLIDER ═══════════════════════ */
.tvs-bnr-wrap{position:relative;width:100%;min-height:500px;overflow:hidden;display:flex;flex-direction:column;}
.tvs-bnr-content{position:relative;z-index:3;max-width:680px;color:#fff;}
.tvs-bnr-canvas{position:absolute;inset:0;pointer-events:none;z-index:1;}
.tvs-bnr-track{position:relative;width:100%;flex:1;}
.tvs-bnr-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;padding:calc(var(--nav-h,70px) + 60px) 7% 80px;opacity:0;transition:opacity .7s ease,transform .7s ease;z-index:0;}
.tvs-bnr-slide.active{opacity:1;z-index:2;}
.tvs-bnr-slide.slide-out-l{animation:tvs-bnrOutL .7s ease forwards;}
.tvs-bnr-slide.slide-out-r{animation:tvs-bnrOutR .7s ease forwards;}
.tvs-bnr-slide.slide-in-r{animation:tvs-bnrInR .7s ease forwards;}
.tvs-bnr-slide.slide-in-l{animation:tvs-bnrInL .7s ease forwards;}
.tvs-bnr-overlay-grad{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,transparent 70%);pointer-events:none;}
.tvs-bnr-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.tvs-bnr-orb{position:absolute;border-radius:50%;pointer-events:none;}
.tvs-bnr-orb1{width:500px;height:500px;top:-150px;right:-80px;animation:tvs-heroFloat 10s ease-in-out infinite;}
.tvs-bnr-orb2{width:400px;height:400px;bottom:-100px;right:20%;animation:tvs-heroFloat 12s ease-in-out infinite;animation-delay:-4s;}
.tvs-bnr-orb3{width:300px;height:300px;top:40%;left:-80px;animation:tvs-heroFloat 9s ease-in-out infinite;animation-delay:-7s;}
.tvs-bnr-pretag{display:inline-flex;align-items:center;gap:10px;padding:6px 16px;border-radius:100px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:22px;backdrop-filter:blur(4px);}
.tvs-bnr-pretag-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:tvs-badgePulse 2s ease-in-out infinite;flex-shrink:0;}
.tvs-bnr-pretag-num{margin-left:auto;opacity:.6;}
.tvs-bnr-titulo{font-size:clamp(28px,5vw,58px);font-weight:900;line-height:1.06;letter-spacing:-2px;margin-bottom:16px;text-shadow:0 2px 20px rgba(0,0,0,.3);}
.tvs-bnr-desc{font-size:clamp(15px,2vw,19px);opacity:.88;line-height:1.75;margin-bottom:36px;max-width:540px;}
.tvs-bnr-actions{display:flex;gap:14px;flex-wrap:wrap;}
.tvs-bnr-btn-pri{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border-radius:50px;background:var(--tvs-blue);color:#fff;font-size:15px;font-weight:700;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3);}
.tvs-bnr-btn-pri:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(0,0,0,.4);filter:brightness(1.1);}
.tvs-bnr-btn-shine{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.2),transparent);opacity:0;transition:opacity .3s;pointer-events:none;}
.tvs-bnr-btn-pri:hover .tvs-bnr-btn-shine{opacity:1;}
.tvs-bnr-btn-sec{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:50px;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-size:14px;font-weight:600;transition:all .3s;backdrop-filter:blur(4px);}
.tvs-bnr-btn-sec:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.55);transform:translateY(-2px);}
.tvs-bnr-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);color:#fff;font-size:16px;cursor:pointer;transition:all .25s;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;}
.tvs-bnr-arrow:hover{background:rgba(255,255,255,.22);transform:translateY(-50%) scale(1.08);}
.tvs-bnr-prev{left:20px;}
.tvs-bnr-next{right:20px;}
.tvs-bnr-dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10;}
.tvs-bnr-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);border:none;cursor:pointer;transition:all .3s;padding:0;}
.tvs-bnr-dot.active{width:28px;border-radius:4px;background:rgba(255,255,255,.9);}
.tvs-bnr-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.1);z-index:10;}
.tvs-bnr-progress-fill{height:100%;background:rgba(255,255,255,.7);animation:tvs-bnrProgress linear forwards;transform-origin:left;}
.tvs-bnr-counter{position:absolute;bottom:28px;right:28px;font-size:13px;font-weight:700;color:rgba(255,255,255,.7);z-index:10;}
.tvs-bnr-cur{font-size:22px;font-weight:900;color:#fff;margin-right:2px;}
.tvs-bnr-scroll-hint{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,.45);font-size:10px;letter-spacing:2px;text-transform:uppercase;z-index:10;animation:tvs-scrollBounce 2s ease-in-out infinite;}
.tvs-bnr-scroll-mouse{width:22px;height:34px;border:2px solid rgba(255,255,255,.3);border-radius:11px;display:flex;justify-content:center;padding-top:6px;}
.tvs-bnr-scroll-wheel{width:4px;height:8px;border-radius:2px;background:rgba(255,255,255,.5);animation:tvs-scrollWheel 2s ease-in-out infinite;}
.tvs-bnr-slide-deco{position:absolute;right:8%;top:50%;transform:translateY(-50%);pointer-events:none;z-index:2;}
.tvs-bnr-deco-ring{border-radius:50%;border:1px solid rgba(255,255,255,.08);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:tvs-ringPulse 4s ease-in-out infinite;}
.tvs-bnr-deco-ring1{width:200px;height:200px;}
.tvs-bnr-deco-ring2{width:320px;height:320px;animation-delay:.8s;}
.tvs-bnr-deco-ring3{width:460px;height:460px;animation-delay:1.6s;}
.tvs-bnr-dot-fill{display:block;width:100%;height:100%;border-radius:inherit;background:currentColor;}
.tvs-bnr-sep{opacity:.6;font-size:12px;}

/* ═══════════════════════ CTA ═══════════════════════ */
.tvs-cta-section{padding:80px 0;position:relative;overflow:hidden;}
.tvs-cta-content{max-width:700px;}
.tvs-cta-canvas{position:absolute;inset:0;pointer-events:none;z-index:0;}
.tvs-cta-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.tvs-cta-orb{position:absolute;border-radius:50%;pointer-events:none;}
.tvs-cta-orb1{width:600px;height:600px;top:-200px;right:-150px;background:radial-gradient(circle,rgba(21,101,192,.1),transparent 70%);animation:tvs-heroFloat 10s ease-in-out infinite;}
.tvs-cta-orb2{width:400px;height:400px;bottom:-100px;left:-100px;animation:tvs-heroFloat 8s ease-in-out infinite;animation-delay:-4s;}
.tvs-cta-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.tvs-cta-trust{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center;margin-bottom:32px;}
.tvs-cta-trust-item{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:600;color:rgba(255,255,255,.9);}
.tvs-cta-trial-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:50px;border:1px solid;font-size:13px;font-weight:600;color:rgba(255,255,255,.9);margin-bottom:24px;}
.tvs-cta-titulo{font-size:clamp(28px,5vw,52px);font-weight:900;line-height:1.1;letter-spacing:-1.5px;color:#fff;margin-bottom:16px;text-shadow:0 2px 24px rgba(0,0,0,.3);}
.tvs-cta-sub{font-size:18px;color:rgba(255,255,255,.75);line-height:1.7;margin-bottom:36px;}
.tvs-cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}
.tvs-cta-btn-pri{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;border-radius:50px;font-size:16px;font-weight:800;cursor:pointer;border:none;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3);}
.tvs-cta-btn-pri:hover{filter:brightness(1.1);transform:translateY(-3px);box-shadow:0 16px 48px rgba(0,0,0,.4);}
.tvs-cta-btn-shine{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.2),transparent);opacity:0;transition:opacity .25s;pointer-events:none;}
.tvs-cta-btn-pri:hover .tvs-cta-btn-shine{opacity:1;}
.tvs-cta-btn-sec{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;border-radius:50px;font-size:15px;font-weight:700;border:2px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:rgba(255,255,255,.9);transition:all .3s;backdrop-filter:blur(4px);}
.tvs-cta-btn-sec:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.55);transform:translateY(-2px);}
.tvs-cta-mini-stats{display:flex;align-items:center;gap:24px;justify-content:center;}
.tvs-cta-mini-stat{display:flex;flex-direction:column;align-items:center;gap:3px;}
.tvs-cta-mini-val{font-size:22px;font-weight:900;color:#fff;}
.tvs-cta-mini-label{font-size:11px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:1px;}
.tvs-cta-mini-sep{width:1px;height:36px;background:rgba(255,255,255,.2);}

/* ═══════════════════════ LIGHTBOX ═══════════════════════ */
.tvs-lightbox{display:none;position:fixed;inset:0;z-index:var(--tvs-z-toast);background:rgba(0,0,0,.96);animation:tvs-fadeIn .2s ease;}
.tvs-lightbox.show{display:flex;align-items:center;justify-content:center;}
.tvs-lightbox-container{display:flex;width:92vw;max-width:1300px;height:88vh;border-radius:var(--tvs-radius-lg);overflow:hidden;box-shadow:var(--tvs-shadow-xl);position:relative;border:1px solid rgba(255,255,255,.1);}
.tvs-lightbox-image-panel{flex:1;display:flex;align-items:center;justify-content:center;position:relative;background:#000;min-width:0;overflow:hidden;}
.tvs-lightbox-img{width:99%;height:99%;object-fit:contain;cursor:zoom-in;transition:transform .25s ease;border-radius:var(--tvs-radius-sm);display:block;}
.tvs-lightbox-img.zoomed{cursor:zoom-out;transform:scale(1.7);}
.tvs-lightbox-close{position:fixed;top:16px;right:16px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.13);border:1.5px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;cursor:pointer;z-index:calc(var(--tvs-z-toast) + 1);transition:var(--tvs-transition);backdrop-filter:blur(6px);}
.tvs-lightbox-close:hover{background:rgba(21,101,192,.45);border-color:rgba(21,101,192,.7);transform:scale(1.08);}
.tvs-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.13);border:1.5px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;cursor:pointer;transition:var(--tvs-transition);z-index:10;backdrop-filter:blur(4px);}
.tvs-lightbox-nav:hover{background:rgba(21,101,192,.45);border-color:rgba(21,101,192,.7);}
.tvs-lightbox-prev{left:14px;}
.tvs-lightbox-next{right:14px;}
.tvs-lightbox-counter{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:13px;color:rgba(255,255,255,.8);background:rgba(0,0,0,.55);padding:5px 16px;border-radius:20px;z-index:10;backdrop-filter:blur(4px);letter-spacing:.3px;}
.tvs-lightbox-zoom-hint{position:absolute;bottom:16px;right:16px;font-size:11px;color:rgba(255,255,255,.55);background:rgba(0,0,0,.4);padding:4px 10px;border-radius:var(--tvs-radius-sm);z-index:10;}
.tvs-lightbox-comments-panel{width:360px;flex-shrink:0;background:var(--tvs-bg-card);border-left:1px solid var(--tvs-border);display:flex;flex-direction:column;overflow:hidden;}
.tvs-lightbox-comments-header{padding:14px 16px;border-bottom:2px solid var(--tvs-blue);display:flex;align-items:center;gap:12px;background:#FFFFFF;}
.tvs-lightbox-comments-header-logo{width:40px;height:40px;border-radius:var(--tvs-radius-md);background:#FFFFFF;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.tvs-lightbox-comments-header-logo img{width:100%;height:100%;object-fit:contain;}
.tvs-lightbox-comments-header-info{flex:1;}
.tvs-lightbox-comments-header-name{font-size:14px;font-weight:700;color:var(--tvs-text);}
.tvs-lightbox-comments-header-category{font-size:10px;color:var(--tvs-text-muted);margin-top:2px;}
.tvs-lightbox-comment-content{flex:1;}
.tvs-lightbox-comments-list{flex:1;overflow-y:auto;padding:14px;scrollbar-width:thin;scrollbar-color:var(--tvs-border) transparent;}
.tvs-lightbox-comments-list::-webkit-scrollbar{width:4px;}
.tvs-lightbox-comments-list::-webkit-scrollbar-thumb{background:var(--tvs-border);border-radius:4px;}
.tvs-lightbox-comment{display:flex;gap:10px;margin-bottom:14px;}
.tvs-lightbox-comment-avatar{width:32px;height:32px;border-radius:50%;background:var(--tvs-blue-ghost);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--tvs-blue);overflow:hidden;flex-shrink:0;}
.tvs-lightbox-comment-avatar img{width:100%;height:100%;object-fit:cover;}
.tvs-lightbox-comment-author{font-size:12px;font-weight:700;color:var(--tvs-text);margin-bottom:3px;}
.tvs-lightbox-comment-text{font-size:12px;color:var(--tvs-text-secondary);line-height:1.55;}
.tvs-lightbox-comment-time{font-size:10px;color:var(--tvs-text-muted);margin-top:4px;}
.tvs-lightbox-comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px;text-align:center;color:var(--tvs-text-muted);}
.tvs-lightbox-comments-empty i{font-size:36px;opacity:.2;margin-bottom:12px;}
.tvs-lightbox-comments-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--tvs-border);background:var(--tvs-bg);}
.tvs-lightbox-comments-input input{flex:1;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:20px;padding:9px 14px;color:var(--tvs-text);font-size:12.5px;outline:none;transition:var(--tvs-transition);}
.tvs-lightbox-comments-input input:focus{border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(21,101,192,.1);}
.tvs-lightbox-comments-input button{background:var(--tvs-blue-ghost);border:1px solid rgba(21,101,192,.35);border-radius:20px;padding:8px 16px;color:var(--tvs-blue);font-size:12px;font-weight:700;cursor:pointer;transition:var(--tvs-transition);white-space:nowrap;}
.tvs-lightbox-comments-input button:hover{background:rgba(21,101,192,.2);}
.tvs-lb-login-prompt{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--tvs-border);background:var(--tvs-bg);font-size:12px;color:var(--tvs-text-muted);}
.tvs-lb-login-prompt button{padding:6px 14px;border-radius:var(--tvs-radius-sm);background:var(--tvs-blue);border:none;color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:var(--tvs-transition);}
.tvs-lb-login-prompt button:hover{opacity:.85;}

/* ═══════════════════════ SCREENSHOTS ═══════════════════════ */
.tvs-screenshots-slider{position:relative;overflow:hidden;border-radius:var(--tvs-radius-lg);}
.tvs-screenshots-track{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;padding-bottom:6px;}
.tvs-screenshots-track::-webkit-scrollbar{height:4px;}
.tvs-screenshots-track::-webkit-scrollbar-track{background:transparent;}
.tvs-screenshots-track::-webkit-scrollbar-thumb{background:var(--tvs-border);border-radius:4px;}
.tvs-screenshot-item{flex-shrink:0;width:240px;height:310px;border-radius:var(--tvs-radius-md);overflow:hidden;border:1px solid var(--tvs-border);cursor:pointer;transition:var(--tvs-transition);position:relative;display:grid;background:var(--tvs-bg);}
.tvs-screenshot-item:hover{border-color:var(--tvs-blue);transform:scale(1.03);box-shadow:var(--tvs-shadow-hover);}
.tvs-screenshot-item::after{content:'🔍';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;opacity:0;background:rgba(0,0,0,.45);transition:var(--tvs-transition);border-radius:var(--tvs-radius-md);pointer-events:none;}
.tvs-screenshot-item:hover::after{opacity:1;}
.tvs-screenshot-item img{width:100%;height:100%;object-fit:cover;display:block;}
.tvs-screenshots-nav{display:flex;gap:6px;justify-content:center;margin-top:10px;}
.tvs-screenshots-nav-btn{width:32px;height:32px;border-radius:var(--tvs-radius-sm);background:var(--tvs-bg);border:1px solid var(--tvs-border);color:var(--tvs-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--tvs-transition);}
.tvs-screenshots-nav-btn:hover{background:var(--tvs-blue-ghost);border-color:var(--tvs-blue);color:var(--tvs-blue);}

/* ═══════════════════════ BUY CARD / CICLO / FAVORITO ═══════════════════════ */
.tvs-buy-card{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:2px;padding:22px;position:relative;box-shadow:var(--tvs-shadow-sm);transition:var(--tvs-transition);}
.tvs-buy-card:hover{box-shadow:var(--tvs-shadow);}
.tvs-buy-price{font-size:2.2rem;font-weight:900;color:var(--tvs-grn);margin:0 0 2px;display:block;}
.tvs-buy-per{font-size:12px;color:var(--tvs-text-muted);margin-bottom:16px;}
.tvs-buy-btn{width:100%;padding:13px;border-radius:var(--tvs-radius-md);font-size:14px;font-weight:700;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--tvs-transition);text-decoration:none;}
.tvs-buy-btn.ativo{background:rgba(15,155,94,.12);border:1px solid rgba(15,155,94,.3);color:var(--tvs-grn);cursor:default;}
.tvs-buy-btn.comprar{background:var(--tvs-blue);color:#fff;}
.tvs-buy-btn.comprar:hover{background:var(--tvs-blue-dark);transform:translateY(-1px);box-shadow:var(--tvs-shadow-sm);}
.tvs-buy-btn.pendente{background:rgba(201,124,0,.12);border:1px solid rgba(201,124,0,.3);color:var(--tvs-yel);cursor:default;}
.tvs-buy-meta{margin-top:16px;display:flex;flex-direction:column;gap:8px;}
.tvs-buy-meta-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tvs-text-muted);}
.tvs-ciclo{display:flex;gap:4px;padding:3px;margin-bottom:16px;}
.tvs-ciclo-btn{flex:1;padding:6px;border-radius:var(--tvs-radius-sm);font-size:11px;font-weight:700;cursor:pointer;border:1px solid var(--tvs-border);background:transparent;color:var(--tvs-text-muted);text-decoration:none;text-align:center;transition:var(--tvs-transition);}
.tvs-ciclo-btn.active{background:var(--tvs-blue-ghost);color:var(--tvs-blue);border-color:var(--tvs-blue);}
.tvs-ciclo-btn:hover:not(.active){border-color:var(--tvs-text-muted);color:var(--tvs-text-secondary);}
.tvs-ciclo-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;margin-left:6px;}
.tvs-ciclo-group{display:flex;gap:4px;background:var(--tvs-bg2);border-radius:8px;padding:3px;}
.tvs-fav-btn{width:100%;padding:10px;border-radius:var(--tvs-radius-md);border:1px solid var(--tvs-border);background:var(--tvs-bg);color:var(--tvs-text-muted);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;transition:var(--tvs-transition);}
.tvs-fav-btn.active,.tvs-fav-btn:hover{background:rgba(201,124,0,.1);border-color:rgba(201,124,0,.3);color:var(--tvs-yel);}
.tvs-fav-float{position:static;width:32px;height:32px;border-radius:50%;background:var(--tvs-bg);border:1px solid var(--tvs-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--tvs-transition);z-index:10;font-size:16px;color:var(--tvs-yel);}
.tvs-fav-float:hover{background:rgba(201,124,0,.2);border-color:rgba(201,124,0,.4);transform:scale(1.1);}
.tvs-fav-float .tvs-icon{font-size:16px;line-height:1;}
.tvs-fav-tooltip{position:absolute;top:-38px;right:0;background:var(--tvs-text);color:var(--tvs-bg-card);padding:4px 8px;border-radius:var(--tvs-radius-sm);font-size:11px;white-space:nowrap;opacity:0;visibility:hidden;transition:var(--tvs-transition);pointer-events:none;}
.tvs-fav-float:hover .tvs-fav-tooltip{opacity:1;visibility:visible;}

/* ═══════════════════════ MODSTORE ═══════════════════════ */
.tvs-pp-panel-header{padding:18px 20px;border-bottom:2px solid var(--tvs-blue);}
.tvs-pp-summary-header{padding:18px 20px;border-bottom:2px solid var(--tvs-blue);}
.tvs-mss-content{max-width:600px;color:#fff;}
.tvs-ms-baner-content{display:flex;flex-direction:column;gap:4px;}
.tvs-ms-dest-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid rgba(255,255,255,.06);}
.tvs-ms-mods-layout-btns{display:flex;gap:2px;background:var(--tvs-bg2);border-radius:6px;padding:2px;}
.tvs-ms-mods-layout-btn{padding:5px 8px;border-radius:4px;background:none;border:none;color:var(--tvs-tx3);cursor:pointer;font-size:12px;transition:var(--tvs-transition);}
.tvs-ms-mods-layout-btn.active{background:var(--tvs-bg3);color:var(--tvs-blue);}
.tvs-ms-destaques-tooltip-header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#FFFFFF;border-bottom:2px solid var(--tvs-blue);}
.tvs-ms-destaques-tooltip-footer{padding:10px 14px;border-top:1px solid var(--tvs-border);}

/* ═══════════════════════ ESTATÍSTICAS (charts) ═══════════════════════ */
.tvs-est-chart-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.tvs-est-kpis{display:flex;flex-direction:column;gap:16px;}
.tvs-est-kpi{display:flex;align-items:center;gap:16px;padding:18px 20px;background:rgba(255,255,255,.03);border:1px solid rgba(var(--est-rgb),.12);border-radius:16px;transition:all .3s;position:relative;overflow:hidden;}
.tvs-est-kpi:hover{border-color:rgba(var(--est-rgb),.25);transform:translateX(4px);}
.tvs-est-kpi-icon{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.tvs-est-kpi-body{flex:1;}
.tvs-est-kpi-num{display:flex;align-items:baseline;gap:2px;}
.tvs-est-kpi-val{font-size:28px;font-weight:900;color:var(--est-clr);}
.tvs-est-kpi-suf{font-size:14px;font-weight:700;color:var(--est-clr);}
.tvs-est-kpi-label{font-size:12.5px;color:var(--tvs-text-secondary);margin-top:2px;}
.tvs-est-kpi-bar{position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 16px 16px;}
.tvs-est-chart-wrap{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:24px;}
.tvs-est-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;}
.tvs-est-leg-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tvs-text-secondary);}
.tvs-est-leg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.tvs-est-leg-val{margin-left:auto;font-weight:700;font-size:12px;}
.tvs-est-bars{display:flex;flex-direction:column;gap:10px;}
.tvs-est-bar-row{display:flex;align-items:center;gap:10px;}
.tvs-est-bar-label{font-size:12px;color:var(--tvs-text-secondary);min-width:80px;}
.tvs-est-bar-track{flex:1;height:8px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden;}
.tvs-est-bar-fill{height:100%;border-radius:4px;transition:width 1s ease;}
.tvs-est-bar-num{font-size:12px;font-weight:700;min-width:24px;text-align:right;}
.tvs-stats-bg-deco{position:absolute;inset:0;pointer-events:none;}
.tvs-stats-line{position:absolute;height:1px;width:100%;background:linear-gradient(90deg,transparent,rgba(21,101,192,.2),transparent);}
.tvs-stats-line1{top:30%;}
.tvs-stats-line2{bottom:30%;}

/* ═══════════════════════ DEPOIMENTOS ═══════════════════════ */
.tvs-dep-bg-quote{font-size:400px;font-weight:900;color:rgba(255,255,255,.015);line-height:1;position:absolute;top:-50px;left:-20px;}
.tvs-dep-rating-geral{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:48px;}
.tvs-dep-stars-big{display:flex;gap:4px;font-size:22px;}
.tvs-dep-rating-val{font-size:40px;font-weight:900;}
.tvs-dep-rating-desc{font-size:13px;color:var(--tvs-text-muted);}
.tvs-dep-slider{position:relative;padding-bottom:60px;}
.tvs-dep-track{min-height:280px;position:relative;}
.tvs-dep-card{display:none;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:2px;padding:36px 32px;position:relative;max-width:760px;margin:0 auto;}
.tvs-dep-card.active{display:block;animation:tvs-fadeInUp .4s ease;}
.tvs-dep-quote-ico{font-size:40px;opacity:.3;margin-bottom:16px;}
.tvs-dep-stars{display:flex;gap:4px;margin-bottom:16px;font-size:16px;}
.tvs-dep-text{font-size:18px;line-height:1.8;color:var(--tvs-text-secondary);font-style:italic;margin-bottom:28px;}
.tvs-dep-author{display:flex;align-items:center;gap:14px;}
.tvs-dep-avatar-img,.tvs-dep-avatar-fallback{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;overflow:hidden;}
.tvs-dep-avatar-img{object-fit:cover;}
.tvs-dep-author-info{flex:1;min-width:0;}
.tvs-dep-nome{display:block;font-weight:800;font-size:15px;}
.tvs-dep-cargo{display:block;font-size:12.5px;color:var(--tvs-text-muted);margin-top:2px;}
.tvs-dep-verified{margin-left:auto;font-size:18px;}
.tvs-dep-arr{position:absolute;top:50%;transform:translateY(calc(-50% - 30px));width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.1);color:var(--tvs-text-secondary);cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center;z-index:5;}
.tvs-dep-arr:hover{background:rgba(255,255,255,.1);color:var(--tvs-text);}
.tvs-dep-arr-prev{left:0;}
.tvs-dep-arr-next{right:0;}
.tvs-dep-dots{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;gap:8px;}
.tvs-dep-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);border:none;cursor:pointer;transition:all .25s;padding:0;}
.tvs-dep-dot.active{width:24px;border-radius:4px;background:var(--tvs-blue);}
.tvs-dep-thumbs{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap;}
.tvs-dep-thumb{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;overflow:hidden;transition:all .25s;padding:0;flex-shrink:0;}
.tvs-dep-thumb img,.tvs-dep-thumb span{width:100%;height:100%;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;}
.tvs-dep-thumb.active{border-color:var(--tvs-blue);transform:scale(1.15);}

/* ═══════════════════════ FAQ ═══════════════════════ */
.tvs-faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.tvs-faq-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:16px;overflow:hidden;transition:all .3s;}
.tvs-faq-item:hover{border-color:rgba(255,255,255,.12);}
.tvs-faq-item.open{border-color:rgba(21,101,192,.3);}
.tvs-faq-q{width:100%;text-align:left;padding:18px 20px;display:flex;align-items:center;gap:14px;cursor:pointer;background:none;border:none;color:var(--tvs-text);font-size:15px;font-weight:600;transition:background .25s;}
.tvs-faq-q:hover{background:rgba(21,101,192,.03);}
.tvs-faq-q-num{font-size:11px;font-weight:800;min-width:28px;}
.tvs-faq-q-txt{flex:1;text-align:left;line-height:1.4;}
.tvs-faq-q-icon{font-size:14px;flex-shrink:0;transition:transform .35s;}
.tvs-faq-item.open .tvs-faq-q-icon{transform:rotate(45deg);}
.tvs-faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.tvs-faq-a-inner{padding:0 20px 18px;display:flex;gap:12px;align-items:flex-start;}
.tvs-faq-a-ico{font-size:16px;flex-shrink:0;margin-top:2px;}
.tvs-faq-a-txt{font-size:14px;color:var(--tvs-text-secondary);line-height:1.8;}
.tvs-faq-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--tvs-text-muted);}
.tvs-faq-empty i{font-size:40px;opacity:.3;}
.tvs-faq-cta{margin:40px auto 0;max-width:800px;}
.tvs-faq-cta-box{display:flex;align-items:center;gap:20px;padding:24px;border-radius:18px;border:1.5px solid;flex-wrap:wrap;}
.tvs-faq-cta-ico{font-size:32px;flex-shrink:0;}
.tvs-faq-cta-box>div{flex:1;min-width:0;}
.tvs-faq-cta-box>div strong{display:block;font-size:16px;font-weight:800;margin-bottom:4px;}
.tvs-faq-cta-box>div p{font-size:13px;color:var(--tvs-text-secondary);}
.tvs-faq-cta-btn{padding:12px 24px;border-radius:12px;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:filter .25s;flex-shrink:0;}
.tvs-faq-cta-btn:hover{filter:brightness(1.1);}
.tvs-faq-search-wrap{position:relative;margin-bottom:32px;}
.tvs-faq-search-box{position:relative;display:flex;align-items:center;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.1);border-radius:50px;padding:0 16px;gap:10px;transition:all .25s;}
.tvs-faq-search-box:focus-within{border-color:var(--tvs-blue);box-shadow:0 0 0 3px rgba(21,101,192,.1);}
.tvs-faq-search-ico{color:var(--tvs-text-muted);font-size:14px;flex-shrink:0;}
.tvs-faq-search-inp{flex:1;height:50px;background:none;border:none;outline:none;color:var(--tvs-text);font-size:14px;}
.tvs-faq-search-inp::placeholder{color:var(--tvs-text-muted);}
.tvs-faq-search-clr{background:none;border:none;color:var(--tvs-text-muted);cursor:pointer;padding:4px;border-radius:50%;transition:color .2s;}
.tvs-faq-search-clr:hover{color:var(--tvs-text);}

/* ═══════════════════════ FOOTER ═══════════════════════ */
.tvs-ft-footer{margin:0 auto;width:100%;position:absolute;left:0;}
.tvs-ft-top-strip{padding:18px 24px;}
.tvs-ft-top-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.tvs-ft-top-text{display:flex;align-items:center;gap:10px;color:#fff;font-size:14px;}
.tvs-ft-top-actions{display:flex;gap:10px;}
.tvs-ft-top-btn{padding:9px 20px;border-radius:9px;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:all .25s;display:flex;align-items:center;gap:7px;}
.tvs-ft-top-btn:hover{background:rgba(255,255,255,.22);transform:translateY(-1px);}
.tvs-ft-top-btn-outline{background:transparent;}
.tvs-ft-body{padding:56px 24px 40px;}
.tvs-ft-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
.tvs-ft-brand-link{display:inline-block;margin-bottom:12px;}
.tvs-ft-logo{height:40px;width:auto;object-fit:contain;}
.tvs-ft-brand-nome{font-size:22px;font-weight:900;text-decoration:none;display:block;margin-bottom:8px;}
.tvs-ft-slogan{font-size:12px;color:var(--tvs-text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px;}
.tvs-ft-brand-desc{font-size:13px;color:var(--tvs-text-muted);line-height:1.75;margin-bottom:20px;}
.tvs-ft-socials{display:flex;gap:8px;flex-wrap:wrap;}
.tvs-ft-social{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .25s;color:#fff;}
.tvs-ft-social:hover{transform:translateY(-3px) scale(1.1);}
.tvs-ft-ig{background:linear-gradient(135deg,#f09433,#dc2743,#bc1888);}
.tvs-ft-fb{background:#1877f2;}
.tvs-ft-yt{background:#ff0000;}
.tvs-ft-li{background:#0a66c2;}
.tvs-ft-wa{background:#25d366;}
.tvs-ct-social-ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.tvs-ct-social-fb{background:#1877f2;}
.tvs-ct-social-yt{background:#ff0000;}
.tvs-ct-social-li{background:#0a66c2;}
.tvs-ft-col-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;}
.tvs-ft-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.tvs-ft-links a{font-size:13px;color:var(--tvs-text-muted);transition:all .2s;display:flex;align-items:center;gap:7px;}
.tvs-ft-links a:hover{color:var(--tvs-text-secondary);transform:translateX(3px);}
.tvs-ft-contact-list{list-style:none;display:flex;flex-direction:column;gap:12px;}
.tvs-ft-contact-list li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--tvs-text-muted);}
.tvs-ft-contact-list a{color:var(--tvs-text-muted);transition:color .2s;}
.tvs-ft-contact-list a:hover{color:var(--tvs-text-secondary);}
.tvs-ft-seals{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.tvs-ft-seal{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--tvs-text-muted);padding:5px 10px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);}
.tvs-ft-bottom{border-top:1px solid rgba(255,255,255,.06);padding:20px 24px;}
.tvs-ft-bottom-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.tvs-ft-copy{font-size:12.5px;color:var(--tvs-text-muted);display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.tvs-ft-cnpj{opacity:.7;}
.tvs-ft-bottom-links{display:flex;gap:20px;}
.tvs-ft-bottom-links a{font-size:12.5px;color:var(--tvs-text-muted);transition:color .2s;}
.tvs-ft-bottom-links a:hover{color:var(--tvs-text-secondary);}
.tvs-ft-topo{position:fixed;bottom:28px;right:28px;width:44px;height:44px;border-radius:50%;color:#fff;background:var(--tvs-blue);font-size:16px;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px);transition:all .3s;pointer-events:none;z-index:500;box-shadow:0 4px 16px rgba(21,101,192,.3);}
.tvs-ft-topo.visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.tvs-ft-topo:hover{transform:translateY(-3px);filter:brightness(1.1);}
.tvs-cf-step{flex:1;min-width:60px;max-width:160px;text-align:center;cursor:pointer;font-family:var(--ds-font);touch-action:manipulation;position:relative;background:var(--tvs-bg-card);border:1px solid var(--tvs-border);border-radius:15px;box-shadow:var(--tvs-shadow-sm);padding:.5rem;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;overflow:hidden;}

/* ═══════════════════════ PLANOS ═══════════════════════ */
.tvs-pl-section{padding:80px 0;position:relative;overflow:hidden;}
.tvs-pl-bg-deco{position:absolute;inset:0;pointer-events:none;}
.tvs-pl-bg-orb{position:absolute;border-radius:50%;width:600px;height:600px;}
.tvs-pl-bg-orb1{top:-200px;right:-100px;}
.tvs-pl-bg-orb2{bottom:-200px;left:-100px;}
.tvs-pl-toggle-row{display:flex;justify-content:center;margin-bottom:48px;}
.tvs-pl-toggle{position:relative;display:flex;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:50px;padding:4px;}
.tvs-pl-toggle-btn{padding:10px 24px;border-radius:50px;font-size:14px;font-weight:600;color:var(--tvs-text-muted);position:relative;z-index:1;transition:color .3s;display:flex;align-items:center;gap:8px;}
.tvs-pl-toggle-btn.active{color:var(--tvs-text);}
.tvs-pl-toggle-bg{position:absolute;top:4px;bottom:4px;left:4px;width:calc(40% - 4px);background:rgba(255,255,255,.1);border-radius:50px;transition:transform .3s cubic-bezier(.4,0,.2,1);}
.tvs-pl-badge-eco{padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;}
.tvs-pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;}
.tvs-pl-card{background:rgba(255,255,255,.03);border:1.5px solid rgba(255,255,255,.08);border-radius:2px;padding:28px 24px;position:relative;overflow:hidden;transition:all .35s;display:flex;flex-direction:column;gap:20px;}
.tvs-pl-card:hover{border-color:rgba(21,101,192,.3);transform:translateY(-6px);box-shadow:var(--tvs-shadow-lg);}
.tvs-pl-tvs-dest{border-color:rgba(21,101,192,.4);background:rgba(21,101,192,.06);transform:scale(1.02);}
.tvs-pl-tvs-dest:hover{transform:scale(1.02) translateY(-4px);}
.tvs-pl-popular-badge{position:absolute;top:16px;right:-1px;padding:5px 14px;border-radius:8px 0 0 8px;font-size:11px;font-weight:800;color:#fff;display:flex;align-items:center;gap:5px;background:var(--tvs-blue);}
.tvs-pl-tvs-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.tvs-pl-tvs-nome{font-size:18px;font-weight:800;margin-bottom:3px;}
.tvs-pl-tvs-mcount{font-size:11.5px;color:var(--tvs-text-muted);display:flex;align-items:center;gap:5px;}
.tvs-pl-tvs-desc{font-size:13px;color:var(--tvs-text-secondary);line-height:1.65;}
.tvs-pl-tvs-header{display:flex;gap:14px;align-items:flex-start;}
.tvs-pl-price-wrap{margin-bottom:16px;}
.tvs-pl-price-cur{font-size:18px;font-weight:700;color:var(--tvs-text-muted);}
.tvs-pl-price-val{font-size:40px;font-weight:900;color:var(--tvs-blue);line-height:1;}
.tvs-pl-price-per{font-size:14px;color:var(--tvs-text-muted);}
.tvs-pl-price-sub{font-size:12px;color:var(--tvs-text-muted);display:flex;align-items:center;gap:4px;}
.tvs-pl-price-main{display:flex;align-items:baseline;gap:4px;margin-bottom:4px;}
.tvs-pl-trial-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid;margin-top:8px;}
.tvs-pl-mods-title{font-size:12px;font-weight:700;color:var(--tvs-text-muted);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.tvs-pl-mod-list{list-style:none;display:flex;flex-direction:column;gap:7px;}
.tvs-pl-mod-list li{font-size:12.5px;color:var(--tvs-text-secondary);display:flex;align-items:center;gap:8px;}
.tvs-pl-mod-more{color:var(--tvs-text-muted);font-style:italic;}
.tvs-pl-mods{margin-bottom:16px;}
.tvs-pl-tvs-cta{margin-top:auto;}
.tvs-pl-card-cta{margin-top:auto;}
.tvs-pl-btn{width:100%;padding:13px;border-radius:14px;font-size:14px;font-weight:700;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px;}
.tvs-pl-btn:hover{filter:brightness(1.1);transform:translateY(-2px);}
.tvs-pl-btn-dest:hover{box-shadow:0 12px 36px rgba(21,101,192,.4);}
.tvs-pl-glow{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);width:200px;height:80px;border-radius:50%;filter:blur(40px);opacity:.25;pointer-events:none;}
.tvs-pl-garantias{display:flex;flex-wrap:wrap;gap:20px 36px;justify-content:center;margin-top:40px;}
.tvs-pl-garantia{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tvs-text-secondary);}
.tvs-pl-card-dest{border-color:rgba(21,101,192,.4)!important;background:rgba(21,101,192,.06)!important;}
.tvs-pl-card-dest:hover{border-color:rgba(21,101,192,.6)!important;}
.tvs-pl-card-icon{width:44px;height:44px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.tvs-pl-card-info{flex:1;}
.tvs-pl-card-nome{font-size:16px;font-weight:800;margin-bottom:3px;}
.tvs-pl-card-header{display:flex;gap:12px;align-items:flex-start;}
.tvs-pl-card-mcount{font-size:11px;color:var(--tvs-text-muted);display:flex;align-items:center;gap:5px;}
.tvs-pl-card-desc{font-size:13px;color:var(--tvs-text-secondary);line-height:1.65;}
.tvs-pl-anual{display:none;}
.tvs-pl-mensal{display:inline;}
.tvs-preco-mensal,.tvs-preco-anual{font-size:1.75rem;font-weight:900;}
.tvs-modcat-price-container{display:flex;align-items:baseline;gap:4px;}
.tvs-modcat-price{font-size:13px;font-weight:700;color:var(--tvs-grn);}
.tvs-modcat-status{font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px;}

/* ═══════════════════════ AVALIAÇÕES / COMENTÁRIOS ═══════════════════════ */
.tvs-aval-card{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:2px;padding:14px;margin-bottom:10px;transition:var(--tvs-transition);}
.tvs-aval-card:hover{border-color:var(--tvs-blue);}
.tvs-aval-autor{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.tvs-aval-foto{width:36px;height:36px;border-radius:50%;background:var(--tvs-blue-ghost);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--tvs-blue);overflow:hidden;flex-shrink:0;}
.tvs-aval-foto img{width:100%;height:100%;object-fit:cover;}
.tvs-aval-nome{font-size:13px;font-weight:600;color:var(--tvs-text);}
.tvs-aval-data{font-size:11px;color:var(--tvs-text-muted);}
.tvs-aval-texto{font-size:13px;color:var(--tvs-text-secondary);line-height:1.6;}
.tvs-aval-titulo{font-size:13.5px;font-weight:700;color:var(--tvs-text);margin-bottom:4px;}
.tvs-aval-form{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-lg);padding:18px;margin-bottom:20px;}
.tvs-star-picker{display:flex;gap:4px;margin-bottom:12px;}
.tvs-star-picker span{font-size:22px;cursor:pointer;transition:var(--tvs-transition);color:var(--tvs-border);}
.tvs-star-picker span.filled{color:var(--tvs-yel);}
.tvs-star-picker span:hover,.tvs-star-picker span.hovered{color:var(--tvs-yel);}
.tvs-aval-input{width:100%;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-sm);color:var(--tvs-text);font-size:13px;padding:10px 12px;resize:vertical;outline:none;transition:var(--tvs-transition);}
.tvs-aval-input:focus{border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(21,101,192,.1);}
.tvs-aval-submit{padding:9px 20px;border-radius:var(--tvs-radius-sm);background:var(--tvs-blue-ghost);border:1px solid rgba(21,101,192,.35);color:var(--tvs-blue);font-size:13px;font-weight:700;cursor:pointer;transition:var(--tvs-transition);}
.tvs-aval-submit:hover{background:rgba(21,101,192,.2);}
.tvs-com-thread{margin-bottom:14px;}
.tvs-com-card{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:2px;padding:12px 14px;}
.tvs-com-autor{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.tvs-com-foto{width:30px;height:30px;border-radius:50%;background:var(--tvs-blue-ghost);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--tvs-blue);overflow:hidden;flex-shrink:0;}
.tvs-com-foto img{width:100%;height:100%;object-fit:cover;}
.tvs-com-nome{font-size:12.5px;font-weight:600;color:var(--tvs-text);}
.tvs-com-tempo{font-size:10.5px;color:var(--tvs-text-muted);}
.tvs-com-texto{font-size:13px;color:var(--tvs-text-secondary);line-height:1.6;}
.tvs-com-reply-btn{background:none;border:none;color:var(--tvs-text-muted);font-size:11px;cursor:pointer;padding:4px 0;margin-top:6px;transition:var(--tvs-transition);}
.tvs-com-reply-btn:hover{color:var(--tvs-blue);}
.tvs-com-respostas{margin-top:8px;margin-left:20px;border-left:2px solid var(--tvs-border);padding-left:14px;display:flex;flex-direction:column;gap:8px;}
.tvs-com-reply-card{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:2px;padding:10px 12px;}
.tvs-com-form-wrap{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-lg);padding:14px;margin-bottom:20px;}
.tvs-com-form-wrap textarea{width:100%;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-sm);color:var(--tvs-text);font-size:13px;padding:10px 12px;resize:vertical;min-height:80px;outline:none;transition:var(--tvs-transition);}
.tvs-com-form-wrap textarea:focus{border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(21,101,192,.1);}
.tvs-com-submit{padding:8px 18px;border-radius:var(--tvs-radius-sm);background:var(--tvs-blue-ghost);border:1px solid rgba(21,101,192,.3);color:var(--tvs-blue);font-size:13px;font-weight:700;cursor:pointer;margin-top:8px;transition:var(--tvs-transition);}
.tvs-com-submit:hover{background:rgba(21,101,192,.2);}
.tvs-reply-form{display:none;margin-top:8px;}
.tvs-reply-form.show{display:block;}
.tvs-reply-form textarea{width:100%;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-sm);color:var(--tvs-text);font-size:12.5px;padding:9px 12px;resize:none;min-height:60px;outline:none;transition:var(--tvs-transition);}
.tvs-reply-form textarea:focus{border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(21,101,192,.1);}
.tvs-reply-submit{padding:6px 14px;border-radius:var(--tvs-radius-sm);background:var(--tvs-blue-ghost);border:1px solid rgba(21,101,192,.3);color:var(--tvs-blue);font-size:12px;font-weight:700;cursor:pointer;margin-top:6px;transition:var(--tvs-transition);}
.tvs-reply-submit:hover{background:rgba(21,101,192,.2);}
.tvs-login-prompt{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);padding:12px;margin-bottom:20px;text-align:center;}
.tvs-login-prompt p{margin:0 0 10px 0;font-size:13px;color:var(--tvs-text-muted);}
.tvs-login-prompt .btn{display:inline-block;padding:8px 20px;background:var(--tvs-blue);color:#fff;border:none;border-radius:var(--tvs-radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:var(--tvs-transition);}
.tvs-login-prompt .btn:hover{opacity:.85;}

/* ═══════════════════════ DEV / SECURITY / SUGESTÕES ═══════════════════════ */
.tvs-dev-card-compact{background:var(--tvs-blue-ghost);border:1px solid rgba(21,101,192,.3);border-radius:2px;padding:14px;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:14px;transition:var(--tvs-transition);}
.tvs-dev-card-compact:hover{transform:translateY(-2px);border-color:rgba(21,101,192,.6);box-shadow:var(--tvs-shadow);background:rgba(21,101,192,.14);}
.tvs-dev-foto-wrap{width:48px;height:48px;border-radius:var(--tvs-radius-lg);border:2px solid rgba(21,101,192,.5);background:var(--tvs-blue-ghost);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.tvs-dev-foto-wrap img{width:100%;height:100%;object-fit:cover;}
.tvs-dev-foto-ini{font-size:20px;font-weight:800;color:var(--tvs-blue);}
.tvs-dev-info-compact{flex:1;min-width:0;}
.tvs-dev-nome{font-size:14px;font-weight:700;color:var(--tvs-text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-dev-perfil-tag{font-size:9px;background:var(--tvs-blue-ghost);border:1px solid rgba(21,101,192,.35);color:var(--tvs-blue);padding:2px 8px;border-radius:var(--tvs-radius-sm);display:inline-block;font-weight:700;}
.tvs-dev-stats-compact{display:flex;gap:8px;margin-top:5px;}
.tvs-dev-stat{font-size:10px;color:var(--tvs-text-muted);}
.tvs-dev-stat strong{color:var(--tvs-blue);font-weight:700;}
.tvs-security-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);margin-bottom:8px;}
.tvs-security-icon{width:38px;height:38px;border-radius:10px;background:rgba(15,155,94,.12);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--tvs-grn);flex-shrink:0;}
.tvs-notif-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-bottom:1px solid var(--tvs-border);transition:var(--tvs-transition);}
.tvs-notif-item:hover{background:var(--tvs-bg-hover);}
.tvs-notif-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:var(--tvs-blue-ghost);color:var(--tvs-blue);}
.tvs-simulator:hover{box-shadow:var(--tvs-shadow-md);}
.tvs-sim-resultado{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--tvs-border);}
.tvs-sim-label{font-size:.7rem;color:var(--tvs-text-secondary);margin-bottom:.25rem;}
.tvs-sim-value{font-size:1.25rem;font-weight:800;color:var(--tvs-blue);}
.tvs-sugestoes-section{margin-top:40px;padding-top:24px;border-top:1px solid var(--tvs-border);}
.tvs-sugestoes-title{font-size:18px;font-weight:800;color:var(--tvs-text);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.tvs-sugestoes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
.tvs-sugestao-card{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:2px;overflow:hidden;transition:var(--tvs-transition);text-decoration:none;display:block;position:relative;}
.tvs-sugestao-card:hover{transform:translateY(-4px);border-color:var(--tvs-blue);box-shadow:var(--tvs-shadow);}
.tvs-sugestao-banner{height:100px;overflow:hidden;background:var(--tvs-bg2);}
.tvs-sugestao-banner img{width:100%;height:100%;object-fit:cover;}
.tvs-sugestao-banner-placeholder{height:100px;display:flex;align-items:center;justify-content:center;background:var(--tvs-bg2);color:var(--tvs-text-muted);font-size:11px;}
.tvs-sugestao-body{padding:12px;}
.tvs-sugestao-nome{font-size:13px;font-weight:700;color:var(--tvs-text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-sugestao-desc{font-size:10px;color:var(--tvs-text-muted);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:28px;line-height:1.4;}
.tvs-sugestao-price{font-size:12px;font-weight:700;color:var(--tvs-grn);}
.tvs-sugestao-price span{font-size:9px;font-weight:400;color:var(--tvs-text-muted);}
.tvs-sugestao-badge{position:absolute;top:6px;right:6px;font-size:8px;font-weight:800;padding:2px 6px;border-radius:var(--tvs-radius-sm);background:linear-gradient(135deg,var(--tvs-yel),var(--tvs-blue));color:#fff;z-index:2;}
.tvs-ad-card{background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:2px;padding:12px;text-decoration:none;display:flex;align-items:center;gap:12px;transition:var(--tvs-transition);}
.tvs-ad-card:hover{transform:translateX(3px);border-color:var(--tvs-blue);background:var(--tvs-blue-ghost2);}
.tvs-ad-logo{width:44px;height:44px;border-radius:var(--tvs-radius-md);background:var(--tvs-bg2);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.tvs-ad-logo img{width:100%;height:100%;object-fit:contain;}
.tvs-ad-info{flex:1;min-width:0;}
.tvs-ad-nome{font-size:12px;font-weight:700;color:var(--tvs-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;}
.tvs-ad-price{font-size:10px;color:var(--tvs-grn);font-weight:700;}
.tvs-ad-price span{font-size:9px;font-weight:400;color:var(--tvs-text-muted);}
.tvs-ad-badge{font-size:7px;background:linear-gradient(135deg,var(--tvs-yel),var(--tvs-blue));color:#fff;padding:2px 5px;border-radius:var(--tvs-radius-sm);white-space:nowrap;}

/* ═══════════════════════ PROPS PAINEL (cards builder) ═══════════════════════ */
.tvs-lead-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.625rem;}
.tvs-tvs-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.tvs-tvs-header i{font-size:.9375rem;color:var(--tvs-blue);}
.tvs-tvs-header h3{flex:1;font-size:.8125rem;font-weight:700;margin:0;color:var(--tvs-text);}
.tvs-tvs-body{flex:1;}
.tvs-tvs-ico{font-size:16px;flex-shrink:0;margin-top:1px;}
.tvs-tvs-name{font-weight:700;font-size:13px;color:var(--tvs-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;}
.tvs-tvs-path{font-size:9px;color:var(--tvs-tx3);font-family:var(--tvs-font-mono);margin-bottom:8px;word-break:break-all;}
.tvs-tvs-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;}
.tvs-tvs-actions{display:flex;gap:2px;}
.tvs-tvs-parent{font-size:9px;color:var(--tvs-pri2);margin-bottom:4px;display:flex;align-items:center;gap:4px;}
.tvs-tvs-thumb{height:110px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center;}
.tvs-tvs-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.tvs-tvs-thumb-placeholder{color:#94a3b8;width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.tvs-tvs-title{font-weight:700;margin-bottom:3px;}

/* ═══════════════════════ MANUAL / DOCS ═══════════════════════ */
.tvs-manual-nav{width:240px;flex-shrink:0;position:sticky;top:1rem;height:fit-content;background:var(--tvs-bg-card);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-lg);box-shadow:var(--tvs-shadow-sm);overflow:hidden;}
.tvs-manual-nav-header{padding:1rem 1.25rem;background:#FFFFFF;border-bottom:2px solid var(--tvs-blue);font-weight:700;display:flex;align-items:center;gap:.5rem;}
.tvs-manual-content{flex:1;min-width:0;}
.tvs-manual-nav-list{list-style:none;margin:0;padding:0;}
.tvs-manual-nav-list li a{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;color:var(--tvs-text-secondary);text-decoration:none;font-size:.75rem;transition:background .12s,color .12s;border-left:2px solid transparent;}
.tvs-manual-nav-list li a:hover{background:var(--tvs-blue-ghost2);color:var(--tvs-text);}
.tvs-manual-nav-list li a.active{background:var(--tvs-blue-ghost);color:var(--tvs-blue);border-left-color:var(--tvs-blue);}
.tvs-manual-nav-list li a i{width:1.25rem;font-size:.875rem;}
.tvs-manual-nav-separator{height:1px;background:var(--tvs-border);margin:.5rem 0;}
.tvs-manual-section{background:var(--tvs-bg-card);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-lg);box-shadow:var(--tvs-shadow-sm);margin-bottom:.75rem;overflow:hidden;transition:box-shadow .15s;}
.tvs-manual-section:hover{box-shadow:var(--tvs-shadow-md);}
.tvs-manual-section-header{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;cursor:pointer;transition:background .15s;background:#FFFFFF;}
.tvs-manual-section-header:hover{background:var(--tvs-blue-ghost2);}
.tvs-manual-section-header h3{flex:1;margin:0;font-size:1rem;}
.tvs-manual-section-ico{width:1.625rem;height:1.625rem;background:var(--tvs-blue-ghost);border-radius:var(--tvs-radius-md);display:flex;align-items:center;justify-content:center;font-size:.8125rem;flex-shrink:0;}
.tvs-manual-section-ico i{color:var(--tvs-blue);}
.tvs-manual-toggle-ico{color:var(--tvs-text-secondary);transition:transform .3s ease;}
.tvs-manual-section.open .tvs-manual-toggle-ico{transform:rotate(180deg);}
.tvs-manual-section-body{display:none;padding:1.25rem;border-top:1px solid var(--tvs-border);}
.tvs-manual-section.open .tvs-manual-section-body{display:block;animation:tvs-fadeIn .3s ease;}
.tvs-manual-info{background:var(--tvs-blue-ghost2);border-left:3px solid var(--tvs-blue);padding:.875rem 1rem;border-radius:var(--tvs-radius-lg);margin:1rem 0;font-size:.8125rem;}
.tvs-manual-tip{background:rgba(201,124,0,.08);border-left:3px solid var(--tvs-yel);padding:.875rem 1rem;border-radius:var(--tvs-radius-lg);margin:1rem 0;font-size:.8125rem;}
.tvs-manual-warn{background:var(--tvs-danger-bg);border-left:3px solid var(--tvs-danger);padding:.875rem 1rem;border-radius:var(--tvs-radius-lg);margin:1rem 0;font-size:.8125rem;}
.tvs-manual-danger{background:rgba(211,47,47,.12);border-left:3px solid var(--tvs-red);padding:.875rem 1rem;border-radius:var(--tvs-radius-lg);margin:1rem 0;font-size:.8125rem;}
.tvs-manual-ul{margin:.75rem 0;padding-left:1.5rem;}
.tvs-manual-ul li{margin:.5rem 0;line-height:1.6;}
.tvs-manual-steps{list-style:none;padding:0;margin:1rem 0;counter-reset:step-counter;}
.tvs-manual-steps li{counter-increment:step-counter;margin-bottom:1rem;position:relative;padding-left:2.5rem;}
.tvs-manual-steps li::before{content:counter(step-counter);position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;background:var(--tvs-blue-ghost);border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--tvs-blue);}
.tvs-manual-steps .step-title{font-weight:700;display:block;margin-bottom:.25rem;}
.tvs-manual-steps .step-desc{font-size:.8125rem;color:var(--tvs-text-secondary);}
.tvs-manual-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.8125rem;}
.tvs-manual-table th,.tvs-manual-table td{padding:.625rem;text-align:left;border-bottom:1px solid var(--tvs-border);}
.tvs-manual-table th{background:rgba(21,101,192,.02);font-weight:600;color:var(--tvs-text-secondary);}
.tvs-manual-search-wrap{position:relative;}
.tvs-manual-search-wrap i{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--tvs-text-secondary);font-size:.875rem;}
.tvs-manual-search{width:100%;padding:.625rem .875rem .625rem 2.5rem;background:#fff;border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-lg);color:var(--tvs-text);font-size:.875rem;}
.tvs-doc-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--tvs-bg);border:1px solid var(--tvs-border);border-radius:var(--tvs-radius-md);transition:var(--tvs-transition);}
.tvs-doc-item:hover{border-color:var(--tvs-blue);}
.tvs-doc-icon{width:36px;height:36px;border-radius:10px;background:var(--tvs-blue-ghost);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--tvs-blue);flex-shrink:0;}
.tvs-doc-label{font-size:12px;font-weight:600;color:var(--tvs-tx);flex:1;}

/* ═══════════════════════ HEADER DROPS (busca/notif/fav/cart/mosaico/usuário) ═══════════════════════ */
.tvs-nav-search{position:relative;flex:1;max-width:400px;}
.tvs-nav-search-wrap{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:40px;padding:.5rem 1rem;transition:all .2s;height:35px;}
.tvs-nav-search-wrap:focus-within{background:rgba(255,255,255,.18);border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(var(--tvs-ms-pri-rgb),.3);}
.tvs-nav-search-ico{color:rgba(255,255,255,.7);font-size:.9rem;}
.tvs-nav-search-ico-btn{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.8);font-size:.95rem;padding:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;transition:color .2s;}
.tvs-nav-search-ico-btn:hover{color:#fff;}
.tvs-nav-search-input{flex:1;border:none;background:none;outline:none;font-size:.9rem;color:#fff;}
.tvs-nav-search-input::placeholder{color:rgba(255,255,255,.5);}
.tvs-nav-search-clear{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.5);padding:0;font-size:.8rem;transition:color .2s;}
.tvs-search-collapsed .tvs-nav-search-wrap{background:transparent;border:none;padding:0;gap:0;}
.tvs-search-collapsed .tvs-nav-search-input{width:0;overflow:hidden;opacity:0;padding:0;pointer-events:none;transition:width .25s ease,opacity .25s ease;}
.tvs-search-collapsed .tvs-nav-search-clear{display:none!important;}
.tvs-nav-search.tvs-search-open .tvs-nav-search-wrap{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);}
.tvs-Continuando a partir de onde parou (HEADER DROPS):

```css
.tvs-nav-search.tvs-search-open .tvs-nav-search-input{width:200px;opacity:1;pointer-events:auto;transition:width .25s ease,opacity .25s ease;}
.tvs-nav-search-drop{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:320px;background:var(--drop-bg);border:1px solid var(--drop-border);border-radius:14px;box-shadow:var(--drop-shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .18s;z-index:99999;max-height:440px;overflow-y:auto;}
.tvs-nav-search-drop.open{opacity:1;visibility:visible;transform:translateY(0);}
.tvs-search-drop-title{padding:.75rem 1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tvs-blue);background:rgba(var(--tvs-ms-pri-rgb),.05);border-bottom:1px solid var(--drop-border);}
.tvs-search-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:background .2s;border-bottom:1px solid var(--drop-border);}
.tvs-search-item:last-child{border-bottom:none;}
.tvs-search-item:hover{background:rgba(var(--tvs-ms-pri-rgb),.08);}
.tvs-search-item-img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--drop-bg2);flex-shrink:0;}
.tvs-search-item-ico{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:rgba(var(--tvs-ms-pri-rgb),.1);flex-shrink:0;}
.tvs-search-item-info{flex:1;min-width:0;}
.tvs-search-item-nome{font-size:.9rem;font-weight:600;color:var(--drop-tx);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-search-item-desc{font-size:.7rem;color:var(--drop-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-search-item-price{font-size:.8rem;font-weight:700;color:var(--tvs-ms-dest);flex-shrink:0;margin-left:.5rem;}
.tvs-search-empty{padding:2rem;text-align:center;color:var(--drop-muted);}
.tvs-search-empty i{font-size:2rem;margin-bottom:.5rem;display:block;opacity:.5;}
.tvs-search-ver-todos{display:block;padding:.75rem 1rem;text-align:center;background:rgba(var(--tvs-ms-pri-rgb),.1);color:var(--tvs-blue);text-decoration:none;font-size:.85rem;font-weight:600;transition:background .2s;border-top:1px solid var(--drop-border);}
.tvs-icon-btn-wrap{position:relative;display:flex;align-items:center;}
.tvs-icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--tvs-radius-sm);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.82);font-size:13px;cursor:pointer;transition:all .13s;position:relative;flex-shrink:0;text-decoration:none;}
.tvs-icon-btn:hover{background:rgba(255,255,255,.16);color:#fff;}
.tvs-icon-btn.is-active{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.24);}
.tvs-icon-badge{position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;padding:0 3px;background:#ef4444;color:#fff;font-size:8px;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;line-height:1;z-index:2;border:2px solid var(--tvs-nav-bg,var(--tvs-blue));animation:tvsBadgePulse 2s ease infinite;}
.tvs-nav.gt-topbar .tvs-icon-badge{border-color:var(--ul-topbar-bg,var(--tvs-blue));}
.tvs-action-drop,.tvs-mosaic-drop,.tvs-nav-user-drop{position:absolute;top:calc(100% + 8px);right:0;background:var(--drop-bg);border:1px solid var(--drop-border);border-radius:14px;box-shadow:var(--drop-shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:99999;overflow:hidden;}
.tvs-action-drop.open,.tvs-mosaic-drop.open,.tvs-nav-user-drop.open{opacity:1;visibility:visible;transform:translateY(0);}
.tvs-action-drop{min-width:300px;}
.tvs-mosaic-drop{min-width:280px;max-width:360px;}
.tvs-nav-user-drop{min-width:260px;}
.tvs-drop-head,.tvs-notif-head{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;background:rgba(255,255,255,.03);border-bottom:1px solid var(--drop-border);}
.tvs-drop-head h4,.tvs-notif-head h4{font-size:.82rem;font-weight:700;color:var(--drop-tx);margin:0;display:flex;align-items:center;gap:.4rem;}
.tvs-drop-list,.tvs-notif-list{max-height:300px;overflow-y:auto;}
.tvs-drop-item{display:flex;align-items:center;gap:.65rem;padding:.65rem 1rem;text-decoration:none;color:var(--drop-tx2);font-size:.8rem;border-bottom:1px solid var(--drop-border);transition:background .15s;cursor:pointer;}
.tvs-drop-item:last-child{border-bottom:none;}
.tvs-drop-item:hover{background:rgba(var(--tvs-ms-pri-rgb),.08);}
.tvs-drop-item-ico{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tvs-drop-item-info{flex:1;min-width:0;}
.tvs-drop-item-nome{font-size:.8rem;font-weight:600;color:var(--drop-tx);}
.tvs-drop-item-sub{font-size:.7rem;color:var(--drop-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.tvs-drop-footer{padding:.6rem 1rem;border-top:1px solid var(--drop-border);text-align:center;}
.tvs-drop-footer a{font-size:.78rem;font-weight:600;color:var(--tvs-blue);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;}
.tvs-drop-empty{padding:1.5rem;text-align:center;color:var(--drop-muted);font-size:.8rem;}
.tvs-drop-empty i{display:block;font-size:1.6rem;margin-bottom:.4rem;opacity:.4;}
.tvs-drop-item-rich{align-items:flex-start;gap:.75rem;padding:.65rem 1rem;}
.tvs-drop-item-thumb{width:52px;height:52px;border-radius:10px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;}
.tvs-drop-item-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.tvs-drop-item-thumb-fb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;}
.tvs-drop-item-stars{display:flex;align-items:center;gap:2px;font-size:10px;color:#f59e0b;margin:2px 0;}
.tvs-drop-item-stars span{font-size:10px;font-weight:700;color:#f59e0b;margin-left:3px;}
.tvs-drop-item-price{font-size:.78rem;margin-top:3px;}
.tvs-drop-price-free{color:#10b981;font-weight:700;}
.tvs-drop-price-paid{color:var(--tvs-blue);font-weight:700;}
.tvs-drop-price-paid small{font-weight:400;font-size:.68rem;color:var(--drop-muted);margin-left:1px;}
.tvs-drop-item-action{display:flex;align-items:center;flex-shrink:0;color:var(--drop-muted);font-size:.75rem;align-self:center;}
.tvs-drop-item-remove{background:none;border:none;cursor:pointer;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--drop-muted);font-size:.7rem;transition:all .15s;flex-shrink:0;align-self:flex-start;margin-top:4px;}
.tvs-drop-item-remove:hover{background:rgba(239,68,68,.15);color:#ef4444;}
.tvs-mosaic-drop-head{padding:.55rem 1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--tvs-blue);background:rgba(var(--tvs-ms-pri-rgb),.06);border-bottom:1px solid var(--drop-border);}
.tvs-mosaic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;padding:.75rem;}
.tvs-mosaic-item{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .4rem;background:var(--drop-bg2);border:1px solid var(--drop-border);border-radius:10px;text-decoration:none;color:var(--drop-tx2);font-size:.68rem;font-weight:500;text-align:center;transition:all .18s;}
.tvs-mosaic-item:hover{background:rgba(var(--tvs-ms-pri-rgb),.1);border-color:var(--tvs-blue);color:var(--tvs-blue);}
.tvs-mosaic-ico{font-size:1.2rem;}
.tvs-mosaic-search-wrap{padding:.75rem;border-bottom:1px solid var(--drop-border);position:relative;}
.tvs-mosaic-search-inner{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.07);border:1px solid var(--drop-border);border-radius:40px;padding:.45rem .9rem;transition:all .2s;}
.tvs-mosaic-search-inner:focus-within{background:rgba(255,255,255,.12);border-color:var(--tvs-blue);box-shadow:0 0 0 2px rgba(var(--tvs-ms-pri-rgb),.2);}
.tvs-mosaic-search-ico{color:var(--tvs-blue);font-size:.85rem;flex-shrink:0;}
.tvs-mosaic-search-input{flex:1;border:none;background:none;outline:none;font-size:.85rem;color:var(--drop-tx);min-width:0;}
.tvs-mosaic-search-input::placeholder{color:var(--drop-muted);}
.tvs-mosaic-search-clear{background:none;border:none;cursor:pointer;color:var(--drop-muted);padding:0;font-size:.8rem;transition:color .2s;}

/* ═══════════════════════ NOTIFICAÇÕES (drop) ═══════════════════════ */
.tvs-notif-wrap{position:relative;}
.tvs-notif-drop{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:480px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:9990;display:none;overflow:hidden;flex-direction:column;}
.tvs-notif-drop.open{display:flex;}
.tvs-notif-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--border);flex-shrink:0;}
.tvs-notif-head h4{font-size:13px;font-weight:700;display:flex;align-items:center;gap:7px;}
.tvs-notif-head h4 span{font-size:.75rem;font-weight:600;color:var(--tvs-blue);background:rgba(var(--tvs-ms-pri-rgb),.1);padding:2px 8px;border-radius:10px;}
.tvs-notif-markall{font-size:11px;color:var(--tvs-blue);cursor:pointer;background:none;border:none;padding:3px 7px;border-radius:4px;transition:background .13s;display:flex;align-items:center;gap:4px;}
.tvs-notif-markall:hover{background:var(--bg-table-head);}
.tvs-notif-item.nao-lida{background:var(--totvs-blue-pale);}
.tvs-notif-ico{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.tvs-notif-body{flex:1;min-width:0;}
.tvs-notif-titulo{font-size:12px;font-weight:600;line-height:1.3;}
.tvs-notif-msg{font-size:11px;color:var(--text-secondary);margin-top:2px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.tvs-notif-tempo{font-size:10px;color:var(--text-muted);margin-top:3px;display:flex;align-items:center;gap:3px;}
.tvs-notif-dot{width:7px;height:7px;border-radius:50%;background:var(--color-danger);flex-shrink:0;margin-top:4px;}
.tvs-notif-empty{padding:28px 20px;text-align:center;color:var(--text-muted);font-size:12px;}
.tvs-notif-empty i{font-size:24px;margin-bottom:8px;display:block;opacity:.3;}
.tvs-notif-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:100000!important;display:none;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px);}
.tvs-notif-modal-overlay.open{display:flex;}
.tvs-notif-modal{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;overflow:hidden;}
.tvs-nm-header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border);}
.tvs-nm-ico{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.tvs-nm-info{flex:1;min-width:0;}
.tvs-nm-titulo{font-size:14px;font-weight:700;color:var(--text-primary);}
.tvs-nm-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap;}
.tvs-nm-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;}
.tvs-nm-close{width:30px;height:30px;border-radius:50%;background:var(--bg-table-head);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.tvs-nm-close:hover{background:var(--border);}
.tvs-nm-body{padding:18px 20px;}
.tvs-nm-mensagem{font-size:13px;color:var(--text-secondary);line-height:1.6;}
.tvs-nm-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;background:var(--bg-table-head);}

/* ═══════════════════════ MENU DO USUÁRIO ═══════════════════════ */
.tvs-nav-user,.tvs-nav-user-wrap{position:relative;overflow:visible!important;}
.tvs-nav-user-avatar{display:flex;align-items:center;gap:4px;cursor:pointer;padding:3px 6px;border-radius:40px;transition:background .18s;}
.tvs-nav-user-avatar:hover{background:rgba(255,255,255,.1);}
.tvs-nav-user-chev{font-size:9px;color:rgba(255,255,255,.65);transition:transform .2s;}
.tvs-nav-user-avatar.open .tvs-nav-user-chev{transform:rotate(180deg);}
.tvs-nav-user-drop-header{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;background:rgba(255,255,255,.03);border-bottom:1px solid var(--drop-border);}
.tvs-nav-user-drop-foto{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.tvs-nav-user-drop-iniciais{width:44px;height:44px;border-radius:50%;background:var(--tvs-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0;}
.tvs-nav-user-drop-nome{font-weight:700;font-size:.88rem;color:var(--drop-tx);}
.tvs-nav-user-drop-email{font-size:.7rem;color:var(--drop-muted);margin-top:.1rem;}
.tvs-nav-user-drop-perfil{display:inline-block;margin-top:.2rem;font-size:.65rem;font-weight:600;background:rgba(var(--tvs-ms-pri-rgb),.15);color:var(--tvs-blue);padding:1px 7px;border-radius:8px;}
.tvs-nav-user-drop-divider{height:1px;background:var(--drop-border);margin:.3rem 0;}
.tvs-nav-user-drop-saldo{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.78rem;color:var(--drop-tx2);background:rgba(16,185,129,.04);border-bottom:1px solid var(--drop-border);}
.tvs-nav-user-drop-item,.tvs-user-drop-item{display:flex;align-items:center;gap:.65rem;padding:.65rem 1rem;color:var(--drop-tx2);text-decoration:none;font-size:.82rem;transition:all .15s;}
.tvs-nav-user-drop-item i,.tvs-user-drop-item i{width:18px;text-align:center;}
.tvs-nav-user-drop-item:hover,.tvs-user-drop-item:hover{background:rgba(var(--tvs-ms-pri-rgb),.08);color:var(--tvs-blue);}
.tvs-nav-user-drop-sair,.tvs-user-drop-item.danger{color:#ef4444!important;}
.tvs-nav-user-drop-sair:hover,.tvs-user-drop-item.danger:hover{background:rgba(239,68,68,.08)!important;color:#ef4444!important;}
.tvs-user-wrap{position:relative;}
.tvs-user-btn{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border-radius:var(--radius);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:all .13s;}
.tvs-user-drop{position:absolute;top:calc(100% + 8px);right:0;min-width:210px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:9990;display:none;padding:6px 0;}
.tvs-user-drop.open{display:block;}
.tvs-user-ava{width:28px;height:28px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--totvs-orange),#F59E0B);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden;}
.tvs-user-ava img{width:100%;height:100%;object-fit:cover;}
.tvs-user-info{display:flex;flex-direction:column;gap:1px;}
.tvs-user-nome{font-size:11.5px;font-weight:600;color:#fff;line-height:1;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-user-role{font-size:9.5px;color:rgba(255,255,255,.50);line-height:1;}
.tvs-user-chev{font-size:9px;color:rgba(255,255,255,.45);transition:transform .2s;}
.tvs-user-btn.open .tvs-user-chev{transform:rotate(180deg);}
.tvs-user-drop-head{padding:12px 14px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;}
.tvs-user-drop-nome{font-size:13px;font-weight:700;color:var(--text-primary);}
.tvs-user-drop-email{font-size:11px;color:var(--text-muted);margin-top:2px;}
.tvs-user-drop-item i{width:15px;text-align:center;font-size:12px;color:var(--text-muted);}
.tvs-user-drop-sep{height:1px;background:var(--border);margin:4px 0;}
.tvs-user-drop-item.danger i{color:var(--color-danger);}
.tvs-dropdown.open{display:block;}
.tvs-dropdown-item{display:flex;align-items:center;gap:9px;padding:9px 16px;font-size:12.5px;color:var(--text-primary);text-decoration:none;transition:background .12s;white-space:nowrap;}
.tvs-dropdown-item:hover{background:var(--bg-table-alt,rgba(0,0,0,.04));color:var(--cor-primaria);}
.tvs-dropdown-item i{width:16px;text-align:center;font-size:12px;flex-shrink:0;}

/* ═══════════════════════ LOGIN MODAL ═══════════════════════ */
.tvs-login-modal .tvs-modal{max-width:440px;border-radius:20px;box-shadow:var(--tvs-shadow-xl);background:var(--tvs-surface);overflow:hidden;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;}
.tvs-login-modal .tvs-modal-backdrop.open .tvs-modal{transform:scale(1) translateY(0);}
.tvs-login-modal .tvs-modal-header{background:linear-gradient(135deg,var(--tvs-blue),var(--tvs-blue-dark));padding:20px 24px;border-bottom:none;position:relative;overflow:hidden;}
.tvs-login-modal .tvs-modal-header::after{content:'';position:absolute;right:-40px;top:-40px;width:160px;height:160px;background:rgba(255,255,255,.06);border-radius:50%;}
.tvs-login-modal .tvs-modal-header .tvs-modal-icon{background:rgba(255,255,255,.18);backdrop-filter:blur(4px);width:44px;height:44px;border-radius:12px;font-size:18px;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.tvs-login-modal .tvs-modal-title{color:#fff;font-size:16px;font-weight:800;letter-spacing:-.3px;}
.tvs-login-modal .tvs-modal-title .tvs-text-muted{color:rgba(255,255,255,.7)!important;font-weight:400;}
.tvs-login-modal .tvs-modal-close{color:rgba(255,255,255,.7);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:16px;}
.tvs-login-modal .tvs-modal-close:hover{background:rgba(255,255,255,.2);color:#fff;transform:rotate(90deg);}
.tvs-login-modal .tvs-modal-body{padding:28px 24px 24px;background:var(--tvs-surface);}
.tvs-login-modal .tvs-tabs{border-bottom:2px solid var(--tvs-border);margin-bottom:20px;gap:0;}
.tvs-login-modal .tvs-tab{padding:10px 16px;font-size:12px;font-weight:600;color:var(--tvs-text-3);border-bottom:3px solid transparent;transition:all .2s;position:relative;flex:1;text-align:center;}
.tvs-login-modal .tvs-tab i{margin-right:6px;font-size:13px;}
.tvs-login-modal .tvs-tab.active{color:var(--tvs-blue);border-bottom-color:var(--tvs-blue);background:var(--tvs-blue-ghost2);}
.tvs-login-modal .tvs-tab:hover:not(.active){color:var(--tvs-text-2);background:var(--tvs-blue-ghost2);}
.tvs-login-modal .tvs-tab-pane{animation:tvs-fadeIn .25s ease;}
.tvs-login-modal .tvs-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-radius:10px;border:1.5px solid var(--tvs-border);background:var(--tvs-surface);color:var(--tvs-text-2);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;width:100%;position:relative;overflow:hidden;}
.tvs-login-modal .tvs-social-btn:hover{border-color:var(--tvs-blue);background:var(--tvs-blue-ghost);transform:translateY(-1px);box-shadow:var(--tvs-shadow-sm);}
.tvs-login-modal .tvs-social-btn:active{transform:scale(.98);}
.tvs-login-modal .tvs-social-btn .tvs-social-icon{font-size:20px;flex-shrink:0;}
.tvs-login-modal .tvs-social-btn .tvs-social-label{flex:1;text-align:center;}
.tvs-login-modal .tvs-social-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--tvs-text-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
.tvs-login-modal .tvs-social-divider::before,.tvs-login-modal .tvs-social-divider::after{content:'';flex:1;height:1px;background:var(--tvs-border);}
.tvs-login-modal .tvs-form-group{margin-bottom:14px;}
.tvs-login-modal .tvs-label{font-size:11.5px;font-weight:600;color:var(--tvs-text-2);margin-bottom:4px;display:block;}
.tvs-login-modal .tvs-input-group{border-radius:10px;overflow:hidden;background:var(--tvs-surface);border:1.5px solid var(--tvs-border);transition:all .2s;}
.tvs-login-modal .tvs-input-group:focus-within{border-color:var(--tvs-blue);box-shadow:0 0 0 3px var(--tvs-blue-ghost);}
.tvs-login-modal .tvs-input-addon{background:var(--tvs-surface-2);color:var(--tvs-text-3);padding:0 12px;border:none;font-size:13px;}
.tvs-login-modal .tvs-input{border:none!important;background:transparent!important;padding:10px 12px;font-size:13px;color:var(--tvs-text);width:100%;outline:none;box-shadow:none!important;}
.tvs-login-modal .tvs-input::placeholder{color:var(--tvs-text-muted);}
.tvs-login-modal .tvs-input:focus{box-shadow:none!important;border:none!important;}
.tvs-login-modal .tvs-btn-submit{width:100%;padding:12px;font-size:14px;font-weight:700;border-radius:10px;background:linear-gradient(135deg,var(--tvs-blue),var(--tvs-blue-light));color:#fff;border:none;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;margin-top:4px;}
.tvs-login-modal .tvs-btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(21,101,192,.35);}
.tvs-login-modal .tvs-btn-submit:active{transform:scale(.98);}
.tvs-login-modal .tvs-btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none!important;box-shadow:none!important;}
.tvs-login-modal .tvs-btn-submit.loading{background:linear-gradient(135deg,var(--tvs-blue),var(--tvs-blue-dark));background-size:200% 100%;animation:tvs-login-shimmer 1.5s ease-in-out infinite;}
.tvs-login-modal .tvs-modal-footer-text{font-size:11px;color:var(--tvs-text-3);text-align:center;padding-top:16px;border-top:1px solid var(--tvs-border-2);margin-top:16px;}
.tvs-login-modal .tvs-modal-footer-text a{color:var(--tvs-blue);font-weight:600;text-decoration:none;transition:color .2s;}
.tvs-login-modal .tvs-modal-footer-text a:hover{color:var(--tvs-blue-dark);text-decoration:underline;}
.tvs-login-modal .tvs-password-strength{margin-top:6px;display:none;}
.tvs-login-modal .tvs-password-strength.visible{display:block;}
.tvs-login-modal .tvs-password-strength .tvs-progress{height:4px;background:var(--tvs-surface-3);border-radius:4px;overflow:hidden;}
.tvs-login-modal .tvs-password-strength .tvs-progress-bar{height:100%;border-radius:4px;transition:width .3s ease;}
.tvs-login-modal .tvs-password-strength .tvs-strength-label{font-size:10px;margin-top:3px;display:block;}
.tvs-login-modal .tvs-trial-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,var(--tvs-success-bg),rgba(15,155,94,.05));border:1px solid var(--tvs-success-bd);margin-bottom:16px;font-size:12px;color:var(--tvs-success);}
.tvs-login-modal .tvs-trial-banner i{font-size:16px;flex-shrink:0;}
.tvs-login-modal .tvs-trial-banner strong{font-weight:700;}
.tvs-login-modal .tvs-login-logo{text-align:center;margin-bottom:20px;}
.tvs-login-modal .tvs-login-logo img{max-height:50px;width:auto;object-fit:contain;}
.tvs-login-modal .tvs-alert{border-radius:10px;padding:10px 14px;font-size:12px;margin-bottom:12px;display:none;}
.tvs-login-modal .tvs-alert.show{display:flex;}
.tvs-login-modal .tvs-alert .tvs-alert-icon{font-size:14px;}

/* ═══════════════════════ MOBILE NAV / DROPS ═══════════════════════ */
.tvs-mobile-search-btn{display:none;background:none;border:none;cursor:pointer;padding:.4rem;border-radius:50%;color:rgba(255,255,255,.85);font-size:1.1rem;}
.tvs-mobile-menu-btn{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:.4rem;border-radius:50%;color:rgba(255,255,255,.85);font-size:1.2rem;}
.tvs-mobile-menu-btn span{width:22px;height:2px;background:#fff;border-radius:2px;transition:all .2s;}
.tvs-mobile-search-bar{display:none;position:fixed;left:0;right:0;background:var(--tvs-tema-card);padding:.75rem 1rem;border-bottom:1px solid var(--tvs-tema-border);z-index:999;gap:.5rem;flex-wrap:wrap;}
.tvs-mobile-search-bar.open{display:flex;animation:tvs-fadeInDown .3s ease;}
.tvs-mobile-search-input{flex:1;padding:.7rem 1rem;background:var(--tvs-tema-bg2);border:1px solid var(--tvs-tema-border);border-radius:40px;font-size:.9rem;color:var(--tvs-tema-tx);outline:none;}
.tvs-mobile-search-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--tvs-tema-muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.tvs-mobile-dropdown{position:fixed;left:auto;right:20px;border-radius:10px;background:var(--tvs-tema-card);box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:998;max-height:0;overflow:hidden;transition:max-height .3s ease;width:300px;}
.tvs-mobile-dropdown.open{max-height:400px;}
.tvs-mobile-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:1rem;}
.tvs-mobile-menu-grid a{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;background:var(--tvs-tema-bg2);border:1px solid var(--tvs-tema-border);border-radius:12px;text-decoration:none;color:var(--tvs-tema-tx2);font-size:.7rem;font-weight:500;text-align:center;transition:all .2s;}
.tvs-mobile-menu-grid a i{font-size:1.3rem;color:var(--tvs-blue);}
.tvs-mobile-menu-actions{padding:.75rem 1rem;border-top:1px solid var(--tvs-tema-border);display:flex;gap:.75rem;}
.tvs-mobile-menu-actions .tvs-btn-primary,.tvs-mobile-menu-actions .tvs-btn-secondary{flex:1;padding:.6rem;border-radius:10px;text-align:center;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;}
.tvs-mobile-menu-actions .tvs-btn-primary{background:var(--tvs-blue);color:#fff;border:none;}
.tvs-mobile-menu-actions .tvs-btn-secondary{background:rgba(255,255,255,.1);color:var(--tvs-tema-tx2);border:1px solid var(--tvs-tema-border);}
.tvs-mobile-trial{padding:.6rem 1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:.7rem;text-align:center;margin:0 1rem 1rem;border-radius:10px;}

/* ═══════════════════════ DROP PREMIUM (tvsp) ═══════════════════════ */
.tvsp-header{display:flex;align-items:flex-start;gap:12px;padding:16px 14px 12px;background:var(--tvs-blue);border-bottom:none;}
.tvsp-hd-avatar{position:relative;flex-shrink:0;}
.tvsp-hd-foto{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.35);}
.tvsp-hd-iniciais{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;}
.tvsp-hd-online{position:absolute;bottom:1px;right:1px;width:11px;height:11px;background:#10b981;border-radius:50%;border:2px solid var(--tvs-blue);}
.tvsp-hd-crown{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;background:#facc15;display:flex;align-items:center;justify-content:center;font-size:9px;color:#78350f;border:2px solid var(--tvs-blue);}
.tvsp-hd-info{flex:1;min-width:0;}
.tvsp-hd-nome{font-size:.88rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.2;}
.tvsp-hd-tag{background:#facc15;color:#78350f;font-size:9px;padding:1px 6px;border-radius:999px;font-weight:700;}
.tvsp-hd-email{font-size:.68rem;color:rgba(255,255,255,.65);margin-top:2px;}
.tvsp-hd-perfil{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:.65rem;color:rgba(255,255,255,.55);}
.tvsp-stats{display:flex;border-bottom:1px solid var(--drop-border);}
.tvsp-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:9px 6px;gap:1px;border-right:1px solid var(--drop-border);}
.tvsp-stat:last-child{border-right:none;}
.tvsp-stat i{font-size:13px;color:var(--tvs-blue);margin-bottom:1px;}
.tvsp-stat span{font-size:10px;color:var(--drop-muted);}
.tvsp-stat strong{font-size:12px;color:var(--drop-tx);font-weight:600;}
.tvsp-saldo-row{display:flex;align-items:center;gap:8px;padding:9px 14px;text-decoration:none;border-bottom:1px solid var(--drop-border);background:rgba(16,185,129,.04);transition:background .12s;}
.tvsp-saldo-row:hover{background:rgba(16,185,129,.08);}
.tvsp-saldo-row>i{font-size:15px;color:#10b981;}
.tvsp-saldo-left{flex:1;min-width:0;}
.tvsp-saldo-lbl{font-size:10px;color:var(--drop-muted);}
.tvsp-saldo-val{font-size:15px;font-weight:700;color:#10b981;display:flex;align-items:center;gap:6px;}
.tvsp-saldo-val.hidden .tvsp-saldo-num{filter:blur(5px);}
.tvsp-saldo-eye{font-size:11px;color:var(--drop-muted);cursor:pointer;transition:color .15s;}
.tvsp-saldo-eye:hover{color:var(--drop-tx);}
.tvsp-quick{display:flex;gap:5px;padding:8px 10px;border-bottom:1px solid var(--drop-border);}
.tvsp-qbtn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border-radius:8px;border:1px solid var(--drop-border);background:var(--drop-bg2);cursor:pointer;font-size:10px;color:var(--drop-tx2);transition:all .15s;}
.tvsp-qbtn i{font-size:13px;color:var(--tvs-blue);}
.tvsp-qbtn:hover{background:var(--tvs-blue);border-color:var(--tvs-blue);color:#fff;}
.tvsp-qbtn:hover i{color:#fff;}
.tvsp-progress{padding:9px 14px;border-bottom:1px solid var(--drop-border);}
.tvsp-prog-label{display:flex;justify-content:space-between;font-size:10px;color:var(--drop-muted);margin-bottom:5px;}
.tvsp-prog-track{height:4px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden;}
.tvsp-prog-fill{height:100%;background:var(--tvs-blue);border-radius:2px;width:0;transition:width .5s ease;}
.tvsp-menu-wrap{border-bottom:1px solid var(--drop-border);}
.tvsp-badge-novo{background:#ef4444;color:#fff;font-size:9px;padding:1px 5px;border-radius:999px;margin-left:auto;}
.tvsp-features{display:flex;gap:0;padding:8px 14px;border-bottom:1px solid var(--drop-border);background:rgba(255,255,255,.02);}
.tvsp-feat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:var(--drop-muted);text-align:center;}
.tvsp-feat i{font-size:12px;color:#10b981;}
.tvsp-footer{display:flex;border-bottom:1px solid var(--drop-border);}
.tvsp-foot-link{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px;font-size:11px;color:var(--drop-muted);text-decoration:none;border-right:1px solid var(--drop-border);transition:all .15s;}
.tvsp-foot-link:last-child{border-right:none;}
.tvsp-foot-link:hover{background:rgba(var(--tvs-ms-pri-rgb),.08);color:var(--tvs-blue);}
.tvsp-foot-link i{font-size:13px;}

/* ═══════════════════════ TOPBAR / SIDEBAR PLATAFORMA (gt / sb) ═══════════════════════ */
.gt-topbar{top:0;display:flex;align-items:center;height:var(--topbar-h);background:var(--ul-topbar-bg,var(--bg-topbar));color:var(--ul-topbar-tx)!important;box-shadow:var(--shadow-topbar);padding:0;overflow:visible!important;}
.gt-topbar .tvs-menu-btn,.gt-topbar .tvs-nav-link-item,.gt-topbar .tvs-icon-btn,.gt-topbar .tvs-menu-chevron{color:var(--ul-topbar-tx,rgba(255,255,255,.85))!important;}
.gt-topbar .tvs-nav-right,.gt-topbar .tvs-icon-btn-wrap{overflow:visible!important;display:flex!important;align-items:center;}
.gt-topbar .tvs-action-drop{z-index:99999!important;}
.tvs-brand{display:flex;align-items:center;gap:10px;padding:0 14px;height:100%;min-width:calc(var(--sidebar-w) - 1px);max-width:calc(var(--sidebar-w) - 1px);border-right:1px solid rgba(255,255,255,.12);text-decoration:none;flex-shrink:0;transition:min-width var(--trans-slow),max-width var(--trans-slow);background:rgba(0,0,0,.12);overflow:hidden;}
.tvs-brand.collapsed{min-width:calc(var(--sidebar-w-col) - 1px);max-width:calc(var(--sidebar-w-col) - 1px);justify-content:center;padding:0 8px;}
.tvs-brand.collapsed .tvs-brand-text{opacity:0;width:0;overflow:hidden;}
.tvs-brand-logo{width:32px;height:32px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);}
.tvs-brand-logo img{width:100%;height:100%;object-fit:cover;}
.tvs-brand-logo-fb{font-size:14px;font-weight:800;color:#fff;}
.tvs-brand-text{display:grid;overflow:hidden;transition:opacity var(--trans),width var(--trans-slow);}
.tvs-brand-name{font-size:13.5px;font-weight:700;color:#fff;white-space:nowrap;letter-spacing:-.2px;}
.tvs-brand-tag{font-size:9.5px;color:rgba(255,255,255,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.tvs-actions{display:flex;align-items:center;gap:4px;padding:0 10px;flex-shrink:0;}
.sb-header{display:flex;align-items:center;gap:9px;padding:0 12px;height:var(--topbar-h);flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.16);overflow:hidden;transition:padding var(--trans-slow);}
.sidebar.collapsed .sb-header{justify-content:center;padding:0 8px;}
.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 0;}
.sb-nav::-webkit-scrollbar{width:3px;}
.sb-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.35);padding:12px 14px 4px;white-space:nowrap;overflow:hidden;transition:opacity var(--trans),height var(--trans),padding var(--trans);}
.sidebar.collapsed .sb-section-label{opacity:0;height:0;padding:0;}
.sb-item{display:flex;align-items:center;gap:9px;padding:8px 12px;margin:0 6px;border-radius:var(--radius-sm);color:rgba(255,255,255,.72);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .13s;white-space:nowrap;position:relative;overflow:hidden;}
.sb-item:hover{background:rgba(255,255,255,.09);color:#fff;}
.sb-item.active{background:rgba(255,255,255,.14);color:#fff;border-left:3px solid var(--totvs-orange);padding-left:9px;}
.sb-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--trans),width var(--trans-slow);}
.sidebar.collapsed .sb-item-label{width:35px;overflow:hidden;}
.sb-group{margin:0 6px;}
.sb-group-btn{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:var(--radius-sm);color:rgba(255,255,255,.72);font-size:12.5px;font-weight:500;cursor:pointer;transition:all .13s;white-space:nowrap;background:transparent;border:none;font-family:inherit;width:100%;text-align:left;position:relative;}
.sb-group-btn:hover{background:rgba(255,255,255,.09);color:#fff;}
.sb-group-label{flex:1;transition:opacity var(--trans),width var(--trans-slow);overflow:hidden;}
.sidebar.collapsed .sb-group-label{opacity:0;width:auto;overflow:hidden;}
.sb-group-arrow{font-size:9px;transition:transform .2s,opacity var(--trans);color:rgba(255,255,255,.38);margin-left:auto;}
.sidebar.collapsed .sb-group-arrow{opacity:0;width:0;display:none!important;}
.sb-group-btn.open .sb-group-arrow{transform:rotate(90deg);}
.sb-group-children{overflow:hidden;max-height:0;transition:max-height .28s cubic-bezier(.4,0,.2,1);}
.sb-group-children.open{max-height:900px;}
.sb-subitem{display:flex;align-items:center;gap:9px;padding:7px 12px 7px 36px;margin:0 6px;border-radius:var(--radius-sm);color:rgba(255,255,255,.60);font-size:12px;cursor:pointer;text-decoration:none;transition:all .13s;white-space:nowrap;position:relative;}
.sb-subitem:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.90);}
.sb-subitem.active{background:rgba(255,255,255,.12);color:#fff;border-left:2px solid rgba(232,119,34,.7);padding-left:34px;}
.sidebar.collapsed .sb-subitem{padding-left:12px;}
.sidebar.collapsed .sb-subitem-label{opacity:0;width:0;overflow:hidden;}
.sb-footer{height:36px;padding:8px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:6px;flex-shrink:0;}
.sb-toggle-btn{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .15s;flex-shrink:0;}
.sb-toggle-btn:hover{background:rgba(255,255,255,.12);color:#fff;}
.sb-footer-actions{display:flex;gap:4px;transition:opacity var(--trans),width var(--trans-slow);overflow:hidden;}
.sidebar.collapsed .sb-footer-actions{opacity:0;width:0;}
.sb-mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:280!important;backdrop-filter:blur(2px);}
.sb-mobile-overlay.active{display:block;}
.sidebar.collapsed .sb-group-btn{flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:6px 4px!important;gap:2px!important;position:relative;}
.sidebar.collapsed .sb-group-icon{font-size:16px!important;margin-bottom:1px!important;}

/* ═══════════════════════ ARCOLL CONFIRM / ALERT / FLASH ═══════════════════════ */
#arcoll-confirm-backdrop,#arcoll-alert-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:99999;display:none;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px);}
#arcoll-confirm-backdrop.open,#arcoll-alert-backdrop.open{display:flex;}
#arcoll-confirm-box,#arcoll-alert-box{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:420px;overflow:hidden;animation:arcollConfirmIn .22s cubic-bezier(.34,1.56,.64,1);}
.arcoll-confirm-header,.arcoll-alert-header{display:flex;align-items:center;gap:14px;padding:20px 22px 14px;}
.arcoll-confirm-footer{display:flex;gap:8px;justify-content:flex-end;padding:14px 22px 20px;border-top:1px solid var(--border);background:var(--bg-table-head);}
.arcoll-alert-footer{display:flex;justify-content:flex-end;padding:14px 22px 20px;border-top:1px solid var(--border);background:var(--bg-table-head);}
.arcoll-confirm-ico,.arcoll-alert-ico{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.arcoll-confirm-ico.danger,.arcoll-alert-ico.danger{background:var(--color-danger-bg);color:var(--color-danger);}
.arcoll-confirm-ico.warning,.arcoll-alert-ico.warning{background:var(--color-warning-bg);color:var(--color-warning);}
.arcoll-confirm-ico.info,.arcoll-alert-ico.info{background:var(--color-info-bg);color:var(--color-info);}
.arcoll-confirm-ico.success,.arcoll-alert-ico.success{background:var(--color-success-bg);color:var(--color-success);}
.arcoll-confirm-info,.arcoll-alert-info{flex:1;}
.arcoll-confirm-title,.arcoll-alert-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:3px;}
.arcoll-confirm-msg,.arcoll-alert-msg{font-size:13px;color:var(--text-secondary);line-height:1.5;}
.arcoll-confirm-btn-cancel{padding:8px 18px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .13s;}
.arcoll-confirm-btn-cancel:hover{background:var(--border);}
.arcoll-confirm-btn-ok{padding:8px 22px;border-radius:var(--radius);border:none;color:#fff;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .13s;display:flex;align-items:center;gap:7px;}
.arcoll-confirm-btn-ok.danger{background:var(--color-danger);}
.arcoll-confirm-btn-ok.warning{background:var(--color-warning);}
.arcoll-confirm-btn-ok.success{background:var(--color-success);}
.arcoll-confirm-btn-ok.info{background:var(--color-info);}
.arcoll-confirm-btn-ok.primary{background:var(--cor-primaria);}
.arcoll-alert-btn-ok{padding:8px 28px;border-radius:var(--radius);border:none;background:var(--cor-primaria);color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .13s;}
.arcoll-alert-btn-ok:hover{filter:brightness(1.1);}
.flash-message{position:fixed;top:calc(var(--topbar-h,52px) + var(--subnav-h,40px) + 10px);right:16px;z-index:9998;min-width:260px;max-width:400px;display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:12.5px;font-weight:500;animation:tvs-fadeInDown .25s cubic-bezier(.4,0,.2,1);background:var(--bg-card);border:1px solid var(--border);}

/* ═══════════════════════ BUSCA GLOBAL (sr) ═══════════════════════ */
.tvs-sr-item{display:flex;align-items:center;gap:9px;padding:7px 12px;cursor:pointer;transition:background .12s;text-decoration:none;color:var(--text-primary);}
.tvs-sr-item:hover,.tvs-sr-item.focused{background:var(--bg-card-hover);}
.tvs-sr-section-title{padding:6px 12px 2px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--text-muted);border-top:1px solid var(--border);}
.tvs-sr-label{padding:4px 12px 2px;font-size:9.5px;font-weight:700;text-transform:uppercase;color:var(--text-muted);}
.tvs-sr-ico{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;}
.tvs-sr-info{flex:1;min-width:0;}
.tvs-sr-nome{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-sr-desc{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-sr-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:99px;font-size:10px;font-weight:600;}
.tvs-sr-empty{padding:18px;text-align:center;color:var(--text-muted);font-size:12px;}
.tvs-sr-empty i{font-size:20px;margin-bottom:6px;display:block;opacity:.35;}

/* ═══════════════════════ BODY MODES ═══════════════════════ */
#mainSidebar{background:var(--ul-sidebar-bg);}
#mainSidebar .sb-item-link,#mainSidebar .sb-group-label,#mainSidebar .sb-brand-name,#mainSidebar .sb-brand-slogan,#mainSidebar .sb-item-icon,#mainSidebar .sb-toggle,#mainSidebar .sb-item-label{color:var(--ul-sidebar-tx,#fff)!important;}

/* ═══════════════════════ SIDEBAR DESIGN SYSTEM v11 ═══════════════════════ */
.sidebar{border-right: 1px solid var(--tvs-blue-ghost); position:fixed;top:0;left:0;bottom:0;width:var(--ul-sidebar-w,248px);background:var(--ul-sidebar-bg,#0f172a);--sb-texto-cor:#fff;color:var(--sb-texto-cor,#fff);display:flex;flex-direction:column;z-index:1000;transition:width .3s cubic-bezier(.4,0,.2,1),background .3s ease;overflow:hidden;font-family:var(--tvs-font,'Inter',sans-serif);}
.sidebar.style-glass{background:rgba(24,30,42,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid rgba(255,255,255,.08);}
.sidebar.style-solid{background:#181e2a;}
.sidebar.style-light{background:#f1f3f5;--sb-texto-cor:#1e2532;}
.sidebar.style-light .sb-item,.sidebar.style-light .sb-group-btn,.sidebar.style-light .sb-subitem,.sidebar.style-light .sb-footer-action,.sidebar.style-light .sb-section-label,.sidebar.style-light .sb-brand-name,.sidebar.style-light .sb-brand-slogan{color:#1e2532!important;}
.sidebar.style-light .sb-search-inner{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.12);}
.sidebar.style-light .sb-search-inp::placeholder{color:rgba(0,0,0,.35);}
.sidebar.style-light .sb-search-inp{color:#1e2532;}
.sidebar.style-light .sb-search-ico{color:rgba(0,0,0,.4);}
.sidebar.style-light .sb-item:hover,.sidebar.style-light .sb-group-btn:hover{background:rgba(0,0,0,.06)!important;}
.sidebar.style-light .sb-item.active,.sidebar.style-light .sb-group-btn.group-active{background:rgba(21,101,192,.08)!important;}
.sidebar.style-light .sb-divider{background:rgba(0,0,0,.1);}
.sidebar.style-light #sbToggleBtn{background:rgba(0,0,0,.08)!important;border-color:rgba(0,0,0,.15)!important;color:#1e2532!important;}
.sidebar.style-light .sb-fav-btn .far.fa-star{color:rgba(0,0,0,.3);}
.sidebar.style-light .sb-fav-btn .fas.fa-star{color:#f59e0b!important;}
.sidebar.style-light .sb-footer-fav-btn{border-color:rgba(0,0,0,.15);color:#1e2532!important;}
.sidebar.style-light .sb-footer-fav-btn:hover{background:rgba(245,158,11,.12);border-color:#f59e0b;}
.sidebar.style-accent{background:var(--tvs-blue,#1565C0);--sb-texto-cor:#ffffff;}
.sidebar.style-accent .sb-item:hover,.sidebar.style-accent .sb-group-btn:hover{background:rgba(255,255,255,.15)!important;}
.sidebar.style-accent .sb-item.active,.sidebar.style-accent .sb-group-btn.group-active{background:rgba(255,255,255,.2)!important;}
.sidebar.style-accent .sb-divider{background:rgba(255,255,255,.15);}
.sidebar.style-accent #sbToggleBtn{background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.2)!important;}
.sidebar.collapsed{width:var(--ul-sidebar-cw,64px);}
.sidebar.collapsed .sb-header{padding:8px 4px;}
.sidebar.collapsed .sb-logo-wrap{width:36px;height:36px;}
.sidebar.collapsed .sb-brand-text{display:none;}
.sidebar.collapsed .sb-subtopo{padding:4px 4px;flex-wrap:wrap;}
.sidebar.collapsed .sb-search-wrap{padding:4px 6px;}
.sidebar.collapsed .sb-search-inner{padding:4px 6px;}
.sidebar.collapsed .sb-search-inp{display:none;}
.sidebar.collapsed .sb-search-ico{font-size:14px;margin:0 auto;}
.sidebar.collapsed .sb-search-kbd{display:none;}
.sidebar.collapsed .sb-search-clr{display:none!important;}
.sidebar.collapsed .sb-section-label{display:none;}
.sidebar.collapsed .sb-divider{margin:4px 8px;}
.sidebar.collapsed .sb-item,.sidebar.collapsed .sb-group-btn{flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:6px 4px!important;height:auto!important;min-height:44px!important;font-size:10px!important;}
.sidebar.collapsed .sb-item-label,.sidebar.collapsed .sb-group-label{display:block!important;font-size:8px!important;text-align:center!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:48px!important;padding:0 2px!important;margin-top:2px!important;opacity:.85;}
.sidebar.collapsed .sb-icon,.sidebar.collapsed .sb-group-icon{font-size:16px!important;}
.sidebar.collapsed .sb-group-arrow{display:none!important;}
.sidebar.collapsed .sb-group-children{display:none!important;}
.sidebar.collapsed .sb-badge{display:none!important;}
.sidebar.collapsed .sb-fav-btn{display:none!important;}
.sidebar.collapsed .sb-footer-fav-btn span{display:none;}
.sidebar.collapsed .sb-footer-actions .ff-sep,.sidebar.collapsed .sb-footer-actions .ff-data{display:none;}
.sidebar.collapsed .sb-footer-actions .ff-relogio{font-size:10px;}
.sidebar.collapsed .sb-footer-action span{display:none;}
.sidebar.collapsed .sb-topo-divider{margin:2px 8px;}
.sidebar.collapsed .sb-subtopo .sb-footer-actions{gap:2px;}
.sidebar.collapsed .sb-subtopo .sb-footer-action{padding:4px;font-size:12px;}
.sb-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;cursor:pointer;text-decoration:none;transition:background .15s;}
.sb-header:hover{background:rgba(255,255,255,.04);}
.sb-logo-wrap{width:40px;height:40px;border-radius:var(--tvs-radius,6px);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--tvs-blue,#1565C0);overflow:hidden;}
.sb-logo-wrap img{width:100%;height:100%;object-fit:contain;padding:4px;}
.sb-logo-fb{color:#fff;font-size:18px;font-weight:800;}
.sb-brand-text{flex:1;min-width:0;display:flex;flex-direction:column;}
.sb-brand-name{font-size:14px;font-weight:800;letter-spacing:-.3px;color:var(--sb-texto-cor,#fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-brand-slogan{font-size:9px;opacity:.7;color:var(--sb-texto-cor,#fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-subtopo{padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:6px;flex-shrink:0;}
.sb-subtopo .sb-footer-actions{flex:1;display:flex;align-items:center;gap:4px;}
.sb-subtopo .sb-footer-action{padding:4px 6px;border-radius:var(--tvs-radius,4px);font-size:13px;transition:background .15s;text-decoration:none;color:var(--sb-texto-cor,#fff);background:none;border:none;cursor:pointer;}
.sb-subtopo .sb-footer-action:hover{background:rgba(255,255,255,.10);}
.sb-subtopo .sb-footer-action.active{background:rgba(255,255,255,.12);}
#sbToggleBtn{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:var(--tvs-radius,6px)!important;color:var(--sb-texto-cor,#fff)!important;width:32px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:background .15s!important;flex-shrink:0!important;font-size:12px!important;}
#sbToggleBtn:hover{background:rgba(255,255,255,.18)!important;}
#sbToggleBtn:disabled{opacity:.3;pointer-events:none;}
.sb-search-wrap{padding:8px 10px 6px;flex-shrink:0;}
.sb-search-inner{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:6px 10px;transition:border-color .15s,background .15s;position:relative;}
.sb-search-inner:focus-within{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);box-shadow:0 0 0 3px rgba(255,255,255,.06);}
.sb-search-ico{color:rgba(255,255,255,.5);font-size:12px;flex-shrink:0;pointer-events:none;}
.sb-search-inp{background:none;border:none;outline:none;color:var(--sb-texto-cor,#fff);font-size:12px;flex:1;min-width:0;padding:0;font-family:var(--tvs-font,'Inter',sans-serif);}
.sb-search-inp::placeholder{color:rgba(255,255,255,.35);}
.sb-search-clr{background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;padding:0 2px;font-size:11px;display:none;align-items:center;flex-shrink:0;line-height:1;}
.sb-search-clr.visible{display:flex;}
.sb-search-clr:hover{color:rgba(255,255,255,.8);}
.sb-search-kbd{background:rgba(255,255,255,.10);border-radius:4px;padding:1px 5px;font-size:9px;color:rgba(255,255,255,.4);font-family:monospace;border:1px solid rgba(255,255,255,.12);flex-shrink:0;line-height:1.4;}
.sb-search-results{display:none;flex-direction:column;gap:2px;padding:4px 8px;max-height:260px;overflow-y:auto;}
.sb-search-results.open{display:flex;}
.sb-search-result-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;text-decoration:none;color:var(--sb-texto-cor,#fff);font-size:12px;cursor:pointer;transition:background .12s;}
.sb-search-result-item:hover,.sb-search-result-item.focused{background:rgba(255,255,255,.10);}
.sb-search-result-item i{width:14px;text-align:center;font-size:11px;flex-shrink:0;}
.sb-search-empty{padding:14px 10px;text-align:center;color:rgba(255,255,255,.4);font-size:11.5px;}
.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 0 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;}
.sb-nav::-webkit-scrollbar{width:4px;}
.sb-nav::-webkit-scrollbar-track{background:transparent;}
.sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px;}
.sb-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:8px 14px 4px;opacity:.5;color:var(--sb-texto-cor,#fff);}
.sb-divider{height:1px;background:rgba(255,255,255,.08);margin:4px 12px;flex-shrink:0;}
.sb-topo-divider{height:1px;background:rgba(255,255,255,.08);margin:2px 10px;flex-shrink:0;}
.sb-item-wrap,.sb-subitem-wrap{border: 1px solid rgb(21 101 192 / 4%);display:flex;align-items:center;position:relative;}
.sb-item-wrap a,.sb-subitem-wrap a{flex:1;min-width:0;}
.sb-item,.sb-group-btn{display:flex;align-items:center;gap:10px;padding:8px 14px;color:var(--sb-texto-cor,#fff);text-decoration:none;border:none;background:none;width:100%;text-align:left;font-size:12px;font-weight:500;font-family:var(--tvs-font,'Inter',sans-serif);transition:background .12s,color .12s;cursor:pointer;border-radius:var(--tvs-radius-sm,4px);position:relative;min-height:36px;}
.sb-item:hover,.sb-group-btn:hover{background:rgba(255,255,255,.06);}
.sb-item.active,.sb-group-btn.group-active{background:rgba(255,255,255,.10);}
.sb-item.active::before,.sb-group-btn.group-active::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--tvs-blue,#1565C0);border-radius:0 2px 2px 0;}
.sb-icon,.sb-group-icon{width:18px;text-align:center;font-size:13px;flex-shrink:0;}
.sb-item-label,.sb-group-label{flex:1;min-width:0;font-size:12px;font-weight:500;color:var(--sb-texto-cor,#fff);}
.sb-group-arrow{font-size:10px;opacity:.5;transition:transform .2s;flex-shrink:0;margin-left:auto;}
.sb-group-btn.open .sb-group-arrow{transform:rotate(90deg);}
.sb-subitem{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 36px;color:var(--sb-texto-cor,#fff);text-decoration:none;font-size:11.5px;font-weight:400;font-family:var(--tvs-font,'Inter',sans-serif);transition:background .12s,color .12s;border:none;background:none;width:100%;text-align:left;cursor:pointer;border-radius:var(--tvs-radius-sm,4px);min-height:30px;}
.sb-subitem:hover{background:rgba(255,255,255,.04);}
.sb-subitem.active{background:rgba(255,255,255,.08);font-weight:600;}
.sb-subitem i{width:16px;text-align:center;font-size:11px;flex-shrink:0;}
.sb-subitem-label{flex:1;min-width:0;color:var(--sb-texto-cor,#fff);}
.sb-group-children{display:none;flex-direction:column;gap:1px;}
.sb-group-children.open{display:flex;}
.sb-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;border-radius:10px;line-height:1;flex-shrink:0;animation:sb-pulse 1.6s ease infinite;}
.sb-fav-btn{background:none;border:none;padding:4px 6px 4px 4px;cursor:pointer;opacity:0;transition:opacity .15s;flex-shrink:0;display:flex;align-items:center;}
.sb-item-wrap:hover .sb-fav-btn,.sb-subitem-wrap:hover .sb-fav-btn,.sb-fav-btn.sb-fav-visible{opacity:1;}
.sb-fav-btn .fas.fa-star{color:#f59e0b!important;opacity:1!important;}
.sb-fav-btn .far.fa-star{color:rgba(255,255,255,.3);}
.sb-fav-btn:hover .far.fa-star{color:#f59e0b;}
.sidebar.modo-favoritos .sb-item-wrap:not(.is-fav),.sidebar.modo-favoritos .sb-subitem-wrap:not(.is-fav),.sidebar.modo-favoritos .sb-group:not(.has-fav),.sidebar.modo-favoritos .sb-divider,.sidebar.modo-favoritos .sb-topo-divider,.sidebar.modo-favoritos .sb-section-label{display:none!important;}
.sidebar.modo-favoritos .sb-group.has-fav .sb-group-children{display:flex!important;flex-direction:column;}
.sidebar.modo-favoritos .sb-group.has-fav>.sb-group-btn{display:none!important;}
.sb-fav-empty{display:none;padding:18px 14px;text-align:center;font-size:11px;color:rgba(255,255,255,.45);}
.sidebar.modo-favoritos .sb-fav-empty{display:block;}
.sb-footer-fav-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:var(--tvs-radius,6px);color:var(--sb-texto-cor,#fff)!important;padding:4px 8px;font-size:11px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:4px;white-space:nowrap;font-family:var(--tvs-font,'Inter',sans-serif);}
.sb-footer-fav-btn:hover,.sb-footer-fav-btn.active{background:rgba(245,158,11,.15);border-color:#f59e0b;color:#f59e0b!important;}
.sb-footer-fav-btn .fas.fa-star{color:#f59e0b;}
#sb-fav-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(16px);background:rgba(20,20,30,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:10px 18px;border-radius:50px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;box-shadow:0 4px 24px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;z-index:99999;white-space:nowrap;border:1px solid rgba(255,255,255,.08);}
#sb-fav-toast.toast-show{opacity:1;transform:translateX(-50%) translateY(0);}
#sb-fav-toast .toast-icon{font-size:14px;}
#sb-fav-toast.toast-add .toast-icon{color:#f59e0b;}
#sb-fav-toast.toast-remove .toast-icon{color:rgba(255,255,255,.4);}
.sb-flyout{position:fixed;left:calc(var(--ul-sidebar-cw,64px) + 4px);min-width:190px;max-width:240px;background:var(--tvs-bg3,#1e2536);border:1px solid rgba(255,255,255,.08);border-radius:var(--tvs-radius-lg,12px);box-shadow:0 12px 28px rgba(0,0,0,.3);z-index:9999;display:none;padding:6px 0;overflow:hidden;}
.sb-flyout-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:rgba(255,255,255,.5);padding:6px 13px 4px;}
.sb-flyout-item{display:flex;align-items:center;gap:9px;padding:7px 13px;font-size:12.5px;color:var(--sb-texto-cor,#fff);text-decoration:none;transition:background .12s;}
.sb-flyout-item:hover{background:rgba(255,255,255,.06);}
.sb-flyout-item i{width:15px;text-align:center;font-size:11px;flex-shrink:0;}
.sb-footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.sb-footer-actions{display:flex;align-items:center;gap:4px;}
.sb-footer-action{padding:4px 6px;border-radius:var(--tvs-radius,4px);font-size:13px;transition:background .15s;text-decoration:none;color:var(--sb-texto-cor,#fff);background:none;border:none;cursor:pointer;}
.sb-footer-action:hover{background:rgba(255,255,255,.08);}
.ff-datetime{display:flex;align-items:center;gap:4px;font-size:10px;opacity:.6;}
.ff-clock-icon{font-size:10px;}
.ff-relogio{font-family:monospace;}
.ff-sep{opacity:.3;margin:0 2px;}

/* ═══════════════════════ RESPONSIVO ═══════════════════════ */
@media(max-width:1024px){
.tvs-grid-4{grid-template-columns:repeat(2,1fr)}
.tvs-ft-inner{grid-template-columns:1fr 1fr;gap:32px}
.tvs-ch-layout{grid-template-columns:1fr}
.tvs-uv-layout{grid-template-columns:1fr;gap:40px}
.tvs-body-grid{grid-template-columns:1fr 280px;gap:20px;padding:20px 16px}
.tvs-lightbox-comments-panel{width:300px}
.tvs-nav-links,.tvs-menus{display:none!important}
.tvs-mobile-menu-btn{display:flex!important}
.tvs-nav-brand-desc{display:none}
.tvs-nav-search{max-width:300px}
}
@media(max-width:860px){
.tvs-body-grid{grid-template-columns:1fr;gap:0;padding:0;border-radius:0;margin-top:0;border:none;box-shadow:none}
.tvs-info-content{padding:10px 0 0 96px}
.tvs-logo-wrap{width:76px;height:76px;top:-40px;border-radius:var(--tvs-radius-lg)}
.tvs-mod-nome{font-size:19px}
.tvs-banner-wrap{height:160px}
.tvs-info-grid{grid-template-columns:1fr}
.tvs-sidebar{order:-1;padding:12px 16px 0}
.tvs-buy-card{padding:16px;border-radius:var(--tvs-radius-lg)}
.tvs-lightbox-container{flex-direction:column;width:98vw;height:92vh;border-radius:var(--tvs-radius-lg)}
.tvs-lightbox-comments-panel{width:100%;flex:0 0 44%;border-left:none;border-top:1px solid var(--tvs-border)}
.tvs-lightbox-image-panel{flex:0 0 56%}
}
/* ═══════════════════════════════════════════════════════════════════════════════
   📱 MOBILE ≤768px — Layout + Modo Aplicativo
   ═══════════════════════════════════════════════════════════════════════════════ */
@media(max-width:768px){
:root{--tvs-panel-w:100%;--tvs-safe:env(safe-area-inset-bottom,0px);}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain;}
.tvs-sidebar{display:none}
.tvs-content,.tvs-body{padding:12px;padding-top:calc(56px + 12px);}
.tvs-grid-2,.tvs-grid-3,.tvs-grid-4{grid-template-columns:1fr!important}
.tvs-kpi-grid{grid-template-columns:1fr 1fr!important}
.tvs-toolbar{flex-wrap:wrap;gap:6px;padding:10px 12px}
.tvs-toolbar-actions{flex-wrap:wrap;gap:4px;margin-left:0;width:100%}
.tvs-filter-bar{flex-direction:column;align-items:stretch}
.tvs-filter-grid{grid-template-columns:1fr}
.tvs-ft-inner{grid-template-columns:1fr;gap:24px}
.tvs-ft-body{padding:40px 16px 32px}
.tvs-ft-bottom-inner{flex-direction:column;align-items:flex-start;gap:12px}
.tvs-manual-nav{width:100%;position:static}
.tvs-pl-grid{grid-template-columns:1fr}
.tvs-dep-card{padding:24px 20px}
.tvs-dep-arr{display:none}
.tvs-bnr-titulo{font-size:clamp(22px,6vw,38px)}
.tvs-bnr-desc{font-size:clamp(13px,3vw,15px)}
.tvs-bnr-btn-pri,.tvs-bnr-btn-sec{padding:10px 20px;font-size:13px}
.tvs-sheet{width:96vw}
.tvs-modal-body{padding:14px 16px}
.tvs-est-legend{grid-template-columns:1fr}
.tvs-topbar-inner{padding:8px 10px}
.tvs-footbar-buttons{gap:5px}
.tvs-footbar-btn{padding:5px 10px;font-size:11px}
.tvs-hide-mobile{display:none!important}
.tvs-dash-fnav span{display:none}
.tvs-dash-fnav{min-width:40px;padding:6px 6px}
.tvs-dash-fnav i{font-size:18px}
.tvs-nav-brand-desc,.tvs-nav-brand-nome{display:none}
.tvs-nav-search{display:none!important}
.tvs-mobile-search-btn{display:flex!important}
.tvs-nav-inner{padding:0 1rem}
.tvs-header,.tvs-nav,.gt-topbar{position:fixed;top:0;left:0;right:0;height:56px;border-radius:0;padding:0 14px;box-shadow:0 2px 10px rgba(0,0,0,.12);}
.tvs-card{border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.tvs-card:hover{transform:none;}
.tvs-footbar,.tvs-dash-footbar{position:fixed;left:0;right:0;bottom:0;border-radius:18px 18px 0 0;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px rgba(0,0,0,.12);border-top:1px solid var(--tvs-border);background:var(--tvs-bg3);}
.tvs-bottomnav-item{flex-direction:column;gap:2px;font-size:9.5px;padding:6px 4px;}
.tvs-bottomnav-item i{font-size:20px;}
.tvs-btn,.tvs-footbar-btn,.tvs-nav-btn{min-height:42px;}
.tvs-btn-icon,.tvs-act{min-width:40px;min-height:40px;}
.tvs-modal,.tvs-modal-box{position:fixed!important;left:0;right:0;bottom:0;width:100%!important;max-width:100%!important;border-radius:20px 20px 0 0!important;max-height:92vh;animation:tvs-sheetUp .3s cubic-bezier(.4,0,.2,1);}
.tvs-modal-backdrop,.tvs-modal-bd{align-items:flex-end;padding:0;}
.tvs-drawer{width:100%!important;max-width:100%;border-radius:20px 20px 0 0;top:auto;bottom:0;height:auto;max-height:92vh;right:0;transform:translateY(100%);}
.tvs-drawer.open{transform:translateY(0);}
.tvs-action-drop,.tvs-nav-user-drop,.tvs-mosaic-drop,.tvs-nav-search-drop{position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:calc(70px + env(safe-area-inset-bottom,0px))!important;min-width:0!important;max-width:none!important;border-radius:16px;}
.tvs-cards-grid,.tvs-stats-grid,.tvs-form-grid{grid-template-columns:1fr;}
.tvs-input,.tvs-select,.tvs-textarea,.tvs-form-input,.tvs-form-control,.tvs-ct-inp,.tvs-filter-sel{font-size:16px;}
.tvs-table-wrap,.tvs-tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.sidebar{transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;}
.sidebar.mobile-open{transform:translateX(0);}
.sidebar.collapsed{width:64px;transform:translateX(0);}
.sidebar.collapsed.mobile-open{transform:translateX(0);width:64px;}
.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:999;display:none;}
.sidebar-overlay.open{display:block;}
}
@media(max-width:480px){
.tvs-grid-3{grid-template-columns:1fr!important}
.tvs-kpi-grid{grid-template-columns:1fr!important}
.tvs-modal{max-width:100%;border-radius:var(--tvs-radius-lg) var(--tvs-radius-lg) 0 0;max-height:95vh}
.tvs-modal-box{border-radius:14px}
.tvs-bnr-slide{padding:calc(60px + 40px) 5% 60px}
.tvs-bnr-actions{flex-direction:column;gap:10px}
.tvs-hero-actions{flex-wrap:wrap}
.tvs-dep-text{font-size:15px}
.tvs-sheet{width:100%;border-radius:20px 20px 0 0;top:auto;bottom:0;left:0;right:0;transform:translateY(100%)}
.tvs-sheet.open{transform:translateY(0)}
.tvs-picker{width:100%;border-radius:20px 20px 0 0}
.tvs-pl-price-val{font-size:32px}
.tvs-stat-card{flex-direction:column;align-items:flex-start}
.tvs-banner-wrap{height:130px}
.tvs-logo-wrap{width:64px;height:64px;top:-32px;left:12px;border-radius:var(--tvs-radius-lg);border-width:2px}
.tvs-info-content{padding:8px 0 0 80px}
.tvs-mod-nome{font-size:16px;line-height:1.3}
.tvs-buy-card{padding:14px;border-radius:var(--tvs-radius-md)}
.tvs-buy-price{font-size:22px}
.tvs-buy-btn{padding:12px;font-size:13px}
.tvs-screenshot-item{width:180px;height:115px}
.tvs-lightbox-container{width:100vw;height:100vh;border-radius:0}
.tvs-lightbox-comments-panel{display:none}
.tvs-lightbox-image-panel{flex:1}
.tvs-lightbox-nav{width:40px;height:40px;font-size:18px}
.tvs-lightbox-prev{left:8px}
.tvs-lightbox-next{right:8px}
.tvs-lightbox-close{top:10px;right:10px;width:38px;height:38px;font-size:18px}
.tvs-tab span{display:none}
.tvs-tab{padding:8px 12px;font-size:11px}
.tvs-tab i{font-size:14px}
.tvs-dash-fnav{min-width:36px;padding:4px 4px}
.tvs-dash-fnav i{font-size:16px}
.tvs-dash-fn-badge{min-width:14px;height:14px;font-size:7px;right:2px;top:0px}
.tvs-card{padding:10px}
.tvs-card-body{padding:10px}
.tvs-card-header{padding:8px 10px}
.tvs-toolbar-title{font-size:13px}
.tvs-mobile-dropdown{width:260px}
}

/* ═══════════════════════ PRINT ═══════════════════════ */
@media print{
.tvs-sidebar,.sidebar,.tvs-header,.tvs-nav,.gt-topbar,.tvs-toolbar-actions,.tvs-btn,.tvs-filter-bar,.tvs-ft-topo,.tvs-overlay,.tvs-modal-bd,.tvs-sheet,.tvs-footbar,.tvs-dash-footbar{display:none!important}
.tvs-content{padding:0}
.tvs-card{border:1px solid #ccc;box-shadow:none}
body{background:white;color:black}
.tvs-carne-cupom{break-inside:avoid;page-break-inside:avoid;border:1.5px dashed #999}
}


/* ═══════════════════════════════════════════════════════════════════════════
   totvs_fixes.css — v2.0.0
   Correções críticas: Busca do Header + Flyout da Sidebar
   Importar APÓS totvs.css no header.php
   ═══════════════════════════════════════════════════════════════════════════ */

/* ────────────────────────────────────────────────────────────────────────────
   FIX 1 — BUSCA DO HEADER
   Problema: .tvs-nav-search-drop não aparecia ao digitar
   Solução: Estilos completos para o dropdown de busca
   ─────────────────────────────────────────────────────────────────────────── */

/* Container de busca */
.tvs-nav-search,
.unified-search {
  position: relative;
  display: flex;
  align-items: center;
}

/* Wrap interno */
.tvs-nav-search-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--tvs-radius-full, 9999px);
  padding: 0 4px 0 8px;
  transition: all .2s var(--tvs-ease);
  height: 32px;
  min-width: 32px;
}

/* Estado collapsed - só mostra o botão */
.tvs-search-collapsed .tvs-nav-search-input {
  width: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  padding: 0 !important;
}
.tvs-search-collapsed .tvs-nav-search-wrap {
  background: transparent;
  border-color: transparent;
}

/* Estado aberto */
.tvs-search-open .tvs-nav-search-wrap {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.35) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.08);
}
.tvs-search-open .tvs-nav-search-input {
  width: 220px !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Input de busca */
.tvs-nav-search-input {
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-size: 12px;
  font-family: var(--tvs-font, 'Inter', sans-serif);
  width: 0;
  opacity: 0;
  pointer-events: none;
  transition: width .25s var(--tvs-ease), opacity .2s;
  padding: 0 4px;
}
.tvs-nav-search-input::placeholder {
  color: rgba(255,255,255,.55);
}

/* Botões da busca */
.tvs-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: rgba(255,255,255,.85);
  cursor: pointer;
  transition: all .15s;
  flex-shrink: 0;
  position: relative;
  font-size: 14px;
}
.tvs-icon-btn:hover,
.tvs-icon-btn.is-active {
  background: rgba(255,255,255,.14);
  color: #fff;
}

.tvs-nav-search-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.2);
  color: #fff;
  cursor: pointer;
  font-size: 10px;
  flex-shrink: 0;
}
.tvs-nav-search-clear:hover {
  background: rgba(255,255,255,.35);
}

/* ── DROPDOWN DE BUSCA ── */
.tvs-nav-search-drop {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  width: 380px !important;
  max-width: 95vw !important;
  background: var(--drop-bg, #161b22) !important;
  border: 1px solid var(--drop-border, rgba(255,255,255,.09)) !important;
  border-radius: var(--tvs-radius-lg, 12px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.45) !important;
  z-index: 99999 !important;
  overflow: hidden !important;
  display: none !important;
  animation: tvs-fadeInDown .18s ease !important;
  max-height: 480px !important;
  overflow-y: auto !important;
}
.tvs-nav-search-drop.open {
  display: block !important;
}

/* Título no dropdown */
.tvs-search-drop-title {
  font-size: 10px;
  font-weight: 700;
  color: var(--drop-tx2, #8b949e);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 10px 14px 6px;
  border-bottom: 1px solid var(--drop-border, rgba(255,255,255,.06));
}

/* Item de resultado de busca */
.tvs-search-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  text-decoration: none;
  color: var(--drop-tx, #e6edf3);
  transition: background .12s;
  border-bottom: 1px solid var(--drop-border, rgba(255,255,255,.04));
}
.tvs-search-item:hover {
  background: rgba(255,255,255,.06);
}
.tvs-search-item:last-of-type {
  border-bottom: none;
}

.tvs-search-item-img {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
.tvs-search-item-ico {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(21,101,192,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
}
.tvs-search-item-info {
  flex: 1;
  min-width: 0;
}
.tvs-search-item-nome {
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--drop-tx, #e6edf3);
}
.tvs-search-item-desc {
  font-size: 11px;
  color: var(--drop-tx2, #8b949e);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}
.tvs-search-item-price {
  font-size: 11px;
  font-weight: 700;
  color: #10b981;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Ver todos */
.tvs-search-ver-todos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 700;
  color: var(--tvs-blue, #1565C0);
  text-decoration: none;
  border-top: 1px solid var(--drop-border, rgba(255,255,255,.08));
  background: rgba(21,101,192,.04);
  transition: background .12s;
}
.tvs-search-ver-todos:hover {
  background: rgba(21,101,192,.1);
}

/* Empty state */
.tvs-search-empty {
  padding: 24px 16px;
  text-align: center;
  color: var(--drop-tx2, #8b949e);
  font-size: 12px;
  line-height: 1.6;
}
.tvs-search-empty i {
  display: block;
  font-size: 22px;
  margin-bottom: 6px;
  opacity: .5;
}

/* Mobile search bar */
.tvs-mobile-search-bar {
  position: fixed;
  top: -100%;
  left: 0;
  right: 0;
  z-index: 200;
  background: #1a2035;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  transition: top .25s var(--tvs-ease);
}
.tvs-mobile-search-bar.open {
  top: 52px;
}
.tvs-mobile-search-input {
  flex: 1;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 8px;
  padding: 8px 12px;
  color: #fff;
  font-size: 13px;
  font-family: inherit;
  outline: none;
}
.tvs-mobile-search-input::placeholder {
  color: rgba(255,255,255,.5);
}
.tvs-mobile-search-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.7);
  cursor: pointer;
  font-size: 16px;
  padding: 4px 8px;
}

/* Mobile search drop */
#tvsMobileSearchDrop {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #161b22;
  border: 1px solid rgba(255,255,255,.09);
  border-top: none;
  border-radius: 0 0 12px 12px;
  max-height: 400px;
  overflow-y: auto;
  display: none;
  z-index: 99999;
}
#tvsMobileSearchDrop.open {
  display: block;
}

/* ────────────────────────────────────────────────────────────────────────────
   FIX 2 — FLYOUT DA SIDEBAR (quando recolhida)
   Problema: ao passar o mouse em itens com submenu (collapsed),
             o flyout com submenus não aparecia corretamente
   ─────────────────────────────────────────────────────────────────────────── */

/* Flyout container */
.sb-flyout {
  position: fixed !important;
  background: var(--tvs-sidebar-bg, #0f172a) !important;
  border: 1px solid var(--tvs-sidebar-border, #1e293b) !important;
  border-radius: var(--tvs-radius-md, 8px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.5), 0 4px 8px rgba(0,0,0,.3) !important;
  min-width: 200px !important;
  max-width: 280px !important;
  overflow: hidden !important;
  z-index: 99999 !important;
  display: none;
  animation: tvs-fadeInSub .15s ease !important;
}
.sb-flyout[style*="display: block"],
.sb-flyout[style*="display:block"] {
  display: block !important;
}

/* Título do flyout */
.sb-flyout-title {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--tvs-gray-400, #9aa3b0) !important;
  padding: 10px 14px 8px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  border-bottom: 1px solid var(--tvs-sidebar-border, #1e293b) !important;
  background: rgba(255,255,255,.03) !important;
}

/* Item do flyout */
.sb-flyout-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 14px !important;
  color: var(--tvs-sidebar-text, #c9cdd6) !important;
  text-decoration: none !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  transition: background .12s, color .12s !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
.sb-flyout-item:last-child {
  border-bottom: none !important;
}
.sb-flyout-item:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}
.sb-flyout-item i {
  font-size: 12px !important;
  width: 16px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
  opacity: .8;
}

/* Tooltip na sidebar collapsed para itens simples */
.sidebar.collapsed .sb-item-wrap {
  position: relative;
}
.sidebar.collapsed .sb-item {
  position: relative;
}
/* Garante que o item exibe tooltip via CSS quando não há flyout */
.sidebar.collapsed .sb-item-label,
.sidebar.collapsed .sb-group-label {
  display: none;
}
.sidebar.collapsed .sb-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  font-size: 8px;
}

/* ─── Badge de notificação inline na sidebar ─── */
.sb-notif-badge {
  background: #ef4444;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  border-radius: 10px;
  padding: 1px 5px;
  min-width: 14px;
  text-align: center;
  margin-left: auto;
  flex-shrink: 0;
}

/* ─── Search results na sidebar ─── */
.sb-search-results {
  display: none;
  background: var(--tvs-sidebar-bg, #0f172a);
  border-top: 1px solid var(--tvs-sidebar-border, #1e293b);
  max-height: 260px;
  overflow-y: auto;
  animation: tvs-fadeInDown .15s ease;
}
.sb-search-results.open {
  display: block;
}
.sb-search-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  color: var(--tvs-sidebar-text, #c9cdd6);
  text-decoration: none;
  font-size: 12px;
  transition: background .12s;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.sb-search-result-item:hover,
.sb-search-result-item.focused {
  background: rgba(255,255,255,.08);
  color: #fff;
}
.sb-search-result-item i {
  font-size: 11px;
  width: 14px;
  text-align: center;
  opacity: .7;
  flex-shrink: 0;
}
.sb-search-empty {
  padding: 16px 14px;
  font-size: 11px;
  color: var(--tvs-gray-500, #6b7585);
  text-align: center;
}

/* ─── Clr button na busca da sidebar ─── */
.sb-search-clr {
  display: none;
  background: none;
  border: none;
  color: var(--tvs-gray-400, #9aa3b0);
  cursor: pointer;
  padding: 2px 4px;
  font-size: 11px;
  border-radius: 4px;
  transition: color .12s;
}
.sb-search-clr.visible {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sb-search-clr:hover {
  color: #fff;
}

/* ─── KBD hint ─── */
.sb-search-kbd {
  font-size: 9px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 4px;
  padding: 1px 5px;
  color: var(--tvs-gray-400, #9aa3b0);
  font-family: var(--tvs-font-mono, monospace);
  flex-shrink: 0;
}

/* ────────────────────────────────────────────────────────────────────────────
   FIX 3 — DROPS DO HEADER (notif, fav, cart, mosaic, user)
   ─────────────────────────────────────────────────────────────────────────── */

.tvs-icon-btn-wrap {
  position: relative;
}
.tvs-action-drop {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  min-width: 320px !important;
  background: var(--drop-bg, #161b22) !important;
  border: 1px solid var(--drop-border, rgba(255,255,255,.09)) !important;
  border-radius: var(--tvs-radius-lg, 12px) !important;
  box-shadow: var(--drop-shadow, 0 10px 40px rgba(0,0,0,.35)) !important;
  z-index: 99999 !important;
  display: none !important;
  animation: tvs-scale-in .18s ease !important;
  overflow: hidden !important;
  max-height: 520px !important;
  overflow-y: auto !important;
}
.tvs-action-drop.open {
  display: block !important;
}

/* Mosaic drop */
.tvs-mosaic-drop {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  min-width: 280px !important;
  background: var(--drop-bg, #161b22) !important;
  border: 1px solid var(--drop-border, rgba(255,255,255,.09)) !important;
  border-radius: var(--tvs-radius-lg, 12px) !important;
  box-shadow: var(--drop-shadow, 0 10px 40px rgba(0,0,0,.35)) !important;
  z-index: 99999 !important;
  display: none !important;
  overflow: hidden !important;
  max-height: 480px !important;
  overflow-y: auto !important;
}
.tvs-mosaic-drop.open {
  display: block !important;
}

/* User drop */
.tvs-nav-user-drop {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  width: 320px !important;
  background: var(--drop-bg, #161b22) !important;
  border: 1px solid var(--drop-border, rgba(255,255,255,.09)) !important;
  border-radius: var(--tvs-radius-xl, 16px) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.5) !important;
  z-index: 99999 !important;
  display: none !important;
  overflow: hidden !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
}
.tvs-nav-user-drop.open {
  display: block !important;
  animation: tvs-scale-in .2s ease !important;
}

/* Drop head */
.tvs-drop-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--drop-border, rgba(255,255,255,.06));
}
.tvs-drop-head h4 {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--drop-tx, #e6edf3);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Drop list */
.tvs-drop-list {
  max-height: 360px;
  overflow-y: auto;
}

/* Drop empty */
.tvs-drop-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 32px 16px;
  color: var(--drop-tx2, #8b949e);
  font-size: 12px;
  text-align: center;
}
.tvs-drop-empty i {
  font-size: 24px;
  opacity: .4;
}

/* Drop item */
.tvs-drop-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  text-decoration: none;
  color: var(--drop-tx, #e6edf3);
  font-size: 12.5px;
  transition: background .12s;
  border-bottom: 1px solid var(--drop-border, rgba(255,255,255,.04));
  position: relative;
}
.tvs-drop-item:hover {
  background: rgba(255,255,255,.05);
}

/* Drop item rich */
.tvs-drop-item-rich {
  align-items: flex-start;
  padding: 10px 14px;
}
.tvs-drop-item-thumb {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.tvs-drop-item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}
.tvs-drop-item-thumb-fb {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.tvs-drop-item-info {
  flex: 1;
  min-width: 0;
}
.tvs-drop-item-nome {
  font-size: 12px;
  font-weight: 600;
  color: var(--drop-tx, #e6edf3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tvs-drop-item-sub {
  font-size: 10.5px;
  color: var(--drop-tx2, #8b949e);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tvs-drop-item-stars {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-top: 2px;
  color: #f59e0b;
  font-size: 10px;
}
.tvs-drop-item-stars span {
  font-size: 10px;
  font-weight: 700;
  color: var(--drop-tx2, #8b949e);
}
.tvs-drop-item-price {
  margin-top: 3px;
  font-size: 10.5px;
}
.tvs-drop-price-free {
  color: #10b981;
  font-weight: 700;
}
.tvs-drop-price-paid {
  color: #60a5fa;
  font-weight: 700;
}
.tvs-drop-price-paid small {
  font-weight: 400;
  color: var(--drop-tx2, #8b949e);
  font-size: 9px;
}
.tvs-drop-item-action {
  color: var(--drop-tx2, #8b949e);
  font-size: 10px;
  flex-shrink: 0;
  align-self: center;
}
.tvs-drop-item-remove {
  background: none;
  border: none;
  color: var(--drop-tx2, #8b949e);
  cursor: pointer;
  font-size: 11px;
  padding: 4px 6px;
  border-radius: 4px;
  flex-shrink: 0;
  align-self: center;
  transition: all .12s;
}
.tvs-drop-item-remove:hover {
  background: rgba(239,68,68,.12);
  color: #ef4444;
}

/* Drop footer */
.tvs-drop-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-top: 1px solid var(--drop-border, rgba(255,255,255,.06));
}
.tvs-drop-footer a {
  font-size: 11.5px;
  color: var(--tvs-blue, #1565C0);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
}
.tvs-drop-footer a:hover {
  color: #60a5fa;
}

/* Notif mark all btn */
.tvs-notif-markall {
  background: none;
  border: none;
  color: var(--tvs-blue, #1565C0);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  padding: 3px 8px;
  border-radius: 6px;
  transition: background .12s;
}
.tvs-notif-markall:hover {
  background: rgba(21,101,192,.1);
}

/* Notif item */
.tvs-notif-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 1px solid var(--drop-border, rgba(255,255,255,.04));
  transition: background .12s;
  position: relative;
}
.tvs-notif-item:hover {
  background: rgba(21,101,192,.06);
}
.tvs-notif-item.lida {
  opacity: .6;
}
.tvs-notif-ico {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
}
.tvs-notif-body {
  flex: 1;
  min-width: 0;
}
.tvs-notif-titulo {
  font-size: 12px;
  font-weight: 600;
  color: var(--drop-tx, #e6edf3);
  line-height: 1.4;
}
.tvs-notif-tempo {
  font-size: 10px;
  color: var(--drop-tx2, #8b949e);
  margin-top: 3px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.tvs-notif-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3b82f6;
  flex-shrink: 0;
  align-self: center;
}
.tvs-notif-item.lida .tvs-notif-dot {
  display: none;
}

/* Badge do ícone */
.tvs-icon-badge {
  position: absolute;
  top: 3px;
  right: 3px;
  min-width: 14px;
  height: 14px;
  background: #ef4444;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  border: 1.5px solid rgba(0,0,0,.25);
  line-height: 1;
  animation: tvs-badgePulse 2s ease infinite;
}

/* ────────────────────────────────────────────────────────────────────────────
   FIX 4 — MOSAIC GRID
   ─────────────────────────────────────────────────────────────────────────── */
.tvs-mosaic-drop-head {
  font-size: 10px;
  font-weight: 700;
  color: var(--drop-tx2, #8b949e);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 10px 14px 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid var(--drop-border, rgba(255,255,255,.06));
}
.tvs-mosaic-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 8px;
}
.tvs-mosaic-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 10px 6px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--drop-tx2, #8b949e);
  font-size: 10px;
  font-weight: 500;
  text-align: center;
  transition: all .12s;
  cursor: pointer;
}
.tvs-mosaic-item:hover,
.tvs-mosaic-item.is-active {
  background: rgba(21,101,192,.1);
  color: var(--tvs-blue, #1565C0);
}
.tvs-mosaic-ico {
  font-size: 18px;
}

/* ────────────────────────────────────────────────────────────────────────────
   FIX 5 — MENU BUTTONS DO HEADER (plataforma)
   ─────────────────────────────────────────────────────────────────────────── */

/* Subnav — alinhado com CSS global */
.tvs-subnav {
  position: sticky;
  top: 50px;
  left: 0;
  right: 0;
  z-index: 100;
  height: 40px;
  background: var(--bg-subnav, var(--tvs-blue-dark, #0d47a1));
  border-bottom: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  padding: 0 14px;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  transition: left var(--trans-slow, .28s cubic-bezier(.4,0,.2,1));
}
.tvs-subnav::-webkit-scrollbar { display: none; }
.tvs-sub-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.75);
  text-decoration: none;
  white-space: nowrap;
  transition: all .15s;
  border-bottom: 2px solid transparent;
}
.tvs-sub-item:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.tvs-sub-item.active {
  background: rgba(255,255,255,.15);
  color: #fff;
  border-bottom-color: rgba(255,255,255,.9);
}
.tvs-sub-sep {
  width: 1px;
  height: 18px;
  background: rgba(255,255,255,.15);
  flex-shrink: 0;
  margin: 0 3px;
  align-self: center;
}
.tvs-sub-page-name {
  font-size: 12px;
  color: rgba(255,255,255,.65);
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tvs-sub-notif-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  background: #ef4444;
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  border-radius: 8px;
  margin-left: 4px;
}

/* Menu buttons */
.tvs-menu-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  max-width: 80px;
  height: 50px;
  padding: 4px 8px;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.78);
  cursor: pointer;
  font-size: 10px;
  font-weight: 500;
  font-family: inherit;
  transition: all .15s;
  position: relative;
  border-radius: 0;
  flex-shrink: 0;
  text-decoration: none;
}
.tvs-menu-btn .tvs-ico {
  font-size: 17px;
  margin-bottom: 2px;
  line-height: 1;
}
.tvs-menu-btn .tvs-lbl {
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 68px;
  width: 100%;
  text-align: center;
}
.tvs-menu-btn:hover,
.tvs-menu-btn.is-active,
.tvs-menu-btn.sub-open {
  color: #fff;
  background: rgba(255,255,255,.1);
}
.tvs-menu-btn::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2.5px;
  background: rgba(255,255,255,.9);
  border-radius: 2px 2px 0 0;
  transition: width .2s;
}
.tvs-menu-btn.is-active::after,
.tvs-menu-btn.sub-open::after {
  width: 70%;
}
.tvs-menu-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  min-width: 14px;
  height: 14px;
  font-size: 8px;
  font-weight: 800;
  padding: 0 3px;
  border-radius: 8px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.tvs-menu-sep {
  width: 1px;
  height: 20px;
  background: rgba(255,255,255,.1);
  flex-shrink: 0;
  align-self: center;
  margin: 0 2px;
}
.tvs-menu-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  height: 50px;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.6);
  cursor: pointer;
  transition: all .15s;
}
.tvs-menu-chevron:hover,
.tvs-menu-chevron.sub-open {
  color: #fff;
}
.tvs-menu-group {
  display: flex;
  align-items: center;
}

/* ────────────────────────────────────────────────────────────────────────────
   FIX 6 — PROGRESS BAR TOPO
   ─────────────────────────────────────────────────────────────────────────── */
.tvs-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 2.5px;
  background: linear-gradient(90deg, var(--tvs-accent, #E87722), var(--tvs-blue, #1565C0));
  z-index: 99999;
  width: 0%;
  transition: width .1s linear;
  border-radius: 0 2px 2px 0;
}

/* ────────────────────────────────────────────────────────────────────────────
   FIX 7 — TRIAL BADGE
   ─────────────────────────────────────────────────────────────────────────── */
.tvs-nav-trial-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: linear-gradient(135deg, #E87722, #f59e0b);
  border-radius: var(--tvs-radius-full, 9999px);
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: all .15s;
  box-shadow: 0 2px 8px rgba(232,119,34,.35);
}
.tvs-nav-trial-badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(232,119,34,.45);
}

/* Login button */
.tvs-btn-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.35);
  background: transparent;
  color: rgba(255,255,255,.85);
  cursor: pointer;
  font-size: 18px;
  transition: all .15s;
}
.tvs-btn-login:hover {
  border-color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.12);
  color: #fff;
}

/* Mobile menu btn */
.tvs-mobile-menu-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.8);
  cursor: pointer;
  font-size: 14px;
}
@media (max-width: 600px) {
  .tvs-mobile-menu-btn {
    display: flex;
  }
  .tvs-mobile-search-btn {
    display: flex !important;
  }
  .tvs-menus,
  .tvs-nav-header-inline {
    display: none !important;
  }
}
.tvs-mobile-search-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: rgba(255,255,255,.8);
  cursor: pointer;
  font-size: 15px;
}

/* Mobile dropdown */
.tvs-mobile-dropdown {
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  background: #161b22;
  border-bottom: 1px solid rgba(255,255,255,.08);
  z-index: 199;
  display: none;
  padding: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.4);
}
.tvs-mobile-dropdown.open {
  display: block;
  animation: tvs-fadeInDown .18s ease;
}
.tvs-mobile-menu-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}
.tvs-mobile-menu-grid a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 4px;
  border-radius: 8px;
  text-decoration: none;
  color: rgba(255,255,255,.75);
  font-size: 10px;
  text-align: center;
  transition: background .12s;
}
.tvs-mobile-menu-grid a:hover {
  background: rgba(255,255,255,.08);
  color: #fff;
}
.tvs-mobile-menu-grid a i {
  font-size: 18px;
}
.tvs-mobile-trial {
  text-align: center;
  padding: 8px;
  font-size: 12px;
  color: #f59e0b;
  border-top: 1px solid rgba(255,255,255,.06);
  margin-top: 4px;
}

/* ────────────────────────────────────────────────────────────────────────────
   FIX 8 — USER DROP PREMIUM (tvsp-)
   ─────────────────────────────────────────────────────────────────────────── */
.tvs-nav-user {
  position: relative;
}
.tvs-nav-user-avatar {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 3px;
  border-radius: var(--tvs-radius-full, 9999px);
  transition: background .15s;
}
.tvs-nav-user-avatar:hover,
.tvs-nav-user-avatar.is-active {
  background: rgba(255,255,255,.1);
}
.tvs-nav-user-foto,
.tvs-nav-user-iniciais {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex-shrink: 0;
}
.tvs-nav-user-foto {
  object-fit: cover;
  border: 1.5px solid rgba(255,255,255,.3);
}
.tvs-nav-user-iniciais {
  background: linear-gradient(135deg, var(--tvs-blue, #1565C0), var(--tvs-blue-light, #1e88e5));
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid rgba(255,255,255,.3);
}
.tvs-nav-user-chev {
  font-size: 10px;
  color: rgba(255,255,255,.6);
  transition: transform .2s;
}
.tvs-nav-user-avatar.open .tvs-nav-user-chev {
  transform: rotate(180deg);
}

/* User drop items */
.tvs-nav-user-drop-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  color: var(--drop-tx, #e6edf3);
  text-decoration: none;
  font-size: 12.5px;
  transition: background .12s;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.tvs-nav-user-drop-item:hover,
.tvs-nav-user-drop-item.is-active {
  background: rgba(255,255,255,.06);
}
.tvs-nav-user-drop-item i {
  font-size: 13px;
  width: 16px;
  text-align: center;
}
.tvs-nav-user-drop-sair {
  color: #ef4444 !important;
  border-top: 1px solid rgba(239,68,68,.2) !important;
}
.tvs-nav-user-drop-sair:hover {
  background: rgba(239,68,68,.08) !important;
}

/* Premium user drop sections */
.tvsp-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(21,101,192,.15), rgba(21,101,192,.05));
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tvsp-hd-avatar {
  position: relative;
  flex-shrink: 0;
}
.tvsp-hd-foto,
.tvsp-hd-iniciais {
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
.tvsp-hd-foto {
  object-fit: cover;
  border: 2px solid rgba(255,255,255,.25);
}
.tvsp-hd-iniciais {
  background: linear-gradient(135deg, var(--tvs-blue, #1565C0), #1e88e5);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,.25);
}
.tvsp-hd-online {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #10b981;
  border: 2px solid #161b22;
}
.tvsp-hd-crown {
  position: absolute;
  top: -6px;
  right: -6px;
  font-size: 12px;
  color: #f59e0b;
}
.tvsp-hd-info {
  flex: 1;
  min-width: 0;
}
.tvsp-hd-nome {
  font-size: 13px;
  font-weight: 700;
  color: var(--drop-tx, #e6edf3);
  display: flex;
  align-items: center;
  gap: 6px;
}
.tvsp-hd-tag {
  font-size: 8px;
  font-weight: 800;
  padding: 1px 6px;
  border-radius: 4px;
  background: linear-gradient(90deg, #f59e0b, #ea580c);
  color: #fff;
}
.tvsp-hd-email {
  font-size: 10.5px;
  color: var(--drop-tx2, #8b949e);
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tvsp-hd-perfil {
  font-size: 10px;
  color: var(--drop-tx2, #8b949e);
  margin-top: 3px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.tvsp-stats {
  display: flex;
  padding: 8px 16px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tvsp-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 4px 0;
  border-right: 1px solid rgba(255,255,255,.06);
}
.tvsp-stat:last-child {
  border-right: none;
}
.tvsp-stat i {
  font-size: 11px;
  color: var(--tvs-blue, #1565C0);
}
.tvsp-stat span {
  font-size: 9px;
  color: var(--drop-tx2, #8b949e);
}
.tvsp-stat strong {
  font-size: 11px;
  font-weight: 700;
  color: var(--drop-tx, #e6edf3);
}
.tvsp-saldo-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--drop-tx, #e6edf3);
  background: rgba(16,185,129,.05);
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: background .12s;
}
.tvsp-saldo-row:hover {
  background: rgba(16,185,129,.1);
}
.tvsp-saldo-row > i {
  font-size: 16px;
  color: #10b981;
  flex-shrink: 0;
}
.tvsp-saldo-left {
  flex: 1;
}
.tvsp-saldo-lbl {
  font-size: 9px;
  color: var(--drop-tx2, #8b949e);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.tvsp-saldo-val {
  display: flex;
  align-items: center;
  gap: 6px;
}
.tvsp-saldo-num {
  font-size: 14px;
  font-weight: 800;
  color: #10b981;
}
.tvsp-saldo-eye {
  font-size: 11px;
  color: var(--drop-tx2, #8b949e);
  cursor: pointer;
}
.tvsp-saldo-val.hidden .tvsp-saldo-num {
  color: transparent;
  text-shadow: 0 0 8px rgba(16,185,129,.8);
  user-select: none;
}
.tvsp-quick {
  display: flex;
  gap: 4px;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tvsp-qbtn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 7px 4px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: var(--drop-tx2, #8b949e);
  font-size: 10px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: all .12s;
}
.tvsp-qbtn:hover {
  background: rgba(21,101,192,.12);
  border-color: rgba(21,101,192,.25);
  color: #60a5fa;
}
.tvsp-qbtn i {
  font-size: 14px;
}
.tvsp-progress {
  padding: 8px 16px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tvsp-prog-label {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: var(--drop-tx2, #8b949e);
  margin-bottom: 6px;
}
.tvsp-prog-track {
  height: 4px;
  background: rgba(255,255,255,.08);
  border-radius: 2px;
  overflow: hidden;
}
.tvsp-prog-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--tvs-blue, #1565C0), #60a5fa);
  border-radius: 2px;
  transition: width .6s ease;
}
.tvsp-menu-wrap {
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tvsp-features {
  display: flex;
  gap: 4px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tvsp-feat {
  flex: 1;
  font-size: 9px;
  color: var(--drop-tx2, #8b949e);
  display: flex;
  align-items: center;
  gap: 4px;
}
.tvsp-feat i {
  color: #10b981;
  font-size: 10px;
}
.tvsp-footer {
  display: flex;
  gap: 4px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tvsp-foot-link {
  flex: 1;
  font-size: 11px;
  color: var(--drop-tx2, #8b949e);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: color .12s;
}
.tvsp-foot-link:hover {
  color: #60a5fa;
}
.tvsp-badge-novo {
  font-size: 8px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  background: linear-gradient(90deg, #7c3aed, #4f46e5);
  color: #fff;
}

/* ────────────────────────────────────────────────────────────────────────────
   FIX 9 — RESPONSIVE
   ─────────────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .tvs-action-drop {
    position: fixed !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    border-radius: 16px 16px 0 0 !important;
    max-height: 85vh !important;
    animation: tvs-sheetUp .25s ease !important;
  }
  .tvs-nav-user-drop {
    position: fixed !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    border-radius: 16px 16px 0 0 !important;
    max-height: 90vh !important;
  }
  .tvs-mosaic-drop {
    position: fixed !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: unset !important;
    border-radius: 16px 16px 0 0 !important;
    max-height: 75vh !important;
  }
  .tvs-nav-search-drop {
    position: fixed !important;
    top: 52px !important;
    bottom: auto !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
  }
}

/* =============================================================================
   LAYOUT FIXO - tvs-layoutfix
   ============================================================================= */
.tvs-layoutfix {
    display: flex;
    height: calc(100vh - 50px); /* 50px = altura do topbar */
    overflow: hidden;
    position: relative;
    top: 50px;
}

.tvs-layoutfix .tvs-sidebar {
    height: 100%;
    overflow-y: auto;
    flex-shrink: 0;
    position: sticky;
    top: 0;
}

.tvs-layoutfix .tvs-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
}

.tvs-layoutfix .tvs-header {
    flex-shrink: 0;
}

.tvs-layoutfix .tvs-toolbar {
    flex-shrink: 0;
}

.tvs-layoutfix .tvs-content-scroll {
    flex: 1;
    overflow-y: auto;
    padding: var(--tvs-sp-4);
}

.tvs-layoutfix .tvs-footer-fixo {
    flex-shrink: 0;
    padding: var(--tvs-sp-2) var(--tvs-sp-4);
    border-top: 1px solid var(--tvs-border);
    background: var(--tvs-gray-700);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--tvs-fs-xs);
    color: var(--tvs-text-muted);
}

/* Ajuste do scrollbar */
.tvs-layoutfix .tvs-content-scroll::-webkit-scrollbar {
    width: 6px;
}
.tvs-layoutfix .tvs-content-scroll::-webkit-scrollbar-track {
    background: transparent;
}
.tvs-layoutfix .tvs-content-scroll::-webkit-scrollbar-thumb {
    background: var(--tvs-gray-300);
    border-radius: var(--tvs-radius-full);
}
.tvs-layoutfix .tvs-content-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--tvs-gray-400);
}

/* Responsividade */
@media (max-width: 768px) {
    .tvs-layoutfix .tvs-sidebar {
        display: none;
    }
    .tvs-layoutfix {
        height: calc(100vh - 50px);
    }
}
