/* ============================================================
   NEXUS v6.0 — R2 Telecomunicações
   Redesign moderno: fundo neutro, elementos flutuantes,
   pills arredondados, tabela limpa, identidade R2
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --sidebar-bg:#1F2326;--sidebar-footer:#181b1e;--sidebar-border:rgba(255,255,255,0.05);
  --sidebar-w:256px;--sidebar-w-collapsed:80px;
  --r2:#940910;--r2-hover:#7a060c;--r2-gold:#F2A20C;--r2-dark:#1F2326;
  --bg:#F3F4F8;--bg-card:#fff;
  --text-dark:#1F2326;--text-body:#3d4356;--text-secondary:#64748b;--text-muted:#94a3b8;--text-light:#a0a8b8;
  --c-ok:#22a756;--c-ok-bg:#dcfce7;--c-warn:#a16207;--c-warn-bg:#fef9c3;
  --c-danger:#b91c1c;--c-danger-bg:#fee2e2;--c-orange:#c2410c;--c-orange-bg:#ffedd5;
  --c-info:#2563eb;--c-info-bg:#eef3ff;
  --border:#e2e5eb;--border-light:#EDEFF3;--border-subtle:#F0F2F5;
  --shadow:0 1px 6px rgba(0,0,0,0.04);--shadow-lg:0 4px 14px rgba(0,0,0,0.07);
  --shadow-r2:0 3px 10px rgba(148,9,16,0.2);--shadow-table:0 2px 10px rgba(0,0,0,0.04);
  --radius:14px;--radius-sm:8px;--radius-pill:12px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono',monospace;
  --zebra-light:#fff;--zebra-dark:#F5F6F9;--hover-row:#F8F0F1;
  --sep-col:#ECEEF2;--reg-bg:#F0F1F4;--reg-border:#CDD1D9;
}
html{font-size:16px;}
body{font-family:var(--font);background:var(--bg);color:var(--text-dark);min-height:100vh;-webkit-font-smoothing:antialiased;display:flex;}

/* ============================================================
   SIDEBAR
   ============================================================ */
