/* V13.27 · Camada responsiva global (celular e tablet). Carregada por último em todas as páginas.
   Faixas: tablet ≤1024px (menu vira gaveta), tablet retrato ≤900px, celular ≤700px, celular pequeno ≤400px. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg,canvas{max-width:100%}
.tablewrap,.tw,.ti-table-wrap,.table-wrap{-webkit-overflow-scrolling:touch}
@supports(padding:max(0px)){body{padding-bottom:max(0px,env(safe-area-inset-bottom))}}

@media(max-width:1024px){
  .main,#content,#stage{padding-left:16px!important;padding-right:16px!important}
  .ex-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ex-kpi .v{font-size:clamp(16px,2.4vw,22px)}
  .btn,.ti-btn,select,input[type=date],input[type=search],input[type=text],input[type=number]{min-height:38px}
  .car-btn{min-width:38px;min-height:38px}
}
@media(max-width:900px){
  .ex-row,.ex-row.a,.ex-row.b,.ti-two,.ti-overview-grid,.management-grid,.management-grid.equal,.management-grid.three{grid-template-columns:minmax(0,1fr)!important}
  .ti-kpis,.ti-main-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ex-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .main,#content,#stage{padding-left:12px!important;padding-right:12px!important}
  /* cabeçalho compacto (V13.27.1): linha 1 = logo + relógio; linha 2 = título; linha 3 = botão de apresentação + selo de conexão */
  .topbar,.topbar.svd-standard-header{display:grid!important;grid-template-columns:auto 1fr auto;grid-template-areas:"logo . clock" "title title title" "btn src src";align-items:center;gap:6px 10px!important;padding:10px 0 8px!important;margin-bottom:10px!important;border-radius:0}
  .topbar .portal-logo{grid-area:logo;height:26px!important;max-width:110px!important;width:auto}
  .topbar .portal-sep{display:none!important}
  .topbar .title{grid-area:title;min-width:0;flex:none}
  .topbar .eyebrow{font-size:10px!important;letter-spacing:.12em;line-height:1.3;margin:0 0 2px}
  .topbar .title h1{font-size:20px!important;line-height:1.18;margin:0}
  .topbar .title h1 span{display:block;font-size:12.5px;font-weight:400;margin-top:2px;opacity:.8;line-height:1.3}
  .topbar .headright{display:contents!important}
  .topbar .clock{grid-area:clock;min-width:0!important;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:0}
  .topbar .clock .t{font-size:20px!important;line-height:1.1}
  .topbar .clock .d{font-size:10.5px!important;line-height:1.2;white-space:nowrap!important;opacity:.85}
  .topbar .ap-btn{grid-area:btn;width:40px;min-width:40px;height:40px;padding:0!important;justify-content:center}
  .topbar .ap-btn span{display:none}
  .topbar .source{grid-area:src;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;text-align:left!important}
  .topbar .headright:not(:has(.ap-btn)) .source{grid-column:1/-1}
  .topbar .source .badge{font-size:10px;padding:3px 8px;white-space:nowrap}
  .topbar .source .sub{font-size:11px;line-height:1.25;opacity:.85;min-width:0;flex:1 1 140px;text-align:left!important}
  .svd-backbar{margin:0 0 6px;min-height:0}.svd-backbar .btn,.svd-backbtn{min-height:34px;font-size:13px}
  body.page-fill .ov-stage > .carousel .car-slide h2,body.page-fill .ov-stage > .carousel .car-slide .slide-sub{padding-right:0!important}
  /* KPIs e cartões */
  .ex-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .ex-kpi{min-height:0;padding:12px}
  .ex-kpi .v{font-size:clamp(15px,5vw,19px);white-space:normal;overflow-wrap:anywhere}
  .ex-kpi .s{font-size:11px}
  .ti-kpis,.ti-main-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .card{padding:14px}
  .card h2{font-size:18px;line-height:1.2}
  .card h2 small{display:block;margin-top:2px}
  /* filtros: campos em duas colunas, botões em largura total */
  .ex-filters,.ti-filters{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
  .ex-filters>*,.ti-filters>*{min-width:0}
  .ex-filters .ex-f,.ex-filters .ms,.ex-filters select,.ex-filters input,.ti-filters select,.ti-filters input{width:100%!important;max-width:none!important}
  .ex-filters .msbtn,.ex-filters .ms.wide .msbtn{width:100%!important;min-width:0!important;max-width:none!important;height:40px}
  .ex-filters .msmenu{max-width:calc(100vw - 32px)}
  .ex-filters .ex-f.wide,.ex-filters .ex-f:first-child{grid-column:1/-1}
  .ex-filters .btn,.ti-filters .btn,.ti-filters .ti-btn{width:100%}
  input,select,textarea{font-size:16px!important} /* evita o zoom automático do iPhone ao tocar no campo */
  .ex-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin:0!important;width:100%}
  .ex-actions>*{width:100%;margin:0;display:flex;align-items:center;justify-content:center;text-align:center}
  .ex-actions>*:first-child:nth-last-child(3),.ex-actions>*:first-child:nth-last-child(1){grid-column:1/-1}
  /* abas do carrossel: rolagem lateral com encaixe */
  .car-tabs{display:flex;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .car-tabs::-webkit-scrollbar{display:none}
  .car-tab{flex:none;scroll-snap-align:start;white-space:nowrap}
  .car-slide{padding:14px!important}
  /* barras de ferramentas das tabelas */
  .ti-tools,.ct-treebar{gap:8px}
  .ti-tools .ex-search,.ct-treebar .ex-search{flex:1 1 100%;min-width:0;max-width:none}
  .ti-tools .ex-pager{width:100%;justify-content:space-between}
  .ct-treebar select{flex:1 1 140px;min-width:0}
  /* tabelas: rolagem lateral suave, texto legível */
  .ti-table th,.ti-table td,.ex-tw th,.ex-tw td{padding:8px 9px;font-size:13px}
  .ti-table-wrap,.tablewrap,.ex-tw,.tw{max-width:100%;overflow-x:auto}
  .ti-chart,body.ti-page.page-fill .ov-stage .ti-chart{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .ti-chart .ti-month-col{flex:0 0 54px!important;min-width:54px!important}
  .ti-bar-val{font-size:9px}
  /* mascote menor para não cobrir conteúdo */
  .mc-chip{width:46px;height:46px}.mc-chip img{width:36px;height:36px}
  .mc.mc-min-on{right:10px!important;bottom:10px!important}
  body{padding-bottom:64px}
  /* janela de registros: tela cheia, linhas em cartões */
  .ti-drill-ov{padding:0!important;align-items:stretch!important}
  .ti-drill-box{width:100%!important;max-height:100dvh!important;height:100dvh;border-radius:0!important;padding:12px!important}
  .ti-drill-h h2{font-size:17px}
  .ti-drill-sum{gap:6px 14px;font-size:12.5px}
  .ti-drill-box .ti-table-wrap{overflow-x:hidden}
  .ti-drill-box table,.ti-drill-box tbody{display:block;width:100%}
  .ti-drill-box thead{display:none}
  .ti-drill-box tr{display:block;margin:0 0 8px;padding:8px 10px;border:1px solid var(--svd-line,#1d4a5e);border-radius:10px;background:rgba(255,255,255,.03)}
  .ti-drill-box td{display:flex!important;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0!important;border:0!important;max-width:none!important;min-width:0!important;text-align:right;font-size:13px}
  .ti-drill-box td .lbv{display:block;min-width:0;text-align:right;overflow-wrap:anywhere}
  .ti-drill-box td::before{content:attr(data-label);flex:none;text-align:left;color:var(--svd-muted,#91aeba);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
  .ti-drill-box td:empty{display:none!important}
  .ti-drill-box td[colspan]{display:block!important;text-align:center}.ti-drill-box td[colspan]::before{content:none}
  /* menu lateral/gaveta */
  .svd-nav-main{min-height:46px}
}
@media(max-width:400px){
  .ex-filters,.ti-filters{grid-template-columns:1fr}
  .ex-kpis,.ti-kpis,.ti-main-kpis{grid-template-columns:1fr 1fr}
  .topbar .title h1{font-size:19px!important}
}
@media(hover:none){
  .ti-clickable:hover{filter:none}
  tr.ti-clickable{-webkit-tap-highlight-color:rgba(114,199,217,.18)}
}