.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;z-index:200;box-shadow:4px 0 24px rgba(0,0,0,0.15);transition:width .3s ease;overflow:hidden;}
.sidebar.collapsed{width:var(--sidebar-w-collapsed);}
.sidebar-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:50%;display:none;z-index:10;}.sidebar-close:hover{background:rgba(255,255,255,0.1);}.sidebar-close svg{width:20px;height:20px;}
.sidebar-collapse-btn{position:absolute;top:24px;right:-14px;width:28px;height:28px;background:var(--r2);color:#fff;border:none;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(148,9,16,0.3);z-index:210;}.sidebar-collapse-btn:hover{background:var(--r2-hover);}.sidebar-collapse-btn svg{width:16px;height:16px;}.sidebar.collapsed .sidebar-collapse-btn svg{transform:rotate(180deg);}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:24px 20px 20px;border-bottom:1px solid var(--sidebar-border);}.sidebar-logo-wrap{background:#fff;padding:6px;border-radius:var(--radius-sm);box-shadow:0 2px 6px rgba(0,0,0,0.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.sidebar-logo{height:28px;width:auto;}.sidebar-brand-text{overflow:hidden;white-space:nowrap;}.sidebar-title{font-size:20px;font-weight:800;color:#fff;letter-spacing:-0.3px;line-height:1.1;}.sidebar-subtitle{font-size:9px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.8px;margin-top:3px;}.sidebar.collapsed .sidebar-brand-text{display:none;}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:24px 8px 20px;}
.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px;}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;border-radius:var(--radius-sm);background:transparent;color:rgba(255,255,255,0.45);font-family:var(--font);font-size:14px;font-weight:500;cursor:pointer;text-align:left;width:100%;white-space:nowrap;}.sidebar-item svg{width:20px;height:20px;stroke-width:1.8;flex-shrink:0;}.sidebar-item:hover{background:rgba(255,255,255,0.05);color:#fff;}.sidebar-item.active{background:var(--r2);color:#fff;font-weight:700;box-shadow:var(--shadow-r2);}.sidebar.collapsed .sidebar-item{justify-content:center;padding:12px;}.sidebar.collapsed .sidebar-item span{display:none;}
.sidebar-footer{padding:16px;border-top:1px solid var(--sidebar-border);background:var(--sidebar-footer);}.sidebar-status{display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,0.5);margin-bottom:14px;}.status-dot{width:8px;height:8px;border-radius:50%;background:#4CAF50;animation:pulse 2s ease-in-out infinite;flex-shrink:0;}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);cursor:pointer;}.sidebar-user:hover{background:rgba(255,255,255,0.05);}.sidebar-user-avatar{width:36px;height:36px;border-radius:50%;background:var(--r2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;border:2px solid #fff;flex-shrink:0;}.sidebar-user-name{font-size:13px;font-weight:700;color:#fff;}.sidebar-user-role{font-size:10px;font-weight:700;color:var(--r2-gold);text-transform:uppercase;letter-spacing:0.5px;}.sidebar.collapsed .sidebar-user-info{display:none;}.sidebar.collapsed .sidebar-status span{display:none;}.sidebar.collapsed .sidebar-footer{padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:10px;}.sidebar.collapsed .sidebar-user{padding:0;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:150;}.sidebar-overlay.visible{display:block;}

/* ============================================================
   MOBILE TOPBAR
   ============================================================ */
.topbar-mobile{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--r2);align-items:center;padding:0 16px;z-index:100;}.hamburger{background:none;border:none;color:#fff;cursor:pointer;padding:4px;}.hamburger svg{width:24px;height:24px;}.topbar-title{flex:1;margin-left:12px;font-size:17px;font-weight:800;color:#fff;}.topbar-status{display:flex;align-items:center;gap:5px;font-size:11px;color:rgba(255,255,255,0.75);}

/* ============================================================
   MAIN LAYOUT
   ============================================================ */
.main-wrapper{margin-left:var(--sidebar-w);flex:1;min-height:100vh;transition:margin-left .3s ease;}
.main-wrapper.shifted{margin-left:var(--sidebar-w-collapsed);}
.page-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px 0;}
.page-title{font-size:22px;font-weight:800;color:var(--text-dark);letter-spacing:-0.5px;}
.page-date{font-size:11px;color:var(--text-muted);font-weight:500;background:#fff;padding:6px 14px;border-radius:20px;box-shadow:var(--shadow);}

/* ============================================================
   SUB-TABS — texto grande, underline bordô, sem caixa
   ============================================================ */
.sub-tabs{display:flex;gap:28px;padding:18px 28px 0;border-bottom:1px solid var(--border);}
.sub-tab{padding:0 0 12px;font-size:15px;font-weight:500;color:var(--text-light);background:none;border:none;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;letter-spacing:-0.1px;}
.sub-tab:hover{color:var(--text-secondary);}
.sub-tab.active{color:var(--r2);font-weight:700;border-bottom-color:var(--r2);}

/* ============================================================
   FILTROS — barra branca com segmento pills
   ============================================================ */
.filters-bar{display:flex;align-items:center;gap:8px;padding:14px 28px;background:#fff;border-bottom:1px solid var(--border);}
.filter-label{font-size:13px;font-weight:600;color:var(--text-secondary);}
.filter-btn{padding:6px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;border:1.5px solid var(--border);background:#fff;color:var(--text-light);cursor:pointer;font-family:var(--font);}
.filter-btn:hover{border-color:var(--r2);color:var(--r2);}
.filter-btn.active{background:var(--r2);color:#fff;border-color:var(--r2);}

/* ============================================================
   CONTEÚDO + VISÃO TOGGLE
   ============================================================ */
.tab-content{display:none;}.tab-content.active{display:block;animation:fadeIn .2s ease-out;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
.panel-body{padding:20px 28px 28px;max-width:1600px;}

.visao-toggle{display:flex;gap:8px;margin-bottom:18px;}
.visao-btn{padding:9px 22px;border-radius:var(--radius-pill);font-size:13px;font-weight:700;border:2px solid var(--border);background:#fff;color:var(--text-secondary);cursor:pointer;font-family:var(--font);box-shadow:0 1px 3px rgba(0,0,0,0.03);}
.visao-btn:hover{border-color:var(--r2);color:var(--r2);}
.visao-btn.active{background:var(--r2);color:#fff;border-color:var(--r2);box-shadow:var(--shadow-r2);}

/* ============================================================
   CARDS — modernos com ícone + accent top
   ============================================================ */
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
.prod-cards{grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:22px;}
.metric-card{background:var(--bg-card);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;border-top:3px solid transparent;transition:box-shadow .15s;}
.metric-card:hover{box-shadow:var(--shadow-lg);}
.metric-card[data-color="green"]{border-top-color:var(--c-ok);}
.metric-card[data-color="red"]{border-top-color:var(--c-danger);}
.metric-card[data-color="yellow"]{border-top-color:var(--r2-gold);}
.metric-card[data-color="blue"]{border-top-color:var(--c-info);}
.metric-card[data-color="bordo"]{border-top-color:var(--r2);}
.metric-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.ico-green{background:var(--c-ok-bg);color:var(--c-ok);}
.ico-red{background:var(--c-danger-bg);color:var(--c-danger);}
.ico-amber{background:#fff4e0;color:var(--r2-gold);}
.ico-blue{background:var(--c-info-bg);color:var(--c-info);}
.ico-neutral{background:#f0f1f4;color:#5a6478;}
.ico-bordo{background:#fce8e9;color:var(--r2);}
.metric-body{flex:1;min-width:0;}
.metric-label{font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:2px;}
.metric-value{font-size:20px;font-weight:800;color:var(--text-dark);font-family:var(--mono);letter-spacing:-0.5px;line-height:1.1;}
.metric-value.green{color:var(--c-ok);}.metric-value.red{color:var(--c-danger);}.metric-value.yellow{color:var(--r2-gold);}.metric-value.blue{color:var(--c-info);}
.metric-detail{font-size:9px;color:var(--text-light);margin-top:1px;}

/* ============================================================
   TABELA — moderna, flutuante, limpa
   ============================================================ */
.section-title{font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.section-title::before{content:'';display:inline-block;width:4px;height:16px;background:var(--r2);border-radius:2px;}
.table-scroll-wrapper{background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-table);overflow:hidden;margin-bottom:20px;}
.table-scroll-inner{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:1250px;}

/* Títulos blocos */
.tp-grp td{padding:8px 6px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.6px;text-align:center;}
.tg-blank{background:#fff;color:transparent;}
.tg-media{background:var(--r2-gold);color:#5a3e00;}
.tg-visao{background:var(--r2-dark);color:#fff;}
.tg-inj{background:var(--r2);color:#fff;}
.tg-div{background:var(--sep-col);width:4px;padding:0!important;}

/* Cabeçalhos */
.tp-hdr td{padding:3px 6px;font-size:9px;font-weight:700;text-transform:uppercase;color:#7a8194;text-align:center;letter-spacing:0.3px;line-height:1.3;border-bottom:2px solid var(--border-light);background:#FAFBFD;}
.th-prod{color:var(--r2);font-weight:800;}
.th-div{background:var(--sep-col);width:4px;border-bottom:2px solid var(--sep-col)!important;padding:0!important;}

/* Linhas de dados */
.tp-r{transition:background .1s;}
.tp-r td{padding:3px 3px;text-align:center;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--text-body);border-bottom:1px solid var(--border-subtle);}
.tp-r:hover td{background:var(--hover-row)!important;}
.tp-r:hover .zb{background:var(--hover-row)!important;}
.tp-r:hover .sk{background:var(--hover-row)!important;}
.td-dv{background:var(--sep-col)!important;width:4px;border-bottom:1px solid var(--sep-col)!important;padding:0!important;}

/* Nome da filial */
.td-fl{text-align:left!important;padding-left:8px!important;font-family:var(--font)!important;font-weight:600;font-size:12px;color:var(--text-dark);white-space:nowrap;}
/* HC columns */
.td-sm{color:var(--text-light);font-size:11px;}

/* Zebra clusters (só HC PCP, HC Ativo, Filial) */
.zc{background:var(--zebra-light);}
.ze{background:var(--zebra-dark);}
td.zc.sk{background:var(--zebra-light)!important;}
td.ze.sk{background:var(--zebra-dark)!important;}

/* Cells neutras */
.td-n{color:var(--text-body);}

/* Formatação condicional — pills arredondados */
.cf-mv{color:#15803d;background:var(--c-ok-bg);border-radius:6px;font-weight:700;padding:2px 5px;}
.cf-ma{color:var(--c-warn);background:var(--c-warn-bg);border-radius:6px;font-weight:700;padding:2px 5px;}
.cf-mr{color:var(--c-danger);background:var(--c-danger-bg);border-radius:6px;padding:2px 5px;}
.cf-pv{color:#15803d;background:var(--c-ok-bg);border-radius:6px;font-weight:700;padding:2px 5px;}
.cf-ev{color:#15803d;background:var(--c-ok-bg);border-radius:6px;font-weight:700;padding:2px 5px;}
.cf-evc{color:#3f6212;background:#ecfccb;border-radius:6px;font-weight:700;padding:2px 5px;}
.cf-ea{color:var(--c-warn);background:var(--c-warn-bg);border-radius:6px;font-weight:700;padding:2px 5px;}
.cf-eo{color:var(--c-orange);background:var(--c-orange-bg);border-radius:6px;font-weight:700;padding:2px 5px;}
.cf-er{color:var(--c-danger);background:var(--c-danger-bg);border-radius:6px;font-weight:700;padding:2px 5px;}

/* Filiais sem dados */
.tp-dim td{color:#c8cdd6!important;}
.tp-dim .td-fl{color:#b0b8c4!important;}

/* REGIONAL — neutro cinza */
.tp-reg td{font-weight:700!important;color:var(--text-dark);font-size:11px;border-top:2px solid var(--reg-border);border-bottom:none;padding:10px 5px;background:var(--reg-bg)!important;text-align:center;}
.tp-reg .td-fl{font-weight:800;font-size:13px;color:var(--text-dark);}
.tp-reg .td-dv{background:#D8DBE2!important;border-top:2px solid var(--reg-border)!important;}
.tp-reg .td-n{color:var(--text-body);}
.tp-reg .sk{background:var(--reg-bg)!important;z-index:3;}

/* Sticky columns */
.sk{position:sticky;z-index:2;}
.sk0{left:0;min-width:44px;width:44px;}
.sk1{left:44px;min-width:52px;width:52px;}
.sk2{left:96px;min-width:175px;width:175px;}
.tp-grp .sk,.tp-hdr .sk{background:#FAFBFD;z-index:3;}
.tp-grp .sk{background:#fff;}
/* Freeze pane shadow */
.sk2{box-shadow:4px 0 12px -4px rgba(0,0,0,0.05);}

/* thead/tfoot sticky */
.data-table thead{position:sticky;top:0;z-index:4;}
.data-table tfoot{position:sticky;bottom:0;z-index:4;}

/* ============================================================
   TABS LEGADAS (Timing, Pendências, Supervisores, B2B)
   ============================================================ */
.highlight-card{background:var(--bg-card);border-radius:var(--radius);padding:20px;margin-bottom:20px;border:1px solid var(--border);box-shadow:var(--shadow);border-left:4px solid var(--r2);}.highlight-card .card-title{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:12px;}
.progress-bar{width:100%;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;margin-top:10px;}.progress-fill{height:100%;border-radius:4px;transition:width .6s ease-out;}.progress-fill.green{background:var(--c-ok);}
.legacy-table{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.legacy-table .table-header{display:grid;padding:11px 18px;font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:0.5px;background:var(--r2);}
.legacy-table .table-row{display:grid;padding:11px 18px;font-size:13px;border-bottom:1px solid var(--border-subtle);align-items:center;}
.legacy-table .table-row:last-child{border-bottom:none;}
.legacy-table .table-row:nth-child(even){background:#fafbfd;}
.legacy-table .table-row:hover{background:var(--hover-row);}
.table-filial .table-header,.table-filial .table-row{grid-template-columns:1.5fr repeat(4,1fr);gap:6px;text-align:right;}.table-filial .table-header>:first-child,.table-filial .table-row>:first-child{text-align:left;}
.table-supervisor .table-header,.table-supervisor .table-row{grid-template-columns:2fr repeat(3,1fr);gap:6px;text-align:right;}.table-supervisor .table-header>:first-child,.table-supervisor .table-row>:first-child{text-align:left;}
.table-pendencias .table-header,.table-pendencias .table-row{grid-template-columns:2fr 1fr 1fr;gap:6px;text-align:right;}.table-pendencias .table-header>:first-child,.table-pendencias .table-row>:first-child{text-align:left;}
.val-green{color:var(--c-ok);font-weight:700;}.val-red{color:var(--c-danger);font-weight:700;}.val-yellow{color:var(--c-warn);font-weight:700;}.val-blue{color:var(--c-info);font-weight:700;}.val-bold{font-weight:700;color:var(--text-dark);}

/* Timing bar */
.timing-bar{display:flex;width:100%;height:36px;border-radius:8px;overflow:hidden;margin:8px 0;}.timing-bar>div{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;transition:width .6s ease-out;min-width:0;}.timing-antes{background:var(--c-info);}.timing-no-prazo{background:var(--c-ok);}.timing-risco{background:var(--r2-gold);color:#000!important;}.timing-fora{background:var(--c-danger);}
.timing-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;}.timing-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary);font-weight:500;}.timing-legend-dot{width:10px;height:10px;border-radius:3px;}

/* ============================================================
   MISC
   ============================================================ */
.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted);font-size:14px;}.loading::before{content:'';width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--r2);border-radius:50%;animation:spin .8s linear infinite;margin-right:10px;}@keyframes spin{to{transform:rotate(360deg);}}
.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:13px;}
.last-update{text-align:center;font-size:11px;color:var(--text-muted);padding:20px 28px;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(min-width:769px){.sidebar-collapse-btn{display:flex;}}
@media(max-width:768px){
  .sidebar{position:fixed;transform:translateX(-100%);width:280px;}.sidebar.open{transform:translateX(0);}.sidebar-close{display:block;}
  .topbar-mobile{display:flex;}.main-wrapper{margin-left:0!important;padding-top:56px;}
  .page-header{padding:16px 16px 0;flex-direction:column;align-items:flex-start;gap:8px;}
  .sub-tabs{padding:14px 16px 0;gap:18px;overflow-x:auto;-webkit-overflow-scrolling:touch;}.sub-tabs::-webkit-scrollbar{display:none;}
  .filters-bar{padding:12px 16px;}
  .panel-body{padding:16px;}
  .page-title{font-size:20px;}
  .metrics-grid{grid-template-columns:1fr 1fr;}
  
  .last-update{padding:16px;}
  .visao-toggle{gap:6px;}.visao-btn{padding:7px 16px;font-size:12px;}
}
@media(min-width:769px)and(max-width:1100px){.metrics-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1101px){.metrics-grid{grid-template-columns:repeat(4,1fr);}}


/* === NEXUS v14 — Cards Redesign === */
.prod-cards-new{display:grid;grid-template-columns:2fr 2fr 1.2fr 1.2fr 1.2fr;gap:10px;margin-bottom:16px;align-items:start;}
.pc-row-big{display:contents;}
.pc-row-small{display:contents;}
.pc14{background:var(--bg-card);border:0.5px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.pc14s{background:var(--bg-card);border:0.5px solid var(--border);border-radius:12px;padding:10px 12px;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.pc14-top{display:flex;justify-content:space-between;align-items:flex-start;}
.pc14-label{font-size:12px;color:var(--text-muted);font-weight:600;}
.pc14-num{font-size:24px;font-weight:500;line-height:1.1;margin:6px 0;color:var(--text-body);}
.pc14-sub{font-size:11px;color:var(--text-muted2);}
.pc14-badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:12px;font-weight:500;}
.pc14-bg{background:#E2EFDA;color:#2e5a1c;}
.pc14-br{background:#FCE4EC;color:#791F1F;}
.pc14-by{background:#FFF2CC;color:#7a5a00;}
.pc14-bar{margin-top:8px;height:6px;background:var(--bg-body);border-radius:4px;overflow:hidden;}
.pc14-bar-flex{display:flex;height:100%;}
.pc14-legend{display:flex;gap:8px;margin-top:4px;font-size:10px;color:var(--text-muted2);}
.pc14-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:3px;}
.pc14-proj{margin-top:8px;padding:6px 8px;background:var(--bg-body);border-radius:8px;display:flex;justify-content:space-between;align-items:center;}
.pc14-proj-item{text-align:center;flex:1;}
.pc14-proj-lbl{font-size:9px;color:var(--text-muted2);}
.pc14-proj-v{font-size:12px;font-weight:500;margin-top:1px;}
.pc14-proj-div{width:0.5px;height:28px;background:var(--border);}
.pc14-sm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.pc14-sm-num{font-size:20px;font-weight:500;line-height:1;margin:2px 0;}
.pc14-sm-bar{margin-top:8px;position:relative;height:6px;background:var(--bg-body);border-radius:3px;overflow:visible;}
.pc14-sm-mark{position:absolute;top:-2px;width:1.5px;height:10px;background:var(--text-muted);border-radius:1px;}
.pc14-minileg{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted2);margin-top:3px;}
.pc14-pcp-row{display:flex;gap:10px;margin-top:8px;align-items:center;}
.pc14-pcp-box{flex:1;padding:6px 8px;background:var(--bg-body);border-radius:6px;text-align:center;}
.pc14-pcp-lbl{font-size:9px;color:var(--text-muted2);}
.pc14-pcp-val{font-size:16px;font-weight:500;margin-top:2px;}
.pc14-pcp-arrow{font-size:14px;color:var(--text-muted2);flex-shrink:0;}
.pc14-boxes{margin-top:10px;display:flex;gap:8px;}
.pc14-box{flex:1;padding:5px 8px;background:var(--bg-body);border-radius:6px;text-align:center;}
.pc14-box-lbl{font-size:9px;color:var(--text-muted2);}
.pc14-box-val{font-size:14px;font-weight:500;margin-top:1px;}
.pc14-box-red{flex:1;padding:5px 8px;background:#FCE4EC;border-radius:6px;text-align:center;}
@media(max-width:768px){
  .pc-row-big{grid-template-columns:1fr;}
  .pc-row-small{grid-template-columns:1fr 1fr 1fr;gap:5px;}
  .pc14{padding:10px 12px;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,0.04);}
  .pc14s{padding:8px;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,0.04);}
  .pc14-label{font-size:10px;}
  .pc14-num{font-size:26px;margin:3px 0;}
  .pc14-sub{font-size:9px;}
  .pc14-badge{font-size:8px;padding:1px 6px;border-radius:8px;}
  .pc14-bar{margin-top:6px;height:5px;}
  .pc14-legend{gap:8px;margin-top:3px;font-size:8px;}
  .pc14-dot{width:4px;height:4px;margin-right:2px;}
  .pc14-proj{margin-top:6px;padding:4px 8px;border-radius:5px;font-size:9px;}
  .pc14-proj-v{font-size:11px;}
  .pc14-proj-div{height:22px;}
  .pc14-proj-lbl{font-size:8px;}
  .pc14-sm-head{margin-bottom:2px;}
  .pc14s .pc14-label{font-size:8px;}
  .pc14-sm-num{font-size:18px;}
  .pc14-sm-bar{margin-top:4px;height:3px;}
  .pc14-sm-mark{top:-1px;width:1px;height:5px;}
  .pc14-minileg{font-size:7px;margin-top:2px;}
  .pc14-boxes{margin-top:6px;gap:5px;}
  .pc14-box,.pc14-box-red{padding:4px 6px;}
  .pc14-box-lbl{font-size:7px;}
  .pc14-box-val{font-size:12px;}
  .pc14-pcp-row{gap:6px;margin-top:5px;}
  .pc14-pcp-box{padding:4px 6px;}
  .pc14-pcp-lbl{font-size:7px;}
  .pc14-pcp-val{font-size:13px;}
  .pc14-pcp-arrow{font-size:11px;}
  .prod-cards-new{gap:5px;}
}

/* Aderência PCP — zona bar */
.pc14-zone{position:relative;height:10px;background:var(--bg-body);border-radius:5px;margin-top:10px;overflow:visible;}
.pc14-zone-ideal{position:absolute;height:100%;background:#E2EFDA;border-radius:5px;}
.pc14-zone-center{position:absolute;top:-4px;width:1.5px;height:18px;background:#2e7d32;border-radius:1px;z-index:1;}
.pc14-zone-marker{position:absolute;top:-4px;width:3px;height:18px;border-radius:2px;z-index:2;}
.pc14-zone-labels{display:flex;justify-content:space-between;font-size:8px;color:var(--text-muted2);margin-top:3px;position:relative;}
.pc14-zone-cl{position:absolute;left:50%;transform:translateX(-50%);color:#2e7d32;font-weight:500;}
.pc14-dir{display:inline-flex;align-items:center;gap:3px;font-size:9px;padding:2px 8px;border-radius:10px;font-weight:500;margin-top:4px;}
@media(max-width:768px){
  .pc14-zone{height:6px;margin-top:6px;}
  .pc14-zone-center{top:-3px;height:12px;width:1px;}
  .pc14-zone-marker{top:-3px;height:12px;width:2px;}
  .pc14-zone-labels{font-size:7px;margin-top:2px;}
  .pc14-dir{font-size:8px;padding:1px 6px;margin-top:3px;}
}



/* === FIX MOBILE: Isolamento tabela === */
@media(max-width:768px){
  .main-wrapper{max-width:100vw;overflow-x:hidden;}
  .prod-cards-new{max-width:100%;overflow:hidden;}
}
.table-scroll-wrap,.table-scroll-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}

/* === FIX MOBILE: Filial sticky left:0, HC rola normal, linhas compactas === */
@media(max-width:768px){
  .tp-r td,.tp-reg td,.tp-hdr td,.tp-hdr th{padding:2px 4px!important;font-size:10px!important;line-height:1.1!important;}
  .tp-r .td-fl{font-size:10px!important;}
  .tp-r .td-sm{font-size:9px!important;}
  .sk.sk0,.sk.sk1{position:static!important;}
  .tp-hdr .sk.sk0,.tp-hdr .sk.sk1{position:static!important;}
  .tp-reg .sk.sk0,.tp-reg .sk.sk1{position:static!important;}
  .sk.sk2{left:0!important;}
  .tp-hdr .sk.sk2{left:0!important;}
  .tp-reg .sk.sk2{left:0!important;}
}

/* === FIX MOBILE: Cards pequenos cabem na tela === */
@media(max-width:768px){
  .pc-row-small{gap:4px!important;padding:0!important;margin:0!important;}
  .pc14s{padding:8px 8px!important;border-radius:8px!important;}
  .pc14-sm-num{font-size:22px!important;}
  .pc14-sm-head{margin-bottom:4px!important;}
  .pc14-label{font-size:9px!important;}
  .pc14-badge{font-size:7px!important;padding:1px 4px!important;}
  .pc14-boxes{gap:4px!important;margin-top:6px!important;}
  .pc14-box,.pc14-box-red{padding:3px 3px!important;}
  .pc14-box-lbl{font-size:7px!important;}
  .pc14-box-val{font-size:11px!important;}
  .pc14-pcp-row{gap:4px!important;margin-top:5px!important;}
  .pc14-pcp-box{padding:3px 3px!important;}
  .pc14-pcp-lbl{font-size:7px!important;}
  .pc14-pcp-val{font-size:12px!important;}
  .pc14-pcp-arrow{font-size:10px!important;}
  .pc14-dir{font-size:7px!important;padding:1px 5px!important;}
  .pc14-zone{height:5px!important;margin-top:5px!important;}
  .pc14-zone-labels{font-size:6px!important;}
  .pc14-sm-bar{height:5px!important;}
  .pc14-minileg{font-size:7px!important;}
}

/* === FIX MOBILE: Coluna Filial menos larga === */
@media(max-width:768px){
  .sk.sk2{min-width:auto!important;max-width:none!important;width:auto!important;}
}

/* === NEXUS V2 — Pills profissionais + separador + font === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* Font Inter na tabela */
.legacy-table,.legacy-table td,.legacy-table th{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}

/* Separador 6px neutro entre blocos */
.td-dv,.th-div,.tg-div{width:6px!important;min-width:6px!important;background:#e8e9ed!important;padding:0!important;border:none!important;}

/* Dados neutros cinza */
.td-n{color:#6b7280;font-weight:400;}

/* Produção verde bold sem pill */
.cf-pv{color:#059669!important;font-weight:700!important;font-size:13px!important;background:transparent!important;}

/* V2 Pills — span dentro da td */
.v2-pill{display:inline-block;font-weight:600;padding:1px 6px;border-radius:5px;font-size:10px;line-height:1.4;}
.v2-g{background:#dcfce7;color:#14532d;border:1px solid #4ade80;}
.v2-y{background:#fef9c3;color:#713f12;border:1px solid #facc15;}
.v2-o{background:#ffedd5;color:#7c2d12;border:1px solid #fb923c;}
.v2-r{background:#fee2e2;color:#7f1d1d;border:1px solid #f87171;}
.v2-full{background:#059669;color:#fff;border:1px solid #059669;}

/* Sobrescrever classes antigas — agora são transparentes (pill faz o trabalho) */
.cf-mv,.cf-ma,.cf-mr,.cf-ev,.cf-evc,.cf-ea,.cf-eo,.cf-er{background:transparent!important;color:inherit!important;font-weight:400!important;}

/* Headers grupo com gradiente */
.tg-media{background:linear-gradient(135deg,#14532d,#166534)!important;color:#fff!important;border-radius:5px 5px 0 0!important;}
.tg-visao{background:linear-gradient(135deg,#7a0b10,#940910)!important;border-radius:5px 5px 0 0!important;}
.tg-inj{background:linear-gradient(135deg,#9a5500,#b86800)!important;border-radius:5px 5px 0 0!important;}

/* Headers coluna — fundo claro profissional */
.tp-hdr td,.tp-hdr th{background:#f5f6f8!important;color:#5a6270!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:0.3px!important;border-bottom:2px solid #e2e5e9!important;}

/* Linhas de dados — borda fina */
.tp-r td{border-bottom:1px solid #f0f1f4!important;}

/* Zebra sutil */
.tp-r .ze{background:#fff!important;}
.tp-r .zc{background:#fafbfc!important;}

/* === FIX: Header compacto + linhas mobile === */
.tp-grp td{padding:8px 6px!important;font-size:9px!important;line-height:1.1!important;}
.tp-hdr td{padding:4px 6px!important;font-size:9px!important;line-height:1.1!important;}
@media(max-width:768px){
  .tp-r td{padding:2px 4px!important;font-size:10px!important;line-height:1.1!important;}
  .tp-r .td-fl{font-size:10px!important;}
  .tp-r .td-sm{font-size:9px!important;}
  .tp-reg td{padding:2px 4px!important;font-size:10px!important;}
  .tp-hdr td{padding:2px 4px!important;font-size:8px!important;}
  .tp-grp td{padding:2px 4px!important;font-size:8px!important;}
  .v2-pill{font-size:9px!important;padding:1px 4px!important;}
}

/* === NEXUS V2.1 — Container Responsivo === */
.main-content{max-width:1440px;width:96%;margin:0 auto;}
@media(min-width:769px) and (max-width:1280px){
.prod-cards-new{display:flex!important;flex-direction:column!important;gap:10px!important;}.pc-row-big{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}.pc-row-small{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:10px!important;}
.pc-row-big{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.pc-row-small{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:8px!important;}
.pc14-num{font-size:22px!important;}
.pc14-sm-num{font-size:18px!important;}
}


/* === DATE PICKER — ESTILO DIÁRIO DE BORDO === */
.dp-wrap{position:relative;display:inline-flex;align-items:center;gap:8px;margin-left:12px;}
.dp-trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;border:1.5px solid #E5E7EB;background:#fff;cursor:pointer;font-family:'Inter',-apple-system,sans-serif;font-size:13px;color:#1F2326;transition:border-color .2s,box-shadow .2s;user-select:none;}
.dp-trigger:hover{border-color:#940910;box-shadow:0 0 0 3px rgba(148,9,16,.08);}
.dp-trigger.active{border-color:#940910;box-shadow:0 0 0 3px rgba(148,9,16,.12);}
.dp-trigger svg{width:16px;height:16px;color:#940910;flex-shrink:0;}
.dp-trigger .dp-date{font-weight:500;}
.dp-trigger .dp-chevron{width:12px;height:12px;color:#9CA3AF;transition:transform .2s;}
.dp-trigger.active .dp-chevron{transform:rotate(180deg);}
.dp-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#059669;margin-right:2px;animation:dp-pulse 2s infinite;}
@keyframes dp-pulse{0%,100%{opacity:1;}50%{opacity:.4;}}

.dp-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:1000;background:#fff;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.06);overflow:hidden;min-width:460px;}
.dp-dropdown.open{display:flex;}
.dp-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;}
.dp-overlay.open{display:block;}

/* Atalhos (lado esquerdo) */
.dp-shortcuts{padding:16px 0;border-right:1px solid #F3F4F6;min-width:140px;}
.dp-shortcut{display:block;width:100%;padding:9px 20px;border:none;background:none;text-align:left;font-family:'Inter',-apple-system,sans-serif;font-size:13px;color:#374151;cursor:pointer;transition:background .15s,color .15s;}
.dp-shortcut:hover{background:#FEF2F2;color:#940910;}
.dp-shortcut.active{background:#FEF2F2;color:#940910;font-weight:600;}

/* Calendário (lado direito) */
.dp-calendar{padding:16px 20px;flex:1;}
.dp-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.dp-cal-nav{width:28px;height:28px;border-radius:6px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6B7280;font-size:16px;transition:background .15s;}
.dp-cal-nav:hover{background:#F3F4F6;}
.dp-cal-title{font-family:'Inter',-apple-system,sans-serif;font-size:14px;font-weight:600;color:#1F2326;text-transform:uppercase;letter-spacing:.3px;}

.dp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px;}
.dp-cal-weekdays span{font-family:'Inter',-apple-system,sans-serif;font-size:11px;font-weight:600;color:#940910;padding:4px 0;text-transform:uppercase;}

.dp-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.dp-day{width:36px;height:36px;border-radius:50%;border:none;background:none;cursor:pointer;font-family:'Inter',-apple-system,sans-serif;font-size:13px;color:#374151;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;margin:0 auto;}
.dp-day:hover:not(.dp-day-empty):not(.dp-day-disabled){background:#FEF2F2;color:#940910;}
.dp-day.dp-day-today{font-weight:700;color:#940910;}
.dp-day.dp-day-selected{background:#940910;color:#fff;font-weight:600;}
.dp-day.dp-day-empty{cursor:default;}
.dp-day.dp-day-disabled{color:#D1D5DB;cursor:not-allowed;}
.dp-day.dp-day-weekend{color:#9CA3AF;}
.dp-day.dp-day-weekend.dp-day-today{color:#940910;}
.dp-day.dp-day-weekend.dp-day-selected{color:#fff;}

/* Rodapé */
.dp-footer{display:flex;justify-content:space-between;padding:10px 20px;border-top:1px solid #F3F4F6;}
.dp-footer-btn{border:none;background:none;font-family:'Inter',-apple-system,sans-serif;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s;}
.dp-footer-btn.dp-clear{color:#6B7280;}
.dp-footer-btn.dp-clear:hover{background:#F3F4F6;}
.dp-footer-btn.dp-close{color:#940910;font-weight:600;}
.dp-footer-btn.dp-close:hover{background:#FEF2F2;}

/* Mobile */
@media(max-width:768px){
    .dp-dropdown{min-width:auto;width:calc(100vw - 24px);left:-80px;flex-direction:column;}
    .dp-shortcuts{display:flex;overflow-x:auto;border-right:none;border-bottom:1px solid #F3F4F6;padding:8px;gap:4px;min-width:auto;}
    .dp-shortcut{white-space:nowrap;padding:6px 12px;border-radius:6px;font-size:12px;}
    .dp-day{width:32px;height:32px;font-size:12px;}
}

/* ============================================================
   TIMING V2 — Filtros, Cards Redesenhados, Tabelas
   Adicionado na Sessão 04e (23/03/2026)
   ============================================================ */

/* --- Barra de filtros do Timing --- */
.tv2-filter-bar{flex-wrap:wrap;gap:6px 16px;}
.tv2-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;width:100%;}
.tv2-fg{display:flex;align-items:center;gap:6px;}
.tv2-lbl{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap;}
.tv2-input{padding:6px 10px;border-radius:8px;border:1.5px solid var(--border);font-size:12px;font-family:var(--font);color:var(--text-dark);background:#fff;min-width:130px;}
.tv2-input:focus{outline:none;border-color:var(--r2);box-shadow:0 0 0 3px rgba(148,9,16,.08);}
.tv2-sep{font-size:12px;color:var(--text-muted);font-weight:500;}
.tv2-sel{padding:6px 10px;border-radius:8px;border:1.5px solid var(--border);font-size:12px;font-family:var(--font);color:var(--text-dark);background:#fff;min-width:120px;cursor:pointer;}
.tv2-sel:focus{outline:none;border-color:var(--r2);box-shadow:0 0 0 3px rgba(148,9,16,.08);}
.tv2-apply{padding:6px 14px;border-radius:8px;border:none;background:var(--r2);color:#fff;font-size:12px;font-weight:600;font-family:var(--font);cursor:pointer;transition:background .15s;}
.tv2-apply:hover{background:var(--r2-hover);}
.tv2-clear{padding:6px 14px;border-radius:8px;border:1.5px solid var(--border);background:#fff;color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font);cursor:pointer;transition:background .15s;}
.tv2-clear:hover{background:#f5f6f8;}

/* --- Resumo: barra + cards --- */
.tv2-bar-card{background:var(--bg-card);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);margin-bottom:14px;border-left:4px solid var(--r2);}
.tv2-bar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.tv2-bar-title{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.8px;}
.tv2-bar-total{font-size:11px;color:var(--text-secondary);font-weight:500;}
.tv2-bar-pct{font-size:28px;font-weight:800;color:var(--c-ok);font-family:var(--mono);line-height:1;margin-bottom:10px;}
.tv2-bar-pct-label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-left:6px;font-family:var(--font);}
.tv2-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:6px;}

/* --- Toggle Por Filial / Por Time (Padrão/Todos) --- */
.tv2-tt-toggle{display:flex;gap:4px;}
.tv2-tt-btn{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600;border:1.5px solid var(--border);background:#fff;color:var(--text-secondary);cursor:pointer;font-family:var(--font);transition:all .15s;}
.tv2-tt-btn:hover{border-color:var(--r2);color:var(--r2);}
.tv2-tt-btn.active{background:var(--r2);color:#fff;border-color:var(--r2);}

/* --- Tabela: Cluster header row --- */
.tv2-cl-hdr td{background:linear-gradient(135deg,#1e293b,#334155)!important;color:#fff!important;font-weight:700!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:0.6px!important;padding:6px 12px!important;text-align:left!important;font-family:var(--font)!important;}

/* --- Tabela: Cluster subtotal row --- */
.tv2-cl-sub td{background:#f1f5f9!important;font-weight:700!important;font-size:11px!important;color:var(--text-dark)!important;border-top:1.5px solid #cbd5e1!important;border-bottom:1.5px solid #cbd5e1!important;}
.tv2-cl-sub .td-fl{font-weight:800!important;color:var(--text-dark)!important;}

/* --- CF pill para %NP --- */
.tv2-np{display:inline-block;font-weight:600;padding:2px 8px;border-radius:5px;font-size:11px;line-height:1.4;}
.tv2-np-g{background:#dcfce7;color:#14532d;border:1px solid #4ade80;}  /* >=80% */
.tv2-np-y{background:#fef9c3;color:#713f12;border:1px solid #facc15;}  /* >=60% */
.tv2-np-r{background:#fee2e2;color:#7f1d1d;border:1px solid #f87171;}  /* <60% */

/* --- Tabela Por Time: header rotated (compact) --- */
.tv2-time-hdr{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px!important;padding:8px 3px!important;white-space:nowrap;min-width:32px;text-align:left!important;}

/* --- Mobile Timing V2 --- */
@media(max-width:768px){
    .tv2-filter-row{flex-direction:column;align-items:flex-start;}
    .tv2-fg{flex-wrap:wrap;}
    .tv2-cards{grid-template-columns:1fr 1fr;}
    .tv2-bar-pct{font-size:22px;}
    .tv2-bar-card{padding:14px 16px;}
    .tv2-tt-toggle{margin-top:8px;}
    .tv2-time-hdr{font-size:8px!important;min-width:26px;}
}
@media(min-width:769px) and (max-width:1100px){
    .tv2-cards{grid-template-columns:repeat(4,1fr);}
}

/* ============================================================
   TEMPO DE EXECUÇÃO — Styles
   ============================================================ */

/* Header */
.te-header{padding:20px 24px 0;}
.te-header .page-title{margin:0;}

/* Tabs */
.te-tabs{display:flex;gap:4px;padding:12px 24px;flex-wrap:wrap;}
.te-tab{padding:8px 16px;border:none;background:transparent;font-size:13px;font-weight:500;color:#6B7280;cursor:pointer;border-radius:8px;transition:all 0.15s;}
.te-tab:hover{background:#F3F4F6;}
.te-tab.active{background:#940910;color:#fff;font-weight:600;}

/* Filters */
.te-filters{padding:0 24px 12px;}
.te-filter-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.te-dd{position:relative;}
.te-dd-btn{padding:6px 12px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;font-size:12px;color:#374151;cursor:pointer;display:flex;align-items:center;gap:4px;white-space:nowrap;}
.te-dd-btn.active{border-color:#940910;color:#940910;background:#FEF2F2;font-weight:600;}
.te-dd-btn:hover{border-color:#D1D5DB;}
.te-dd-panel{position:absolute;top:100%;left:0;z-index:100;background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.12);padding:8px;min-width:180px;max-height:280px;overflow-y:auto;}
.te-dd-actions{display:flex;gap:10px;padding:4px 8px 8px;border-bottom:1px solid #F3F4F6;margin-bottom:4px;}
.te-dd-link{font-size:11px;color:#2563EB;cursor:pointer;}
.te-dd-link:hover{text-decoration:underline;}
.te-dd-opt{display:block;padding:4px 8px;font-size:12px;color:#374151;cursor:pointer;border-radius:4px;}
.te-dd-opt:hover{background:#F3F4F6;}
.te-dd-opt input{margin-right:6px;}
.te-reset-btn{padding:6px 12px;border:1px solid #DC2626;border-radius:8px;background:#FEF2F2;color:#DC2626;font-size:12px;font-weight:600;cursor:pointer;}

/* Content area */
#te-content{padding:0 24px 24px;}

/* Cards */
.te-cards{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;}
.te-card{flex:1 1 140px;background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px rgba(0,0,0,0.05);min-width:140px;}
.te-card-label{font-size:10px;font-weight:600;color:#6B7280;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px;}
.te-card-value{font-size:26px;font-weight:700;color:#1F2326;font-family:'JetBrains Mono',monospace;}
.te-card-sub{font-size:11px;color:#9CA3AF;margin-top:2px;}

/* Rankings */
.te-rank-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.te-rank{flex:1 1 280px;background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.te-rank-title{font-size:12px;font-weight:600;color:#1F2326;margin-bottom:10px;}
.te-rank-item{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid #F3F4F6;}
.te-rank-item:last-child{border-bottom:none;}
.te-rank-num{width:18px;height:18px;border-radius:50%;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.te-rank-info{flex:1;min-width:0;}
.te-rank-name{font-size:11px;font-weight:600;color:#1F2326;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.te-rank-detail{font-size:9px;color:#9CA3AF;}

/* Panels */
.te-panel{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,0.05);margin-bottom:16px;}
.te-panel-title{font-size:13px;font-weight:600;color:#1F2326;margin-bottom:14px;}

/* Pills */
.te-pill{display:inline-block;padding:4px 10px;border-radius:6px;font-weight:600;font-size:12px;min-width:52px;text-align:center;}

/* Tables */
.te-table{width:100%;border-collapse:collapse;font-size:12px;}
.te-table thead th{padding:10px 12px;background:#E5E7EB;color:#1F2326;font-weight:600;font-size:11px;text-transform:uppercase;text-align:left;border-bottom:1px solid #D1D5DB;}
.te-table tbody td{padding:8px 12px;border-bottom:1px solid #F3F4F6;color:#374151;}
.te-td-bold{font-weight:600;color:#1F2326;}
.te-td-right{text-align:right;}
.te-td-center{text-align:center;}

/* Heatmap */
.te-heat-table{width:100%;border-collapse:collapse;font-size:12px;}
.te-heat-th{padding:10px 12px;background:#E5E7EB;font-weight:600;font-size:11px;text-transform:uppercase;text-align:center;border-bottom:1px solid #D1D5DB;}
.te-heat-th-left{text-align:left;}
.te-heat-th-bold{font-weight:700;}
.te-heat-cluster{background:#F0F1F4;}
.te-heat-cluster-name{padding:8px 14px;font-weight:700;font-size:12px;color:#940910;text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid #E5E7EB;}
.te-heat-cluster-cell{padding:6px 8px;text-align:center;border-bottom:1px solid #E5E7EB;font-weight:700;font-size:12px;color:#1F2326;}
.te-heat-row{background:#fff;}
.te-heat-row:hover{background:#FAFBFC;}
.te-heat-fi{padding:8px 14px;font-weight:600;color:#1F2326;border-bottom:1px solid #F3F4F6;}
.te-heat-qtd{padding:6px 8px;text-align:center;color:#6B7280;font-size:11px;border-bottom:1px solid #F3F4F6;}
.te-heat-val{padding:6px 8px;text-align:center;border-bottom:1px solid #F3F4F6;}

/* Atuação bar */
.te-atu-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,0.05);margin-bottom:16px;flex-wrap:wrap;}
.te-atu-label{font-size:11px;font-weight:600;color:#7C3AED;text-transform:uppercase;letter-spacing:0.5px;}
.te-atu-select{padding:6px 10px;border:1px solid #D1D5DB;border-radius:8px;font-size:12px;color:#374151;background:#fff;cursor:pointer;}
.te-atu-clear{padding:4px 10px;border-radius:6px;border:1px solid #7C3AED;background:#F5F3FF;color:#7C3AED;font-size:11px;font-weight:600;cursor:pointer;}

/* Composição cards */
.te-comp{display:flex;gap:12px;flex-wrap:wrap;}
.te-comp-card{flex:1 1 120px;padding:14px 16px;border-radius:10px;background:#F9FAFB;min-width:120px;}
.te-comp-label{font-size:10px;font-weight:600;color:#6B7280;text-transform:uppercase;margin-bottom:4px;}
.te-comp-val{font-size:22px;font-weight:700;color:#1F2326;}
.te-comp-val span{font-size:12px;font-weight:400;color:#9CA3AF;margin-left:4px;}

/* Responsive */
@media(max-width:768px){
    .te-tabs{padding:8px 16px;overflow-x:auto;flex-wrap:nowrap;}
    .te-tab{white-space:nowrap;font-size:12px;padding:6px 12px;}
    .te-filters{padding:0 16px 8px;}
    #te-content{padding:0 16px 16px;}
    .te-cards{gap:8px;}
    .te-card{min-width:calc(50% - 8px);}
    .te-rank-row{flex-direction:column;}
    .te-comp{flex-direction:column;}
}

/* Toggle buttons */
.te-tog{padding:5px 12px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid;background:transparent;transition:all 0.15s;white-space:nowrap;}
.te-tog.active{color:#fff!important;}

/* Toggle buttons */
.te-tog{padding:5px 12px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid;background:transparent;transition:all 0.15s;white-space:nowrap;}
.te-tog.active{color:#fff!important;}
