/* ==========================================================================
   AMTI — Responsive Fixes v2 (mobile retrato + paisagem + tablet)
   Carregado DEPOIS de styles.css e crm-styles.css.
   REGRA DE OURO: o desktop (tela grande, >1024px) usa 100% as larguras e
   os layouts de popups/modais originais de crm-styles.css — nenhuma regra
   de .amti-modal-content/.modal-content/.os-modal existe fora de media
   queries. Exceções globais intencionais: alvo de toque mínimo de 44px
   (acessibilidade) e grade auto-fit do dashboard. Este arquivo só altera
   larguras de popup em mobile (≤767px), tablet (768–1023px) e paisagem
   curta, mais correções pontuais dos popups #viewOsModal (Visualizar OS)
   e #osModal (Editar/Abrir OS) no smartphone.
   ========================================================================== */

:root {
  --rf-gutter: 16px;
  --rf-card-gap: 12px;
  --rf-card-row-gap: var(--rf-card-gap);
  --rf-header-height: 72px;
  --rf-touch: 44px;
  --rf-grid-min: min(260px, 100%);
  --rf-topbar-h: var(--rf-header-height);
  --rf-radius: var(--radius-lg, 16px);
}

/* --- Blindagem de Temas: Respeita fielmente cantos retos nos temas block --- */
[data-theme="block-steel"],
[data-theme="dark-block"],
[data-theme="block-blue"],
[data-theme*="block"]:not([data-theme="block-light"]) {
  --rf-radius: 0px !important;
  --radius-xs: 0px !important;
  --radius-sm: 0px !important;
  --radius-md: 0px !important;
  --radius-lg: 0px !important;
  --radius-xl: 0px !important;
  --radius-2xl: 0px !important;
  --radius-full: 0px !important;
}

[data-theme="block-steel"] *,
[data-theme="dark-block"] *,
[data-theme="block-blue"] *,
[data-theme*="block"]:not([data-theme="block-light"]) * {
  --rf-radius: 0px !important;
}

/* --- Proteção de Modais Abertos: Oculta FAB e Orelha de Feedback para não poluir nem cobrir o modal --- */
body:has(.amti-modal:not(.hidden)),
body:has(.modal:not(.hidden)),
body:has([id$="Modal"]:not(.hidden)),
body.amti-has-open-modal {
  overflow: hidden !important;
}
body:has(.amti-modal:not(.hidden)) #monitoringFabBtn,
body:has(.modal:not(.hidden)) #monitoringFabBtn,
body:has([id$="Modal"]:not(.hidden)) #monitoringFabBtn,
body.amti-has-open-modal #monitoringFabBtn,
body:has(.amti-modal:not(.hidden)) #feedbackEarTab,
body:has(.modal:not(.hidden)) #feedbackEarTab,
body:has([id$="Modal"]:not(.hidden)) #feedbackEarTab,
body.amti-has-open-modal #feedbackEarTab {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* --- Base: evita overflow horizontal global --- */
html, body {
  overflow-x: hidden;
  overflow-x: clip;
}
body {
  -webkit-text-size-adjust: 100%;
}
img, video, canvas, svg {
  max-width: 100%;
  height: auto;
}

/* --- Topbar moderna, segura e com ellipsis em qualquer largura --- */
.amti-topbar {
  height: var(--rf-header-height);
  min-height: var(--rf-header-height);
  align-items: center;
  padding-inline: var(--rf-gutter);
  padding-top: env(safe-area-inset-top, 0px);
  gap: 10px;
}

/* Header alinhado à faixa do logo lateral, sem transparência. */
.amti-topbar {
  background: var(--topbar-bg, var(--bg-main)) !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.amti-title-area, .amti-topbar .amti-title-area {
  min-width: 0;
  max-width: none;
}
.amti-title-area h2, #currentTabTitle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.amti-title-area p, #currentTabSubtitle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.amti-topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* --- Shell: conteúdo respira com safe-area --- */
.amti-content-container {
  padding: var(--rf-gutter);
  padding-bottom: calc(var(--rf-gutter) + env(safe-area-inset-bottom));
  max-width: none;
  margin-inline: 0;
  width: 100%;
  box-sizing: border-box;
}

/* --- Drawer único e previsível (mobile + tablet) --- */
@media (max-width: 1023.98px) {
  .amti-shell > .amti-sidebar,
  .amti-sidebar#dashboardSidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(88vw, 320px) !important;
    max-width: 320px;
    transform: translate3d(-110%, 0, 0) !important;
    visibility: hidden;
    transition: transform 0.22s ease, visibility 0s 0.22s;
    z-index: 1001 !important;
    height: 100vh !important;
    height: 100dvh !important;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  body.mobile-sidebar-open .amti-shell > .amti-sidebar,
  body.mobile-sidebar-open .amti-sidebar#dashboardSidebar {
    transform: none !important;
    visibility: visible;
    transition: transform 0.22s ease;
  }
  .amti-sidebar-overlay {
    z-index: 1000 !important;
  }
  body.mobile-sidebar-open {
    overflow: hidden;
  }
  .amti-main {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 1023px) {
  /* Visualizar OS: usa uma única grade para igualar o respiro entre os cards mobile/tablet. */
  #viewOsContent {
    --view-os-card-gap: 16px;
    display: grid !important;
    grid-auto-flow: row !important;
    row-gap: var(--view-os-card-gap) !important;
  }


  #viewOsContent > * {
    margin-block: 0 !important;
  }

  #viewOsContent .os-modal-section {
    margin: 0 !important;
  }

  #viewOsContent > .view-os-grid-2col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: var(--view-os-card-gap) !important;
    row-gap: var(--view-os-card-gap) !important;
  }

  #viewOsContent > .view-os-grid-2col > .os-modal-section,
  #viewOsContent > div:not(.view-os-grid-2col):has(> .os-modal-section) > .os-modal-section {
    margin: 0 !important;
  }

  #viewOsContent > div:not(.view-os-grid-2col):has(> .os-modal-section) {
    display: contents !important;
  }

  #viewOsContent .view-os-hero,
  #viewOsContent .view-os-grid-2col,
  #viewOsContent > div:has(> .os-modal-section) {
    margin: 0 !important;
  }

  #viewOsContent .view-os-grid-2col,
  #viewOsContent > div:has(> .os-modal-section) {
    gap: var(--view-os-card-gap) !important;
    row-gap: var(--view-os-card-gap) !important;
  }
}

@media (min-width: 1024px) {
  /* Visualizar OS desktop: um único mecanismo controla o respiro vertical. */
  #viewOsContent {
    --view-os-card-gap: 16px;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--view-os-card-gap) !important;
  }

  #viewOsContent > *,
  #viewOsContent .os-modal-section {
    margin: 0 !important;
  }

  #viewOsContent > .view-os-grid-2col,
  #viewOsContent > div:has(> .os-modal-section) {
    margin: 0 !important;
  }

  #viewOsContent > .view-os-grid-2col {
    column-gap: var(--view-os-card-gap) !important;
    row-gap: var(--view-os-card-gap) !important;
  }

  #viewOsContent > div:not(.view-os-grid-2col):has(> .os-modal-section) {
    display: contents !important;
  }
}

/* --- Grids do Início: colunas FIXAS (nunca auto-fit) ---
   Telas grandes usam 4 colunas fixas; as media queries abaixo apenas trocam o
   NÚMERO de colunas conforme o viewport. Assim os spans dos cards (1/2/3/4)
   sempre preenchem a largura sem deixar coluna vazia ao redimensionar a janela. */
.amti-dashboard-grid {
  display: grid !important;
  gap: var(--rf-card-gap) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Desktop menor (1024–1199px): 3 colunas fixas (mesmo veredito do crm-styles.css) */
@media (min-width: 1024px) and (max-width: 1199.98px) {
  .amti-dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
.dashboard-top-grid, .status-grid {
  display: grid !important;
  gap: var(--rf-card-gap) !important;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)) !important;
}

/* --- Cards em geral: nunca estouram --- */
.amti-card, .zn-card, .os-card, .stat-card, .home-card {
  min-width: 0;
  overflow-wrap: break-word;
}

/* --- Cards interativos do Início --- */
.home-cards-grid, .quick-actions-grid {
  display: grid !important;
  gap: var(--rf-card-gap) !important;
  grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)) !important;
}

/* Espaçamento único entre cards em todas as áreas do Dashboard. */
.amti-dashboard-grid,
.dashboard-top-grid,
.status-grid,
.home-cards-grid,
.quick-actions-grid {
  column-gap: var(--rf-card-gap) !important;
  row-gap: var(--rf-card-row-gap) !important;
}

.amti-dashboard-grid > .amti-card,
.amti-dashboard-grid > .amti-grid-card,
.home-cards-grid > *,
.quick-actions-grid > * {
  margin-block: 0 !important;
}

#tab-agenda .agenda-tab-layout,
#tab-agenda .agenda-tab-layout > div {
  column-gap: var(--rf-card-gap) !important;
  row-gap: var(--rf-card-row-gap) !important;
}

/* Mesmo intervalo vertical nos agrupamentos de cards das demais abas. */
#tab-ai-advisor .ai-advisor-top-grid,
#tab-sales .pdv-layout,
#tab-cadastros .amti-settings-grid,
#tab-whatsapp .amti-whatsapp-layout,
#tab-comissao-tecnica .comissao-main-grid {
  row-gap: var(--rf-card-row-gap) !important;
}

#tab-finance .amti-summary-grid,
#tab-finance > .amti-summary-grid {
  gap: var(--rf-card-gap) !important;
  row-gap: var(--rf-card-row-gap) !important;
  column-gap: var(--rf-card-gap) !important;
}

#tab-ai-advisor .ai-advisor-top-grid > :is(.amti-card, .amti-grid-card),
#tab-sales .pdv-layout > :is(.pdv-catalog, .pdv-cart, .amti-card, .amti-grid-card),
#tab-finance .amti-summary-grid > :is(.amti-stat-card, .amti-card, .amti-grid-card),
#tab-cadastros .amti-settings-grid > .amti-card,
#tab-settings .amti-settings-grid > .amti-card,
#tab-whatsapp .amti-whatsapp-layout > .amti-whatsapp-card,
#tab-comissao-tecnica .comissao-main-grid > :is(.amti-card, .comissao-config-panel) {
  margin: 0 !important;
  margin-block: 0 !important;
}

/* --- Formulários: empilha qualquer grid inline no mobile --- */
.amti-form-row {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)) !important;
}

/* --- Tabelas: scroll contido + cabeçalho fixo (mobile/tablet) --- */
@media (max-width: 1023.98px) {
  .amti-table-container, .os-table-wrap, .table-responsive, .crm-table-wrap {
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--radius-lg, 12px);
  }
  .amti-table thead th, .os-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
  }
  /* --- Modais/popups: scroll interno e rodapé flexível (mobile/tablet) ---
     O desktop (tela grande) usa 100% as regras originais de crm-styles.css. */
  .amti-modal-body, .modal-body, .os-modal-body {
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .amti-modal-footer, .modal-footer, .os-modal-footer {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  /* Alvo de toque confortável nos rodapés (mobile/tablet) */
  .amti-card button, .zn-card button, .os-card button,
  .amti-modal-footer button, .modal-footer button {
    min-height: var(--rf-touch);
  }
}

/* --- Alvo de toque mínimo (acessibilidade; aplica-se também no desktop, exceto botões fechar "X") --- */
button:not(.amti-sidebar-close):not(.amti-modal-close):not(.os-modal-close):not(.zn-modal-close):not(.sa-modal-close):not(.toast-close-btn):not(.feedback-panel-close):not(.feedback-screenshot-remove):not(.amti-contract-expiration-close):not(.amti-settings-search-clear):not(.sa-search-clear):not(.pdv-widget-search-clear):not(.close):not(.btn-close):not([data-dismiss='modal']):not([data-amti-close]):not([aria-label*='Fechar']):not([aria-label*='fechar']):not([aria-label*='Close']):not([title*='Fechar']):not(.amti-modal-header button:has(> i.fa-xmark)):not(.modal-header button:has(> i.fa-xmark)),
.btn:not(.amti-sidebar-close):not(.amti-modal-close):not(.os-modal-close):not(.zn-modal-close):not(.sa-modal-close):not(.toast-close-btn):not(.feedback-panel-close):not(.feedback-screenshot-remove):not(.amti-contract-expiration-close):not(.amti-settings-search-clear):not(.sa-search-clear):not(.pdv-widget-search-clear):not(.close):not(.btn-close):not([data-dismiss='modal']):not([data-amti-close]):not([aria-label*='Fechar']):not([aria-label*='fechar']):not([aria-label*='Close']):not([title*='Fechar']),
[role="button"]:not(.amti-sidebar-close):not(.amti-modal-close):not(.os-modal-close):not(.zn-modal-close):not(.sa-modal-close):not(.toast-close-btn):not(.feedback-panel-close):not(.feedback-screenshot-remove):not(.amti-contract-expiration-close):not(.amti-settings-search-clear):not(.sa-search-clear):not(.pdv-widget-search-clear):not(.close):not(.btn-close):not([data-dismiss='modal']):not([data-amti-close]):not([aria-label*='Fechar']):not([aria-label*='fechar']):not([aria-label*='Close']):not([title*='Fechar']) {
  min-height: var(--rf-touch);
}

/* --- Prevenção definitiva de distorção retangular em botões de fechar "X" (Padrão Editar Ordem de Serviço) --- */
:is(
  .amti-sidebar-close,
  .amti-modal-close,
  .os-modal-close,
  .zn-modal-close,
  .sa-modal-close,
  .toast-close-btn,
  .feedback-panel-close,
  .feedback-screenshot-remove,
  .amti-contract-expiration-close,
  .amti-settings-search-clear,
  .sa-search-clear,
  .pdv-widget-search-clear,
  .close,
  .btn-close,
  [data-dismiss='modal'],
  [data-amti-close],
  [aria-label='Fechar'],
  [aria-label='Fechar menu'],
  [aria-label='Close'],
  [aria-label*='Fechar'],
  [aria-label*='fechar'],
  [title='Fechar menu'],
  [title='Fechar']:not(.view-agenda-footer *),
  [title*='Fechar']:not(.view-agenda-footer *),
  .amti-modal-header button:has(> i.fa-xmark),
  .amti-modal-header button:has(> i.fa-times),
  .modal-header button:has(> i.fa-xmark),
  .modal-header button:has(> i.fa-times)
) {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  flex: 0 0 36px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  align-self: center !important;
}

/* --- Temas "Block": Botões fechar "X" rigorosamente quadrados e com cantos retos (0px) em todas as áreas --- */
:is(
  html[data-theme='block-steel'],
  html[data-theme='block-blue'],
  html[data-theme='dark-block'],
  html[data-theme='block-light'],
  html[data-theme*='block'],
  html.theme-block-steel,
  html.theme-block-blue,
  html.theme-dark-block,
  html.theme-block-light,
  body.theme-block-steel,
  body.theme-block-blue,
  body.theme-dark-block,
  body.theme-block-light
) :is(
  .amti-sidebar-close,
  .amti-modal-close,
  .os-modal-close,
  .zn-modal-close,
  .sa-modal-close,
  .toast-close-btn,
  .feedback-panel-close,
  .feedback-screenshot-remove,
  .amti-contract-expiration-close,
  .amti-settings-search-clear,
  .sa-search-clear,
  .pdv-widget-search-clear,
  .close,
  .btn-close,
  [data-dismiss='modal'],
  [data-amti-close],
  [aria-label='Fechar'],
  [aria-label='Fechar menu'],
  [aria-label='Close'],
  [aria-label*='Fechar'],
  [aria-label*='fechar'],
  [title='Fechar menu'],
  [title='Fechar'],
  [title*='Fechar'],
  .amti-modal-header button:has(> i.fa-xmark),
  .amti-modal-header button:has(> i.fa-times),
  .modal-header button:has(> i.fa-xmark),
  .modal-header button:has(> i.fa-times)
) {
  border-radius: 0px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  flex: 0 0 36px !important;
  aspect-ratio: 1 / 1 !important;
}
@media (max-width: 767px) {
  .amti-content-container input,
  .amti-content-container select,
  .amti-content-container textarea,
  .amti-modal-body input,
  .amti-modal-body select,
  .amti-modal-body textarea {
    font-size: 16px !important;
  }

}

/* Desktop: the OS card action buttons share one exact vertical measure. */
@media (min-width: 768px) {
  #tab-orders .os-card-actions > .amti-btn,
  #tab-orders .os-card-actions .amti-search-btn,
  #tab-orders .os-card-actions .amti-os-search-btn {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #tab-orders .os-card-actions .amti-search-btn,
  #tab-orders .os-card-actions .amti-os-search-btn {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    padding: 0 !important;
  }
}

/* ==========================================================================
   TELAS MENORES E MOBILE (até 900px): smartphones, tablets em pé e janelas estreitas
   ========================================================================== */
@media (max-width: 1023px) {
  /* Topbar compacta, fluida, ergonômica e FIXADA no topo (estilo aplicativo nativo) */
  .amti-topbar {
    position: sticky !important;
    top: -1px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 900 !important;
    height: 52px !important;
    min-height: 52px !important;
    padding-inline: 10px !important;
    gap: 8px !important;
    display: flex !important;
    align-items: center !important;
    background: var(--topbar-bg, var(--bg-main)) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
  }
  .amti-topbar-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .amti-mobile-nav-toggle {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    flex: 0 0 40px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    border-radius: var(--radius-md, 8px) !important;
  }
  .amti-title-area, .amti-topbar .amti-title-area {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .amti-title-area h2, #currentTabTitle {
    font-size: clamp(0.98rem, 4.2vw, 1.15rem) !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
  }
  .amti-title-area p, #currentTabSubtitle {
    display: none !important;
  }
  .amti-topbar-actions {
    flex-shrink: 0 !important;
  }
  .amti-topbar-action-group {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }
  .amti-topbar-action-group .amti-btn,
  .amti-topbar-btn-os,
  .amti-topbar-btn-ai {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--radius-md, 8px) !important;
    font-size: 0.95rem !important;
  }
  .amti-topbar-action-group .amti-btn span,
  .amti-topbar-btn-os span,
  .amti-topbar-btn-ai span {
    display: none !important;
  }
  .amti-topbar-btn-ai i {
    color: #ffffff !important;
    font-size: 1.05rem !important;
  }

  /* Cards do dashboard em telas menores: 1 coluna limpa e fluida */
  .amti-dashboard-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    column-gap: var(--rf-card-gap) !important;
    row-gap: var(--rf-card-row-gap) !important;
    width: 100% !important;
  }
  .amti-dashboard-grid > *,
  .amti-dashboard-grid > .amti-grid-card {
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    padding: 12px !important;
    border-radius: var(--radius-lg);
    overflow: hidden !important;
    touch-action: pan-y !important;
    -webkit-user-drag: none !important;
  }

  /* Cabeçalho de cards no mobile: alinhamento horizontal limpo (título à esquerda, botões à direita) */
  .amti-dashboard-grid .amti-card-header,
  .amti-dashboard-grid .os-card-header,
  .amti-dashboard-grid .agenda-card-header,
  .amti-dashboard-grid .amti-smart-search-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 40px !important;
    flex: 0 0 auto !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 0 8px 0 !important;
    margin: 0 0 8px 0 !important;
    touch-action: pan-y !important;
    -webkit-user-drag: none !important;
    cursor: default !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
    flex-wrap: nowrap !important;
  }
  .amti-dashboard-grid .amti-card-header-main,
  .amti-dashboard-grid .amti-smart-search-title-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .amti-grid-card.amti-smart-search-card .amti-smart-search-header.has-expanded-filters {
    flex-wrap: wrap !important;
    align-items: center !important;
    row-gap: 8px !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    touch-action: pan-x pan-y !important;
  }
  .amti-grid-card.amti-smart-search-card .amti-smart-search-header.has-expanded-filters .amti-smart-search-title-wrap {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  .amti-grid-card.amti-smart-search-card .amti-smart-search-header.has-expanded-filters .amti-smart-search-chips-container {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    justify-content: flex-end !important;
  }
  .amti-grid-card.amti-smart-search-card .amti-smart-search-chips-container.is-expanded .amti-smart-search-drawer {
    flex: 1 1 0 !important;
    max-width: none !important;
    width: auto !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    touch-action: pan-x pan-y !important;
  }
  .amti-dashboard-grid .amti-card-header-avatar,
  .amti-dashboard-grid .amti-smart-search-glow-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    flex: 0 0 42px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 0px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    box-sizing: border-box !important;
    font-size: 0.95rem !important;
    margin: 0 !important;
  }
  .amti-dashboard-grid .amti-card-header-titles,
  .amti-dashboard-grid .amti-smart-search-title-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    gap: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .amti-dashboard-grid .amti-card-header-title,
  .amti-dashboard-grid .amti-smart-search-title-text strong {
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1.25 !important;
    max-width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
  }
  .amti-dashboard-grid .amti-card-header-subtitle,
  .amti-dashboard-grid .amti-smart-search-subtitle {
    font-size: 0.70rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    line-height: 1.2 !important;
    color: var(--text-secondary, #94a3b8) !important;
    max-width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
  }
  .amti-dashboard-grid .os-card-actions,
  .amti-dashboard-grid .agenda-card-actions,
  .amti-dashboard-grid .amti-smart-search-chips-container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }
  .amti-dashboard-grid .os-card-actions > .amti-btn,
  .amti-dashboard-grid .agenda-card-actions > .amti-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: auto !important;
    height: 34px !important;
    padding: 0 10px !important;
    font-size: 0.8rem !important;
  }

  /* Card de OS no Início em telas menores: proporção perfeita e sem espaços fantasmas */
  #tab-home .amti-dashboard-grid .os-card {
    padding: 8px 12px 8px 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Cabeçalho do Card de OS: altura confortável e alinhada aos outros cards */
  #tab-home .amti-dashboard-grid .os-card .os-card-header,
  #tab-home .amti-dashboard-grid .os-card .amti-card-header {
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 0 10px 0 !important;
    margin: 0 0 10px 0 !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14) !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    gap: 8px !important;
  }

  #tab-home .amti-dashboard-grid .os-card .amti-card-header-main {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #tab-home .amti-dashboard-grid .os-card .amti-card-header-avatar {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    flex: 0 0 42px !important;
    aspect-ratio: 1 / 1 !important;
    font-size: 0.95rem !important;
    border-radius: 0px !important;
    align-self: center !important;
    box-sizing: border-box !important;
  }

  #tab-home .amti-dashboard-grid .os-card .amti-card-header-titles {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 1px !important;
    min-width: 0 !important;
    line-height: 1.15 !important;
  }

  #tab-home .amti-dashboard-grid .os-card .amti-card-header-title {
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
  }

  #tab-home .amti-dashboard-grid .os-card .amti-card-header-subtitle {
    font-size: 0.70rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.15 !important;
    color: var(--text-secondary, #94a3b8) !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-card-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    height: 34px !important;
  }

  /* Painel de busca fechado NÃO ocupa espaço fantasma */
  .os-card-search-panel:not(.os-card-search-panel-open),
  .os-card-search-panel[data-visible="false"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
  }

  .os-card-search-panel:not(.os-card-search-panel-open) *,
  .os-card-search-panel[data-visible="false"] * {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-card-search-shell {
    display: inline-flex !important;
    align-items: center !important;
    height: 34px !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-card-search-btn {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-card-actions .amti-btn {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 0.8rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  /* Corpo do card de OS na Home: aproveitamento máximo de espaço vertical */
  #tab-home .amti-dashboard-grid .os-card .amti-card-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #tab-home .amti-dashboard-grid .os-card .os-table-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #tab-home .amti-dashboard-grid .os-table th {
    padding: 4px 6px !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
  }

  #tab-home .amti-dashboard-grid .os-table td {
    padding: 5px 6px !important;
    font-size: 0.82rem !important;
  }

  #tab-home .amti-dashboard-grid .os-table tbody tr {
    height: 38px !important;
    cursor: pointer !important;
  }

  /* Demais cards do Início: cards sem listas longas mantêm overflow visível para rolagem imediata da tela */
  .amti-dashboard-grid .amti-card-body,
  #tab-home .amti-dashboard-grid .amti-grid-card:not(.os-card):not(.agenda-card) .amti-card-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-table-wrap,
  #tab-home .amti-dashboard-grid .agenda-card .amti-card-body,
  #tab-home .amti-dashboard-grid .agenda-card .agenda-list {
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  /* Grids inline conhecidos do Dashboard/Settings viram 1 coluna.
     Escopo restrito a containers do app para não afetar desktop. */
  .amti-content-container .amti-form-row,
  .amti-content-container .os-form-row,
  .amti-content-container .form-row,
  .amti-content-container .zn-form-row,
  .amti-content-container .amti-form-grid-2,
  .amti-content-container .amti-form-grid-3,
  .amti-content-container .amti-form-grid-4,
  .amti-content-container .amti-cadastro-header-row,
  .amti-settings-shell .amti-form-row,
  :is(.amti-modal-body, .modal-body, .os-modal-body) :is(
    .amti-form-row,
    .os-client-equip-row,
    .os-form-row,
    .form-row,
    .zn-form-row,
    .amti-form-grid-2,
    .amti-form-grid-3,
    .amti-form-grid-4,
    .amti-cadastro-header-row
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  /* Layouts de 2 painéis do app empilham (agenda, PDV, IA, vendas) */
  .amti-content-container .agenda-tab-layout,
  .amti-content-container .pdv-layout,
  .amti-content-container .ai-advisor-layout,
  .amti-content-container .sales-layout,
  .amti-content-container .agenda-layout {
    flex-direction: column !important;
    height: auto !important;
  }
  .amti-content-container .amti-home-actions {
    gap: 6px !important;
  }
  .amti-content-container .amti-home-action-btn {
    min-height: 38px !important;
    padding: 6px 9px !important;
    gap: 7px !important;
    border-radius: var(--radius-md, 8px) !important;
  }

  /* Tabela rápida de OS no Início: 3 colunas harmoniosas (OS, Cliente, Aparelho) */
  #tab-home .amti-dashboard-grid .os-table {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  #tab-home .amti-dashboard-grid .os-table th {
    padding: 5px 6px !important;
    font-size: 0.8rem !important;
    line-height: 1.2 !important;
  }
  #tab-home .amti-dashboard-grid .os-table td {
    padding: 6px 6px !important;
  }
  #tab-home .amti-dashboard-grid .os-table th:nth-child(1),
  #tab-home .amti-dashboard-grid .os-table td:nth-child(1) {
    font-weight: 700 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
  #tab-home .amti-dashboard-grid .os-table th:nth-child(2),
  #tab-home .amti-dashboard-grid .os-table td:nth-child(2) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }
  #tab-home .amti-dashboard-grid .os-table th:nth-child(3),
  #tab-home .amti-dashboard-grid .os-table td:nth-child(3) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    text-align: right !important;
  }
  #tab-home .amti-dashboard-grid .os-table th:nth-child(n+4),
  #tab-home .amti-dashboard-grid .os-table td:nth-child(n+4),
  #tab-home .amti-dashboard-grid .os-table colgroup col:nth-child(n+4) {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    visibility: collapse !important;
  }
  #tab-home .amti-dashboard-grid .os-table colgroup col:nth-child(1) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  #tab-home .amti-dashboard-grid .os-table colgroup col:nth-child(2) {
    width: auto !important;
    min-width: 0 !important;
  }
  #tab-home .amti-dashboard-grid .os-table colgroup col:nth-child(3) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  #tab-home .amti-dashboard-grid .os-table tbody tr {
    height: 44px !important;
    cursor: pointer !important;
  }

  /* Painel de Ordens de Serviço (OS) no mobile: tamanho exato da tela do smartphone */
  #tab-orders.active {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 0 !important;
    height: calc(100vh - var(--rf-topbar-h, 52px) - 20px) !important;
    height: calc(100dvh - var(--rf-topbar-h, 52px) - 20px - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100vh - var(--rf-topbar-h, 52px) - 20px) !important;
    max-height: calc(100dvh - var(--rf-topbar-h, 52px) - 20px - env(safe-area-inset-bottom, 0px)) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  #tab-orders #activeOsCard,
  #tab-orders #finalizedOsArchiveCard {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 8px 12px !important;
    border-radius: var(--radius-lg);
  }

  /* Temas de bloco no mobile: cantos retos para cards/botões, mas NÃO para ícones-badge */
  html[data-theme='block-steel'] .amti-card,
  html[data-theme='block-steel'] .amti-grid-card,
  html[data-theme='block-steel'] .amti-stat-card,
  html[data-theme='block-steel'] .amti-archive-card,
  html[data-theme='block-steel'] .amti-modal-content,
  html[data-theme='block-steel'] .amti-btn,
  html[data-theme='block-steel'] .amti-form-control,
  html[data-theme='block-blue'] .amti-card,
  html[data-theme='block-blue'] .amti-grid-card,
  html[data-theme='block-light'] .amti-card,
  html[data-theme='block-light'] .amti-grid-card,
  html[data-theme='dark-block'] .amti-card,
  html[data-theme='dark-block'] .amti-grid-card {
    border-radius: 0px !important;
  }

  /* Ícones-badge dos cards na Home: perfeitamente quadrados (42x42) e sem arredondamentos (0px) */
  #tab-home .amti-dashboard-grid .amti-card-header-avatar,
  #tab-home .amti-dashboard-grid .amti-smart-search-glow-icon,
  #tab-home .amti-dashboard-grid .pdv-widget-header-avatar,
  #tab-home .amti-dashboard-grid .os-card .amti-card-header-avatar,
  #tab-home .amti-dashboard-grid .agenda-card .amti-card-header-avatar,
  #tab-home .amti-dashboard-grid .os-avatar,
  #tab-home .amti-dashboard-grid .agenda-avatar,
  #tab-home .amti-dashboard-grid .notes-avatar,
  #tab-home .amti-dashboard-grid .brain-avatar,
  #tab-home .amti-dashboard-grid .ai-avatar,
  #tab-home .amti-dashboard-grid .clock-avatar,
  #tab-home .amti-dashboard-grid .calendar-avatar,
  #tab-home .amti-dashboard-grid .shortcut-avatar,
  #tab-home .amti-card-header-avatar,
  #tab-home .pdv-widget-header-avatar,
  #tab-home .amti-smart-search-glow-icon,
  #tab-home .os-avatar,
  #tab-home .agenda-avatar,
  #tab-home .notes-avatar,
  #tab-home .brain-avatar,
  #tab-home .ai-avatar,
  #tab-home .clock-avatar,
  #tab-home .calendar-avatar,
  #tab-home .shortcut-avatar {
    border-radius: 0px !important;
    aspect-ratio: 1 / 1 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    flex: 0 0 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    margin: 0 !important;
  }


  /* Card colapsado: mantém a mesma presença vertical dos demais cards mobile. */
  #tab-orders #activeOsCard[data-collapsed="true"],
  #tab-orders #finalizedOsArchiveCard[data-collapsed="true"] {
    flex: 0 0 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    overflow: hidden !important;
    padding: 8px 12px !important;
    cursor: pointer !important;
  }

  #tab-orders #activeOsCard[data-collapsed="true"] .os-card-header,
  #tab-orders #finalizedOsArchiveCard[data-collapsed="true"] .os-card-header {
    margin-bottom: 0 !important;
  }

  #tab-orders #activeOsCard[data-collapsed="true"] #activeOsBody,
  #tab-orders #finalizedOsArchiveCard[data-collapsed="true"] #finalizedOsArchiveBody {
    display: none !important;
  }

  /* Card expandido: preenche exatamente o restante da altura da tela do smartphone */
  #tab-orders #activeOsCard:not([data-collapsed="true"]),
  #tab-orders #finalizedOsArchiveCard:not([data-collapsed="true"]) {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: calc(100% - 54px) !important;
    overflow: hidden !important;
    position: relative !important;
  }

  #tab-orders .os-card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    padding: 0 0 6px 0 !important;
    margin: 0 0 6px 0 !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14) !important;
    min-height: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
    gap: 8px !important;
    flex: 0 0 42px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 10 !important;
    background: transparent !important;
  }

  /* Painel de busca fechado: zero espaço ocupado */
  #tab-orders .amti-search-panel[data-visible="false"],
  #tab-orders .os-card-search-panel[data-visible="false"],
  #tab-orders .amti-search-panel:not(.amti-search-panel-open):not([data-visible="true"]),
  .amti-search-panel[data-visible="false"],
  .os-card-search-panel[data-visible="false"] {
    display: none !important;
    max-width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #tab-orders .amti-card-header-main {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    flex-wrap: nowrap !important;
  }

  #tab-orders .amti-card-header-avatar {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    flex: 0 0 32px !important;
  }

  #tab-orders .amti-card-header-titles {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    gap: 1px !important;
  }

  #tab-orders .amti-card-header-title {
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
  }

  #tab-orders .amti-card-header-subtitle {
    font-size: 0.68rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.15 !important;
    color: var(--text-secondary, #94a3b8) !important;
  }

  #tab-orders .os-card-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }

  #tab-orders .os-card-actions > .amti-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: auto !important;
    height: 32px !important;
    padding: 0 8px !important;
    font-size: 0.76rem !important;
    white-space: nowrap !important;
  }

  /* Botões "+" (Nova OS) e "Pesquisar" do card "Gerenciamento de OS" no mobile:
     quadrados, mesma altura e com o ícone interno centralizado (Início e Ordens de Serviço) */
  #tab-home .amti-dashboard-grid .os-card .os-card-actions .os-card-search-shell {
    height: 38px !important;
  }
  #tab-home .amti-dashboard-grid .os-card .os-card-actions .amti-btn.amti-btn-primary,
  #tab-home .amti-dashboard-grid .os-card .os-card-actions .os-card-search-btn,
  #tab-home .amti-dashboard-grid .os-card .os-card-actions .amti-os-search-btn,
  #tab-home .amti-dashboard-grid .os-card .os-card-actions .amti-global-os-btn,
  #tab-orders .os-card-actions .amti-btn.amti-btn-primary,
  #tab-orders .os-card-actions .amti-global-os-btn,
  #tab-orders .os-card-actions .amti-search-btn,
  #tab-orders .os-card-actions .os-card-search-btn,
  #tab-orders .os-card-actions .amti-os-search-btn {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    flex: 0 0 38px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }
  /* Oculta o rótulo "Nova OS" no mobile, deixando apenas o ícone "+" centralizado */
  #tab-home .amti-dashboard-grid .os-card .os-card-actions .amti-btn.amti-btn-primary .amti-btn-label,
  #tab-home .amti-dashboard-grid .os-card .os-card-actions .amti-global-os-btn .amti-btn-label,
  #tab-orders .os-card-actions .amti-global-os-btn .amti-btn-label,
  #tab-orders .os-card-actions .amti-btn.amti-btn-primary .amti-btn-label {
    display: none !important;
  }

  /* Texto descritivo compacto */
  #tab-orders #activeOsBody > div:first-child,
  #tab-orders #finalizedOsArchiveBody > div:first-child {
    margin: 2px 0 6px 0 !important;
    padding: 0 !important;
    font-size: 0.74rem !important;
    line-height: 1.25 !important;
    flex: 0 0 auto !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Corpo do card expandido */
  #tab-orders #activeOsBody,
  #tab-orders #finalizedOsArchiveBody {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  /* Tabela de OS: rolagem interna suave, cabeçalho fixo, nunca estoura a tela */
  #tab-orders .os-table-wrap {
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  /* A área de rolagem preenche o card; as linhas mantêm a altura do conteúdo. */
  #tab-orders .os-table {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  #tab-orders .os-table th {
    padding: 5px 6px !important;
    font-size: 0.8rem !important;
    line-height: 1.2 !important;
  }

  #tab-orders .os-table td {
    padding: 6px 6px !important;
  }

  #tab-orders .os-table th:nth-child(1),
  #tab-orders .os-table td:nth-child(1) {
    font-weight: 700 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  #tab-orders .os-table th:nth-child(2),
  #tab-orders .os-table td:nth-child(2) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  #tab-orders .os-table th:nth-child(3),
  #tab-orders .os-table td:nth-child(3) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  #tab-orders .os-table th:nth-child(n+4),
  #tab-orders .os-table td:nth-child(n+4),
  #tab-orders .os-table colgroup col:nth-child(n+4) {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    visibility: collapse !important;
  }
  #tab-orders .os-table colgroup col:nth-child(1) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  #tab-orders .os-table colgroup col:nth-child(2) {
    width: auto !important;
    min-width: 0 !important;
  }
  #tab-orders .os-table colgroup col:nth-child(3) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  #tab-orders .os-table tbody tr {
    height: 42px !important;
    cursor: pointer !important;
  }

  /* Agenda e painéis móveis: remover flexões e larguras calculadas do desktop. */
  .agenda-tab-layout,
  .agenda-tab-layout > div,
  .pdv-layout,
  .ai-advisor-layout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .agenda-tab-layout .amti-grid-card,
  .pdv-layout .amti-grid-card,
  .ai-advisor-layout .amti-grid-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 12px !important;
  }
  .agenda-tab-layout .amti-card-body,
  .pdv-layout .amti-card-body,
  .ai-advisor-layout .amti-card-body {
    overflow: visible !important;
  }
  .agenda-list,
  .agenda-items-container,
  .pdv-cart,
  .pdv-catalog,
  .ai-advisor-chat,
  .ai-advisor-suggestions {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  /* Layout de compromissos da agenda estilo aplicativo nativo */
  .agenda-item {
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    border-radius: 0 var(--radius-md, 8px) var(--radius-md, 8px) 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }
  .agenda-item .agenda-info {
    width: 100% !important;
    gap: 4px !important;
  }
  .agenda-item .agenda-title {
    font-size: 0.96rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }
  .agenda-item .agenda-meta {
    gap: 8px 14px !important;
    font-size: 0.8rem !important;
    flex-wrap: wrap !important;
  }
  .agenda-item .agenda-actions-group {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-end !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--border-color, rgba(255, 255, 255, 0.07)) !important;
    margin-top: 6px !important;
    gap: 6px !important;
  }
  .agenda-item .agenda-actions-group .amti-badge {
    align-self: flex-end !important;
    margin: 0 !important;
    font-size: 0.75rem !important;
    padding: 3px 8px !important;
  }
  .agenda-item .agenda-action-btns {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
  }
  .agenda-item .agenda-action-btns .amti-btn,
  .agenda-item .agenda-actions-group .amti-btn {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.9rem !important;
  }

  /* Modais: cabeçalho, corpo e rodapé formam uma coluna sem sobreposição. */
  .amti-modal-content,
  .modal-content,
  .os-modal {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    max-height: 94vh !important;
    max-height: 94dvh !important;
  }
  .amti-modal-header,
  .modal-header,
  .os-modal-header {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }
  .amti-modal-header h3,
  .modal-header h3,
  .os-modal-header h3 {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .amti-modal-body,
  .modal-body,
  .os-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
  }
  /* ==========================================================================
     RODAPÉS DE MODAIS E POPUPS NO MOBILE: COMPACTOS, LADO A LADO E ERGONÔMICOS
     Elimina botões gigantes/esticados e libera área nobre para o formulário
     ========================================================================== */
  .amti-modal:not(#viewOsModal):not(#osModal):not(#newOSFlowModal):not(#viewAgendaModal):not(#osUnsavedPopup) .amti-modal-footer:not(#osFlowFooter):not(#viewAgendaModalFooter):not(.ai-alert-modal-footer),
  .modal:not(#viewOsModal):not(#osModal):not(#newOSFlowModal):not(#viewAgendaModal):not(#osUnsavedPopup) .modal-footer:not(#viewAgendaModalFooter),
  .os-modal:not(#viewOsModal):not(#osModal):not(#newOSFlowModal):not(#viewAgendaModal):not(#osUnsavedPopup) .os-modal-footer:not(#viewAgendaModalFooter),
  .amti-modal-footer:not(#viewOsModalFooter):not(.amti-os-footer-actions):not(#osFlowFooter):not(#viewAgendaModalFooter):not(.ai-alert-modal-footer),
  .zn-modal-footer,
  .modal-footer:not(#viewOsModalFooter):not(#viewAgendaModalFooter),
  .os-modal-footer:not(#viewAgendaModalFooter) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)) 14px !important;
    min-height: 56px !important;
    height: auto !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: var(--bg-surface, var(--card-surface, #1e293b)) !important;
    border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
  }

  /* Botões dos rodapés de modais/popups: tamanho padronizado elegante (altura 40px), lado a lado */
  .amti-modal:not(#viewOsModal):not(#osModal):not(#newOSFlowModal):not(#viewAgendaModal):not(#osUnsavedPopup) .amti-modal-footer:not(#osFlowFooter):not(#viewAgendaModalFooter):not(.ai-alert-modal-footer):not(.amti-tips-center-footer) > *,
  .modal:not(#viewOsModal):not(#osModal):not(#newOSFlowModal):not(#viewAgendaModal):not(#osUnsavedPopup) .modal-footer:not(#viewAgendaModalFooter) > *,
  .os-modal:not(#viewOsModal):not(#osModal):not(#newOSFlowModal):not(#viewAgendaModal):not(#osUnsavedPopup) .os-modal-footer:not(#viewAgendaModalFooter) > *,
  .amti-modal-footer:not(#viewOsModalFooter):not(.amti-os-footer-actions):not(#osFlowFooter):not(#viewAgendaModalFooter):not(.ai-alert-modal-footer):not(.amti-tips-center-footer) > *,
  .zn-modal-footer > *,
  .modal-footer:not(#viewOsModalFooter):not(#viewAgendaModalFooter) > *,
  .os-modal-footer:not(#viewAgendaModalFooter) > *,
  .amti-modal-footer:not(#viewOsModalFooter):not(.amti-os-footer-actions):not(#osFlowFooter):not(#viewAgendaModalFooter):not(.amti-tips-center-footer) .amti-btn,
  .modal-footer:not(#viewOsModalFooter):not(#viewAgendaModalFooter) .amti-btn,
  .os-modal-footer:not(#viewAgendaModalFooter) .amti-btn,
  .amti-modal-footer:not(#viewOsModalFooter):not(.amti-os-footer-actions):not(#osFlowFooter):not(#viewAgendaModalFooter):not(.amti-tips-center-footer) button,
  .modal-footer:not(#viewOsModalFooter):not(#viewAgendaModalFooter) button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 12px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    line-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
  }

  /* Modal com botão único no rodapé: largura elegante sem esticar a tela inteira */
  .amti-modal-footer:not(#viewOsModalFooter):not(#viewAgendaModalFooter):not(.ai-alert-modal-footer) > :only-child,
  .modal-footer:not(#viewOsModalFooter):not(#viewAgendaModalFooter) > :only-child {
    flex: 0 0 auto !important;
    min-width: 130px !important;
    margin-left: auto !important;
  }

  /* Assistente de Criação de OS (#newOSFlowModal): respeita o padrão idêntico a #viewOsModalFooter */
  #newOSFlowModal .amti-modal-footer,
  #osFlowFooter {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)) 14px !important;
    box-sizing: border-box !important;
    background: var(--bg-surface, var(--card-surface, #1e293b)) !important;
    border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
  }
  #osFlowFooter > div[style*="display:none"],
  #osFlowFooter > div[style*="display: none"],
  #osFlowFooter > .amti-inline-actions[style*="display:none"],
  #osFlowFooter > .amti-inline-actions[style*="display: none"] {
    display: none !important;
  }
  #osFlowFooter .amti-inline-actions {
    flex: 1 1 100% !important;
    width: 100% !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    gap: 10px !important;
    min-height: 0 !important;
    height: auto !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  #osFlowFooter .amti-btn,
  #osFlowFooter button {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    box-sizing: border-box !important;
  }

  /* ===================================================================
     MODAL EDITAR OS (#osModal) - Rodapé compacto modo app nativo
     Linha 1: Sair (fixo 64px) | Salvar OS | Concluir OS  → 40px
     Linha 2: chips de impressão deslizantes               → 32px
     Total rodapé ≈ 94px (vs ~180px antes)
     =================================================================== */
  #osModal .amti-modal-footer.amti-os-footer-actions,
  #osModal .amti-os-footer-actions {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)) 12px !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    background: var(--bg-surface, var(--card-surface, #1e293b)) !important;
    border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
  }

  /* Neutralizar a regra genérica .amti-modal-footer > * que aplicaria height:40px
     nos divs-grupo (amti-os-save-group, amti-os-print-group) — eles precisam de height:auto */
  #osModal .amti-os-footer-actions > div,
  #osModal .amti-os-save-group,
  #osModal .amti-os-print-group {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    line-height: normal !important;
  }

  /* Linha 1: Sair | Salvar OS | Concluir OS */
  #osModal .amti-os-save-group {
    order: 1 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  #osModal .amti-os-save-group .amti-btn,
  #osModal .amti-os-save-group button {
    flex: 1 1 0 !important;
    width: auto !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    line-height: 40px !important;
    padding: 0 8px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    border-radius: 0px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  #osModal .amti-os-save-group .amti-btn span,
  #osModal .amti-os-save-group button span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  #osModal .amti-os-save-group .amti-btn i,
  #osModal .amti-os-save-group button i {
    flex-shrink: 0 !important;
  }
  /* Botão Sair: ícone pequeno, fixo */
  #osModal .amti-os-save-group .amti-btn:first-child,
  #osModal .amti-os-save-group button:first-child {
    flex: 0 0 58px !important;
    font-size: 0.82rem !important;
    border-radius: 0px !important;
  }

  /* Linha 2: chips de impressão e sinal (deslizam horizontalmente se necessário) */
  #osModal .amti-os-print-group {
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  #osModal .amti-os-print-group::-webkit-scrollbar {
    display: none !important;
  }
  #osModal .amti-os-print-group .amti-btn,
  #osModal .amti-os-print-group button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    line-height: 1 !important;
    padding: 0 6px !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    border-radius: 0px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  #osModal .amti-os-print-group .amti-btn span,
  #osModal .amti-os-print-group button span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  #osModal .amti-os-print-group .amti-btn i,
  #osModal .amti-os-print-group button i {
    flex-shrink: 0 !important;
    font-size: 0.8rem !important;
  }

  /* --- MODAL VISUALIZAR OS (#viewOsModal) - Experiência de App Nativo --- */
  #viewOsModal .amti-modal-content,
  #viewOsModal .amti-modal-content-xl {
    width: 100% !important;
    max-width: 100% !important;
    height: 96vh !important;
    height: 96dvh !important;
    max-height: 96dvh !important;
    margin: 0 !important;
    border-radius: var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #viewOsModal .amti-modal-header {
    padding: 12px 14px !important;
    flex-shrink: 0 !important;
  }
  #viewOsModalBody {
    padding: 12px 14px !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .view-os-hero {
    padding: 12px 14px !important;
    margin-bottom: 12px !important;
    border-radius: var(--radius-lg, 12px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .view-os-hero-info, .view-os-hero-total {
    width: 100% !important;
    min-width: 0 !important;
  }
  .view-os-grid-2col,
  #viewOsContent [style*="grid-template-columns"],
  #viewOsContent [style*="1fr 1fr"] {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  #viewOsContent .os-modal-section {
    border-radius: var(--radius-md, 8px) !important;
    margin-bottom: 0 !important;
    min-width: 0 !important;
  }
  #viewOsContent .view-os-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    padding: 6px 0 !important;
    border-top: 1px solid rgba(148, 163, 184, 0.07) !important;
  }
  #viewOsContent .view-os-row:first-child {
    border-top: none !important;
    padding-top: 2px !important;
  }
  #viewOsContent .view-os-label {
    flex: 0 0 auto !important;
    width: 100% !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: var(--text-secondary, #94a3b8) !important;
    line-height: 1.2 !important;
    margin-bottom: 1px !important;
  }
  #viewOsContent .view-os-row > span:last-child {
    flex: 1 1 100% !important;
    width: 100% !important;
    font-size: 0.94rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    color: var(--text-primary, #f1f5f9) !important;
  }
  /* Rodapé do Visualizar OS: hierarquia ergonômica compacta (zero desperdício de tela) */
  #viewOsModal .amti-modal-footer,
  #viewOsModalFooter {
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) 10px !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: var(--bg-card, #131a25) !important;
    border-top: 1px solid var(--border-color, rgba(148, 163, 184, 0.15)) !important;
  }

  /* Neutralizar qualquer flex-grow ou flex-basis herdado de regras genéricas de footer */
  #viewOsModal .amti-modal-footer > *,
  #viewOsModalFooter > *,
  #viewOsModalFooter .view-os-footer-main,
  #viewOsModalFooter .view-os-footer-docs {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    height: auto !important;
  }

  /* Linha 1 no mobile: Ações Operacionais (Sair, Editar, Concluir) em UMA ÚNICA LINHA de 38px */
  #viewOsModalFooter .view-os-footer-main {
    order: 1 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
  }

  /* Linha 2 no mobile: mesma faixa horizontal de documentos do popup Editar OS. */
  #viewOsModalFooter .view-os-footer-docs {
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  #viewOsModalFooter .view-os-footer-docs::-webkit-scrollbar {
    display: none !important;
  }

  #viewOsModalFooter .view-os-footer-docs .os-modal-action-button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  #viewOsModalFooter .view-os-btn-doc span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  #viewOsModalFooter .view-os-doc-label-desktop {
    display: none !important;
  }

  #viewOsModalFooter .view-os-doc-label-mobile {
    display: inline !important;
  }

  #agendaModal #agUsuariosOptions .amti-user-multiselect-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  #agendaModal #agUsuariosOptions .amti-user-multiselect-option > input[type="checkbox"] {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    align-self: center !important;
  }

  #agendaModal #agUsuariosOptions .amti-user-multiselect-option > span {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }

  #agendaModal .agenda-client-picker-row {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #agendaModal .agenda-client-picker-row #agClienteContainer {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #agendaModal .agenda-client-create-btn {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--radius-md, 8px) !important;
  }

  #agendaModal .agenda-client-create-btn i {
    margin: 0 !important;
    font-size: 1rem !important;
  }

  /* Fluxo de abertura de OS: stepper horizontal em pills deslizantes */
  .amti-step-progress {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 6px !important;
    padding-bottom: 6px !important;
    margin-bottom: 12px !important;
  }
  .amti-step-progress::-webkit-scrollbar {
    display: none !important;
  }
  .amti-step-progress .amti-step-pill {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    padding: 7px 12px !important;
    font-size: 0.78rem !important;
    white-space: nowrap !important;
    border-radius: var(--radius-full, 9999px) !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }
  #osFlowFooter .amti-inline-actions {
    width: 100% !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  #osFlowFooter .amti-inline-actions > * {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Sub-abas do PDV em pills deslizantes horizontais sem quebra feia de palavras */
  .pdv-tabs,
  .pdv-nav,
  .pdv-subnav,
  .amti-nav-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 8px !important;
    padding-bottom: 6px !important;
    margin-bottom: 12px !important;
    min-width: 0 !important;
  }
  .pdv-tabs::-webkit-scrollbar,
  .pdv-nav::-webkit-scrollbar,
  .amti-nav-tabs::-webkit-scrollbar {
    display: none !important;
  }
  .pdv-tabs > *,
  .pdv-nav > *,
  .amti-nav-tabs > * {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    font-size: 0.84rem !important;
    padding: 8px 14px !important;
    border-radius: var(--radius-md, 8px) !important;
  }
  .pdv-tabs button,
  .pdv-nav button {
    min-height: 40px !important;
    white-space: nowrap !important;
  }

  /* Chat do Gerente IA: estilo mensageiro nativo */
  #tab-ai-advisor,
  #tab-ai-manager,
  .ai-advisor-layout {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }
  .ai-advisor-chat {
    min-height: 0 !important;
    height: auto !important;
  }
  .ai-advisor-messages {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .ai-advisor-input-bar {
    padding: 8px 10px calc(12px + env(safe-area-inset-bottom)) 10px !important;
  }
  .ai-advisor-layout input,
  .ai-advisor-layout textarea,
  .ai-advisor-layout button {
    max-width: 100% !important;
  }

  /* Orelha de feedback: habilitada no modo mobile quando ativada no Sistema de Feedback (posicionada mais acima) */
  #feedbackEarTab.visible {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    top: 18% !important;
    right: 0 !important;
    z-index: 999991 !important;
    padding: 12px 6px !important;
    font-size: 10px !important;
    box-shadow: -3px 4px 16px rgba(0, 0, 0, 0.35) !important;
  }
  #feedbackEarTab.hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Apenas no modo mobile: remove o arredondamento das bordas nos temas block */
  html[data-theme='block-steel'] #feedbackEarTab,
  html[data-theme='block-blue'] #feedbackEarTab,
  html[data-theme='block-light'] #feedbackEarTab,
  html[data-theme='dark-block'] #feedbackEarTab,
  html[data-theme*='block'] #feedbackEarTab,
  body[class*='theme-block'] #feedbackEarTab,
  body.theme-dark-block #feedbackEarTab {
    border-radius: 0 !important;
  }

  html[data-theme='block-steel'] #feedbackPanel,
  html[data-theme='block-blue'] #feedbackPanel,
  html[data-theme='block-light'] #feedbackPanel,
  html[data-theme='dark-block'] #feedbackPanel,
  html[data-theme*='block'] #feedbackPanel,
  body[class*='theme-block'] #feedbackPanel,
  body.theme-dark-block #feedbackPanel {
    border-radius: 0 !important;
  }

  /* Nos temas padrão com bordas arredondadas (dark, light), mantém cantos suaves */
  html[data-theme='dark'] #feedbackEarTab,
  html[data-theme='light'] #feedbackEarTab,
  body.theme-dark #feedbackEarTab,
  body.theme-light #feedbackEarTab {
    border-radius: 8px 0 0 8px !important;
  }

  html[data-theme='dark'] #feedbackPanel,
  html[data-theme='light'] #feedbackPanel,
  body.theme-dark #feedbackPanel,
  body.theme-light #feedbackPanel {
    border-radius: 18px 0 0 18px !important;
  }

  .agenda-tab-layout > *, .pdv-layout > *, .ai-advisor-layout > *,
  .sales-layout > *, .agenda-layout > * {
    width: 100% !important;
    flex: none !important;
    max-width: 100% !important;
  }

  /* Início: 1 coluna no retrato */
  .amti-dashboard-grid {
    grid-template-columns: 1fr !important;
  }

  /* Modais gerais viram bottom-sheet respeitando temas */
  .amti-modal, .modal, .os-modal-backdrop {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 !important;
  }
  .amti-modal-content, .modal-content, .os-modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 94vh !important;
    max-height: 94dvh !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    border-radius: var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0 !important;
  }
  :is(.amti-modal-body, .modal-body, .os-modal-body) {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  :is(.amti-modal-body, .modal-body, .os-modal-body) :is(
    .amti-form-row,
    .os-client-equip-row,
    .os-form-row,
    .form-row,
    .zn-form-row,
    .amti-form-grid-2,
    .amti-form-grid-3,
    .amti-form-grid-4,
    .amti-cadastro-header-row,
    .amti-form-group,
    .form-group,
    .os-modal-section,
    .os-modal-section-body
  ) {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  :is(.amti-modal-body, .modal-body, .os-modal-body) :is(
    .amti-form-row,
    .os-client-equip-row,
    .os-form-row,
    .form-row,
    .zn-form-row,
    .amti-form-grid-2,
    .amti-form-grid-3,
    .amti-form-grid-4,
    .amti-cadastro-header-row
  ) > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  :is(.amti-modal-body, .modal-body, .os-modal-body) :is(
    .amti-form-control,
    .amti-combobox,
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
  ) {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #osModal,
  #osModal .amti-modal-content,
  #osModal .amti-modal-content-xl,
  #osModal form,
  #osModal .amti-modal-body,
  #osModal .os-modal-body,
  #osModal .os-modal-section,
  #osModal .os-modal-section-body,
  .os-modal-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }
  #osModal .amti-form-row,
  #osModal .os-client-equip-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #osModal .amti-combobox-dropdown {
    max-width: calc(100vw - 32px) !important;
  }
  #osModal input,
  #osModal select,
  #osModal textarea,
  #osModal .amti-form-control,
  #osModal .amti-combobox {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Painel de busca de serviços: não vazar para fora da tela no mobile */
  #osModal .os-service-search-shell {
    position: relative !important;
  }
  #osModal .os-service-search-panel[data-visible="false"],
  #osModal .os-service-search-panel:not([data-visible="true"]) {
    display: none !important;
  }
  #osModal .os-service-search-panel[data-visible="true"] {
    display: block !important;
    position: absolute !important;
    top: calc(100% + 4px) !important;
    right: 0 !important;
    left: auto !important;
    width: min(320px, calc(100vw - 36px)) !important;
    max-width: calc(100vw - 36px) !important;
    box-sizing: border-box !important;
  }

  /* Tabela de serviços e linhas de itens: se adaptam à largura do smartphone sem rolar para fora */
  #osModal .os-services-actions-bar {
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 8px !important;
  }
  #osModal .os-services-table-header {
    grid-template-columns: 32px minmax(0, 1fr) 60px 65px !important;
    gap: 4px !important;
    padding: 6px 8px !important;
    box-sizing: border-box !important;
  }
  #osModal .amti-os-item-row .amti-os-row {
    grid-template-columns: 32px minmax(0, 1fr) 60px 65px 50px !important;
    gap: 4px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
  }
  #osModal .amti-os-item-row .os-row-custo,
  #osModal .amti-os-item-row .os-service-custo {
    display: block !important;
  }
  #osModal .amti-os-item-row .amti-form-control {
    min-width: 0 !important;
    padding: 4px 6px !important;
    font-size: 0.8rem !important;
  }

  /* Técnico responsável e anotações internas */
  #osModal .os-internal-tech-header {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  #osModal #osTecnicoResponsavel {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Totalizador da OS no mobile */
  #osModal .os-services-total-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    box-sizing: border-box !important;
  }

  /* Buscas e filtros quebram linha */
  .os-card-actions, .crm-filters, .filter-bar, .search-bar {
    flex-wrap: wrap !important;
  }
  .os-card-actions input, .crm-filters input, .filter-bar input {
    flex: 1 1 140px !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }

  /* Evita campos com largura fixa conhecida estourando (IDs do PDV) */
  #pdvHistoricoSearch {
    width: 100% !important;
    max-width: 100% !important;
  }
  .pdv-history-panel, .pdv-panel {
    max-width: 100% !important;
  }

  /* Tabelas móveis */
  .amti-table,
  .amti-table-container table,
  .table-responsive table,
  .table-wrapper table,
  .os-table-wrapper table {
    min-width: 100% !important;
    width: max-content !important;
    max-width: none !important;
    table-layout: auto !important;
  }
  .amti-table th:not(.os-table th),
  .amti-table td:not(.os-table td) {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .os-table th,
  .os-table td,
  #tab-home .os-table th,
  #tab-home .os-table td,
  #activeOsCard .os-table th,
  #activeOsCard .os-table td {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  #tab-sales .pdv-product-grid,
  #tab-sales .pdv-cart-items {
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Ocultação total e absoluta de qualquer aba inativa com especificidade máxima */
  .amti-tab-pane:not(.active),
  #tab-home:not(.active),
  #tab-agenda:not(.active),
  #tab-orders:not(.active),
  #tab-sales:not(.active),
  #tab-clients:not(.active),
  #tab-equipments:not(.active),
  #tab-stock:not(.active),
  #tab-finance:not(.active),
  #tab-ai-advisor:not(.active),
  #tab-whatsapp:not(.active),
  #tab-cadastros:not(.active),
  #tab-settings:not(.active),
  #tab-customers:not(.active) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    overflow: hidden !important;
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }

  /* Modais fechados não ocupam espaço no fluxo */
  .amti-modal.hidden,
  #viewOsModal.hidden {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    position: fixed !important;
    pointer-events: none !important;
  }

  /* Aba ativa no mobile: começa imediatamente abaixo da topbar, sem espaços fantasmas */
  .amti-tab-pane.active {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
  }

  /* Tabs com flex no mobile: layout em coluna, altura limitada ao viewport (apenas abas com tabela fixa) */
  .amti-tab-pane.active.amti-flex-tab:not(#tab-orders):not(#tab-agenda):not(#tab-sales):not(#tab-ai-advisor) {
    display: flex !important;
    flex-direction: column !important;
    height: calc(100dvh - var(--rf-header-height) - 10px) !important;
    min-height: 0 !important;
    max-height: calc(100dvh - var(--rf-header-height) - 10px) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Tabs com rolagem contínua vertical no mobile */
  #tab-agenda.active,
  #tab-sales.active,
  #tab-finance.active,
  #tab-ai-advisor.active {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
  }

  /* Tabelas internas rolam dentro do card — sem overflow da página */
  #tab-clients .amti-table-container,
  #tab-equipments .amti-table-container,
  #tab-stock .amti-table-container,
  #tab-services .amti-table-container,
  #tab-suppliers .amti-table-container,
  #tab-finance .amti-table-container,
  #financeTableContainer,
  #tab-clients .amti-card-body,
  #tab-equipments .amti-card-body,
  #tab-stock .amti-card-body,
  #tab-services .amti-card-body {
    overflow-y: auto !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  /* Cards dentro de tabs: ocupam o espaço restante e clipam overflow, sem margem extra */
  .amti-tab-pane.active.amti-flex-tab:not(#tab-orders) > .amti-card.amti-flex-1,
  .amti-tab-pane.active.amti-flex-tab:not(#tab-orders) > .amti-card.amti-flex-col {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    border-radius: var(--radius-lg, 12px) !important;
  }

  /* Remove espaço vazio abaixo da tabela dentro dos cards de cadastro */
  #tab-clients .amti-table-container,
  #tab-equipments .amti-table-container,
  #tab-stock .amti-table-container,
  #tab-services .amti-table-container,
  #tab-suppliers .amti-table-container {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Início no mobile: ajustado ao conteúdo sem sobras */
  #tab-home.active {
    min-height: auto !important;
    height: auto !important;
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
  }
  #tab-home .amti-dashboard-grid {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Scroll e layout natural no mobile (<= 900px): a página rola fluidamente de ponta a ponta com header fixado */
  html {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: clip !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: auto !important;
  }

  body {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  .amti-shell {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-x: clip !important;
  }

  .amti-main {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-x: clip !important;
    touch-action: pan-y !important;
  }

  .amti-topbar {
    position: sticky !important;
    top: -1px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 900 !important;
    background: var(--topbar-bg, var(--bg-main)) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
  }

  /* Content container no mobile: respiro superior e inferior elegantes e sem excessos */
  .amti-content-container {
    flex: 0 0 auto !important;
    padding-top: 10px !important;
    padding-inline: 10px !important;
    padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    touch-action: pan-y !important;
    overscroll-behavior-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Quando tab com tabela está ativa: bloqueia scroll da página, deixa tabela rolar internamente */
  body.has-table-tab {
    overflow: hidden !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
  }
  html:has(body.has-table-tab) {
    overflow: hidden !important;
    height: 100dvh !important;
  }
  body.has-table-tab .amti-shell {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }
  body.has-table-tab .amti-main {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  body.has-table-tab .amti-content-container {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
  }

  /* Garantia: tabs com múltiplos cards e painéis (como Finanças e Comissão Técnica) nunca herdam trava de scroll */
  body:has(#tab-finance.active),
  html:has(#tab-finance.active),
  body:has(#tab-finance.active) .amti-shell,
  body:has(#tab-finance.active) .amti-main,
  body:has(#tab-finance.active) .amti-content-container,
  body:has(#tab-comissao-tecnica.active),
  html:has(#tab-comissao-tecnica.active),
  body:has(#tab-comissao-tecnica.active) .amti-shell,
  body:has(#tab-comissao-tecnica.active) .amti-main,
  body:has(#tab-comissao-tecnica.active) .amti-content-container {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .amti-modal-content,
  .modal-content,
  .os-modal {
    padding-bottom: env(safe-area-inset-bottom) !important;
  }
  .amti-modal-body,
  .modal-body,
  .os-modal-body {
    scroll-padding-bottom: calc(88px + env(safe-area-inset-bottom));
  }
  .amti-modal-footer,
  .modal-footer,
  .os-modal-footer {
    padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
  }

  /* Títulos de cards com leitura cristalina em qualquer largura de tela */
  .amti-grid-card .amti-card-header-title,
  .amti-grid-card .amti-card-header-subtitle,
  .amti-card .amti-card-title,
  .amti-card .amti-card-description {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    max-width: 100% !important;
  }
  .amti-grid-card .amti-card-header-title {
    line-height: 1.25 !important;
    display: block !important;
  }

  /* Tabela de itens da OS em cartões no mobile */
  #viewOsContent .view-os-items-table {
    display: block !important;
    border: 0 !important;
  }
  #viewOsContent .view-os-items-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  #viewOsContent .view-os-items-table tbody,
  #viewOsContent .view-os-items-table tr,
  #viewOsContent .view-os-items-table td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #viewOsContent .view-os-items-table tr {
    margin-bottom: 8px !important;
    padding: 8px !important;
    border: 1px solid var(--border-color, rgba(148,163,184,.2)) !important;
    border-radius: var(--radius-md, 8px) !important;
  }
  #viewOsContent .view-os-items-table td {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 4px 0 !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
  }
  #viewOsContent .view-os-items-table td::before {
    flex: 0 0 auto !important;
    color: var(--text-muted, #94a3b8) !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    text-align: left !important;
  }
  #viewOsContent .view-os-items-table td:nth-child(1)::before { content: "Qtd"; }
  #viewOsContent .view-os-items-table td:nth-child(2)::before { content: "Descrição"; }
  #viewOsContent .view-os-items-table td:nth-child(3)::before { content: "Valor unit."; }
  #viewOsContent .view-os-items-table td:nth-child(4)::before { content: "Subtotal"; }

  /* FAB Flutuante do Atalho Rápido no Mobile: tamanho equilibrado e respeitando temas */
  .back-to-top-fab,
  #monitoringFabBtn {
    bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    right: 16px !important;
    width: 50px !important;
    height: 50px !important;
    z-index: 99 !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35) !important;
  }
}

@media (min-width: 1024px) {
  /* Configurações PDV: distribui os cards em duas colunas no espaço
     disponível, mantendo cada seção independente e legível. */
  #tab-sales #pdvPanelConfig {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  #tab-sales #pdvPanelConfig > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 16px !important;
    width: min(1280px, 100%) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 20px 24px 0 !important;
    box-sizing: border-box !important;
    min-height: min-content !important;
  }

  #tab-sales #pdvPanelConfig .pdv-config-card {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

}

/* ==========================================================================
   TABLET (900px–1023px)
   ========================================================================== */
@media (min-width: 900.02px) and (max-width: 1023.98px) {
  .amti-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .agenda-tab-layout,
  .pdv-layout, .ai-advisor-layout {
    flex-direction: column !important;
    height: auto !important;
  }
  .agenda-tab-layout > *, .pdv-layout > *, .ai-advisor-layout > * {
    width: 100% !important;
    flex: none !important;
    max-width: 100% !important;
  }
  .amti-modal-content, .modal-content, .os-modal {
    width: min(94vw, 680px) !important;
  }
  .amti-title-area, .amti-topbar .amti-title-area {
    max-width: calc(100% - 170px);
  }
}

/* ==========================================================================
   PAISAGEM CURTA (celular deitado ~390px altura): economiza altura
   ========================================================================== */
@media (max-height: 500px) and (orientation: landscape) {
  .amti-topbar {
    min-height: 48px;
  }
  .amti-content-container {
    padding-top: 8px;
  }
  .amti-modal-content, .modal-content, .os-modal {
    max-height: 96vh !important;
    max-height: 96dvh !important;
  }
  .pdv-catalog {
    max-height: 40vh !important;
    max-height: 40dvh !important;
  }
  .finance-list {
    max-height: 40vh !important;
    max-height: 40dvh !important;
  }
}

/* --- Movimento reduzido --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   PÁGINA INÍCIO (#tab-home): ARREDONDAMENTO ZERO APENAS NOS TEMAS BLOCK.
   Nos temas Dark Blue/Light Ice os cards da Início seguem o raio 10px
   (regra de consistência de cantos mais abaixo).
   ========================================================================== */
:is(
  html[data-theme='block-steel'], html.theme-block-steel, body.theme-block-steel,
  html[data-theme='block-blue'], html.theme-block-blue, body.theme-block-blue,
  html[data-theme='block-light'], html.theme-block-light, body.theme-block-light,
  html[data-theme='dark-block'], html.theme-dark-block, body.theme-dark-block
) :is(
  #tab-home .amti-dashboard-grid > *,
  #tab-home .amti-dashboard-grid > .amti-grid-card,
  #tab-home .amti-grid-card,
  #tab-home .amti-card,
  #tab-home .os-card,
  #tab-home .agenda-card,
  #tab-home .shortcut-card,
  #tab-home .stat-card,
  #tab-home .amti-stat-card,
  #tab-home .amti-archive-card,
  #tab-home .amti-smart-search-card,
  #tab-home .amti-smart-search-chips-container,
  #tab-home .amti-smart-search-chip,
  #tab-home .amti-btn,
  #tab-home .amti-home-action-btn,
  #tab-home .amti-home-quick-actions-bar,
  #tab-home .amti-table-container,
  #tab-home .os-table-wrap,
  #tab-home .os-card-search-shell,
  #tab-home .os-card-search-panel,
  #tab-home .os-card-search-input-wrap,
  #tab-home .os-card-search-input,
  #tab-home .amti-notes-wrapper,
  #tab-home .sync-user-notes,
  #tab-home .amti-card-body,
  #tab-home .amti-dashboard-grid [class*="card"]
) {
  border-radius: 0px !important;
}

/* ==========================================================================
   CADASTRO E SUBPÁGINAS: AJUSTE DE MARGEM INFERIOR EXTERNA DOS CARDS
   Elimina o excesso de espaço externo inferior em TODAS as páginas de Cadastro:
   - #tab-cadastros (Hub principal de Cadastros)
   - #tab-clients (Clientes)
   - #tab-equipments (Aparelhos)
   - #tab-services (Serviços)
   - #tab-stock (Estoque)
   - #tab-comissao-tecnica (Comissão Técnica)
   ========================================================================== */

/* 1. DESKTOP & GLOBAL (> 900px) */
@media (min-width: 901px) {
  .amti-btn.amti-mobile-nav-toggle {
    display: none !important;
  }

  /* Container com respiro inferior compacto e simétrico quando páginas de cadastro estão ativas */
  .amti-content-container:is(
    :has(#tab-cadastros.active),
    :has(#tab-clients.active),
    :has(#tab-equipments.active),
    :has(#tab-services.active),
    :has(#tab-stock.active),
    :has(#tab-comissao-tecnica.active)
  ) {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    padding-inline: 16px !important;
  }

  @media (min-width: 1024px) {
    #tab-sales #pdvPanelConfig {
      flex: 1 1 0 !important;
      min-height: 0 !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
    }

    #tab-sales #pdvPanelConfig > div {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      align-items: start !important;
      gap: 16px !important;
      width: min(1280px, 100%) !important;
      max-width: 1280px !important;
      margin: 0 auto !important;
      padding: 20px 24px 0 !important;
      box-sizing: border-box !important;
    }

    #tab-sales #pdvPanelConfig .pdv-config-card {
      width: 100% !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }
  }

  /* Altura exata da flex-tab para terminar com margem de 12px inferior equilibrada */
  #tab-clients.active,
  #tab-equipments.active,
  #tab-services.active,
  #tab-stock.active {
    height: calc(100vh - var(--rf-topbar-h, 60px) - 24px) !important;
    max-height: calc(100vh - var(--rf-topbar-h, 60px) - 24px) !important;
    margin-bottom: 0 !important;
  }

  /* Cards de tabela em tela cheia de cadastro: margem inferior zero */
  #tab-clients > .amti-card,
  #tab-equipments > .amti-card,
  #tab-services > .amti-card,
  #tab-stock > .amti-card {
    margin: 0 !important;
    margin-bottom: 0 !important;
    border-radius: var(--radius-lg, 12px) !important;
  }

  /* Hub Cadastros: card exterior sem excesso inferior */
  #tab-cadastros > .amti-card.amti-settings-shell {
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 16px !important;
    border-radius: var(--radius-lg, 12px) !important;
  }

  #tab-cadastros .amti-settings-grid {
    margin-bottom: 0 !important;
    gap: 14px !important;
  }

  #tab-cadastros .amti-settings-card-soft {
    margin-bottom: 0 !important;
  }
}

/* O menu lateral do desktop fica sempre visível; o hambúrguer é somente mobile/tablet. */
.amti-btn.amti-mobile-nav-toggle {
  display: none !important;
}

@media (max-width: 900px) {
  .amti-btn.amti-mobile-nav-toggle {
    display: inline-flex !important;
  }
}

@media (min-width: 1024px) {
  .amti-sidebar .amti-sidebar-close {
    display: none !important;
  }
}

/* 2. COMISSÃO TÉCNICA (Desktop & Mobile) */
#tab-comissao-tecnica {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#tab-comissao-tecnica .amti-header {
  margin-bottom: 12px !important;
}

#tab-comissao-tecnica .comissao-filters-bar {
  margin-bottom: 12px !important;
}

#tab-comissao-tecnica .comissao-hero-cards {
  margin-bottom: 12px !important;
}

#tab-comissao-tecnica .comissao-main-grid {
  gap: 12px !important;
  margin-bottom: 12px !important;
}

#tab-comissao-tecnica .comissao-main-grid .amti-card {
  margin-bottom: 0 !important;
}

#tab-comissao-tecnica .comissao-charts-duo {
  gap: 12px !important;
  margin-bottom: 0 !important;
}

#tab-comissao-tecnica .comissao-config-panel {
  margin-bottom: 12px !important;
}

#tab-comissao-tecnica .comissao-config-panel.comissao-config-wide {
  margin-bottom: 0 !important;
}

/* Normalização final: mantém o intervalo vertical dos cards após os overrides
   específicos de cada aba e breakpoint. */
#tab-home .amti-dashboard-grid,
#tab-agenda .agenda-tab-layout,
#tab-agenda .agenda-tab-layout > div,
#tab-ai-advisor .ai-advisor-layout,
#tab-ai-advisor .ai-advisor-top-grid,
#tab-sales .pdv-layout,
#tab-cadastros .amti-settings-grid,
#tab-whatsapp .amti-whatsapp-layout,
#tab-comissao-tecnica .comissao-main-grid {
  row-gap: var(--rf-card-row-gap) !important;
}

#tab-ai-advisor .ai-advisor-top-grid,
#tab-sales .pdv-layout,
#tab-finance .amti-summary-grid,
#tab-finance > .amti-summary-grid {
  gap: var(--rf-card-gap) !important;
  row-gap: var(--rf-card-gap) !important;
  column-gap: var(--rf-card-gap) !important;
}

#tab-settings .amti-settings-footer-card {
  margin-top: var(--rf-card-gap) !important;
}

/* PDV: layout moderno e harmonioso do carrinho e fechamento de venda. */
#tab-sales .pdv-cart-summary {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

#tab-sales .pdv-cart-summary > * {
  width: 100% !important;
  min-width: 0 !important;
}

#tab-sales .pdv-page-two-col-row {
  display: grid !important;
  grid-template-columns: 1.25fr 0.85fr !important;
  gap: 10px !important;
  width: 100% !important;
}

#tab-sales .pdv-page-two-col-row .amti-form-group {
  margin-bottom: 0 !important;
  min-width: 0 !important;
}

#tab-sales #pdvSaleType,
#pdvSaleType {
  padding-left: 10px !important;
  padding-right: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#tab-sales .pdv-payment-pills {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 6px !important;
  width: 100% !important;
}

#tab-sales .pdv-pay-pill[data-method="fiado"] {
  grid-column: span 2 !important;
}

#tab-sales .pdv-cart-summary > .amti-pdv-summary-row {
  margin: 2px 0 !important;
  padding: 4px 0 !important;
}

#tab-sales .pdv-cart-summary > .amti-pdv-checkout-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 480px) {
  #tab-sales .pdv-page-two-col-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

#tab-ai-advisor .ai-advisor-top-grid > .ai-advisor-chat,
#tab-ai-advisor .ai-advisor-top-grid > .ai-advisor-suggestions {
  margin: 0 !important;
}

#tab-finance.active {
  display: flex !important;
  flex-direction: column !important;
  row-gap: var(--rf-card-row-gap) !important;
}

#tab-finance > .amti-summary-grid,
#tab-finance > .amti-card {
  margin-block: 0 !important;
}

#tab-comissao-tecnica .comissao-main-grid > div:first-child {
  gap: var(--rf-card-row-gap) !important;
}

#tab-comissao-tecnica .comissao-main-grid > div:nth-child(2) {
  gap: var(--rf-card-row-gap) !important;
}

@media (max-width: 1100px) {
  #tab-ai-advisor .ai-advisor-layout,
  #tab-ai-advisor .ai-advisor-top-grid,
  #tab-sales .pdv-layout {
    row-gap: var(--rf-card-row-gap) !important;
    column-gap: var(--rf-card-gap) !important;
  }
}

#tab-comissao-tecnica .amti-content-scroll,
#tab-comissao-tecnica .amti-container {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* 3. MOBILE (<= 900px) */
@media (max-width: 900px) {
  /* Respiro inferior enxuto de 10px em todas as páginas de Cadastro no mobile */
  .amti-content-container:is(
    :has(#tab-cadastros.active),
    :has(#tab-clients.active),
    :has(#tab-equipments.active),
    :has(#tab-services.active),
    :has(#tab-stock.active),
    :has(#tab-comissao-tecnica.active)
  ) {
    padding-top: 8px !important;
    padding-inline: 8px !important;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Altura da tab de cadastro flexível no mobile deixando exatamente 10px de respiro */
  #tab-clients.active,
  #tab-equipments.active,
  #tab-services.active,
  #tab-stock.active {
    height: calc(100dvh - var(--rf-topbar-h, 52px) - 18px - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100dvh - var(--rf-topbar-h, 52px) - 18px - env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Cards de tabela de cadastro: cantos arredondados elegantes e sem margem externa inferior sobrando */
  #tab-clients > .amti-card,
  #tab-equipments > .amti-card,
  #tab-services > .amti-card,
  #tab-stock > .amti-card {
    margin: 0 !important;
    margin-bottom: 0 !important;
    border-radius: var(--radius-lg, 12px) !important;
  }

  /* Página Hub de Cadastros no mobile */
  #tab-cadastros.active {
    height: auto !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  #tab-cadastros > .amti-card.amti-settings-shell {
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 12px !important;
    border-radius: var(--radius-lg, 12px) !important;
  }

  #tab-cadastros .amti-settings-grid {
    column-gap: var(--rf-card-gap) !important;
    row-gap: var(--rf-card-row-gap) !important;
    margin-bottom: 0 !important;
  }

  #tab-cadastros .amti-settings-card-soft {
    margin-bottom: 0 !important;
    border-radius: var(--radius-md, 8px) !important;
  }

  /* Comissão técnica no mobile */
  #tab-comissao-tecnica .comissao-filters-bar {
    margin-bottom: 10px !important;
  }
  #tab-comissao-tecnica .comissao-hero-cards {
    margin-bottom: 10px !important;
  }
  #tab-comissao-tecnica .comissao-main-grid {
    column-gap: var(--rf-card-gap) !important;
    row-gap: var(--rf-card-row-gap) !important;
    margin-bottom: 10px !important;
  }
  #tab-comissao-tecnica .comissao-config-panel {
    margin-bottom: 10px !important;
  }
  #tab-comissao-tecnica .comissao-config-panel.comissao-config-wide {
    margin-bottom: 0 !important;
  }
}

/* A separação entre os blocos da Comissão também segue o intervalo dos cards. */
#tab-comissao-tecnica .comissao-main-grid,
#tab-comissao-tecnica .comissao-config-panel {
  margin-bottom: 0 !important;
}

#tab-comissao-tecnica .comissao-main-grid {
  margin-bottom: var(--rf-card-row-gap) !important;
}

/* ==========================================================================
   MASTER THEME BORDER CONTRACT - ZERO RADIUS FOR BLOCK THEMES (RESPONSIVE)
   ========================================================================== */
:is(
  html[data-theme='block-steel'],
  html[data-theme='block-blue'],
  html[data-theme='block-light'],
  html[data-theme='dark-block'],
  html[data-theme*='block'],
  body.theme-block-steel,
  body.theme-block-blue,
  body.theme-dark-block,
  body.theme-block-light
) :is(
  .amti-card,
  .amti-grid-card,
  .amti-hero-card,
  .amti-stat-card,
  .amti-modal-content,
  .amti-btn,
  .amti-input,
  .amti-select,
  .amti-table-container,
  .amti-user-notes,
  .amti-notes-wrapper,
  .amti-notes-textarea,
  .sync-user-notes,
  #agendaUserNotes,
  .finance-card,
  .finance-kpi-card,
  .ai-advisor-card,
  .amti-search-bar button,
  .amti-search-bar input,
  .comissao-card,
  .comissao-config-panel,
  .amti-settings-card-soft
) {
  border-radius: 0px !important;
}

/* Header sem transparência: mantém o conteúdo no fluxo normal e bloqueia
   qualquer configuração antiga salva no navegador. */
.amti-main {
  position: relative !important;
}

.amti-topbar {
  position: relative !important;
  z-index: 900 !important;
  background: var(--topbar-bg, var(--bg-main)) !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 900px) {
  :root {
    --rf-header-height: 64px;
  }
}

@media (max-height: 500px) and (orientation: landscape) {
  :root {
    --rf-header-height: 48px;
  }
}

@media (max-width: 900px) {
  html,
  body {
    background: var(--topbar-bg, var(--bg-main)) !important;
  }

  .amti-topbar {
    position: sticky !important;
    top: -1px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 900 !important;
    height: calc(var(--rf-header-height) + env(safe-area-inset-top, 0px)) !important;
    min-height: calc(var(--rf-header-height) + env(safe-area-inset-top, 0px)) !important;
    box-sizing: border-box !important;
    padding-block: 0 !important;
    border-top: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: var(--topbar-bg, var(--bg-main)) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .amti-topbar-left,
  .amti-topbar-actions,
  .amti-topbar-action-group,
  .amti-title-area {
    align-items: center !important;
    align-self: center !important;
    justify-content: center !important;
  }

  .amti-topbar-left,
  .amti-topbar-actions,
  .amti-topbar-action-group,
  .amti-mobile-nav-toggle,
  .amti-topbar-action-group .amti-btn,
  .amti-topbar-btn-os,
  .amti-topbar-btn-ai {
    margin-block: 0 !important;
    transform: none !important;
  }

  .amti-title-area {
    justify-content: center !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
}

@media (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  :root {
    --rf-header-height: 56px;
  }
}

@media (min-width: 901px) {
  .amti-topbar {
    align-items: center !important;
    padding-block: 0 !important;
    box-sizing: border-box !important;
  }

  .amti-topbar-left,
  .amti-topbar-actions,
  .amti-topbar-action-group,
  .amti-title-area {
    align-self: center !important;
  }

  .amti-title-area,
  .amti-topbar .amti-title-area {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
    justify-content: center !important;
  }

  .amti-title-area h2,
  .amti-title-area p,
  .amti-topbar button,
  .amti-topbar .amti-btn {
    margin-block: 0 !important;
    transform: none !important;
  }

  .amti-topbar button,
  .amti-topbar .amti-btn {
    align-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 1023px) {
  /* Visualizar OS: usa uma única grade para igualar o respiro entre os cards mobile/tablet. */
  #viewOsContent {
    --view-os-card-gap: 16px;
    display: grid !important;
    grid-auto-flow: row !important;
    row-gap: var(--view-os-card-gap) !important;
  }

  #viewOsContent > * {
    margin-block: 0 !important;
  }

  #viewOsContent .os-modal-section {
    margin: 0 !important;
  }

  #viewOsContent > .view-os-grid-2col {
    column-gap: var(--view-os-card-gap) !important;
    row-gap: var(--view-os-card-gap) !important;
  }

  #viewOsContent > .view-os-grid-2col > .os-modal-section,
  #viewOsContent > div:not(.view-os-grid-2col):has(> .os-modal-section) > .os-modal-section {
    margin: 0 !important;
  }

  #viewOsContent > div:not(.view-os-grid-2col):has(> .os-modal-section) {
    display: contents !important;
  }

  #viewOsContent .view-os-hero,
  #viewOsContent .view-os-grid-2col,
  #viewOsContent > div:has(> .os-modal-section) {
    margin: 0 !important;
  }

  #viewOsContent .view-os-grid-2col,
  #viewOsContent > div:has(> .os-modal-section) {
    gap: var(--view-os-card-gap) !important;
    row-gap: var(--view-os-card-gap) !important;
  }
}

@media (min-width: 1024px) {
  /* Visualizar OS desktop: um único mecanismo controla o respiro vertical. */
  #viewOsContent {
    --view-os-card-gap: 16px;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--view-os-card-gap) !important;
  }

  #viewOsContent > *,
  #viewOsContent .os-modal-section {
    margin: 0 !important;
  }

  #viewOsContent > .view-os-grid-2col,
  #viewOsContent > div:has(> .os-modal-section) {
    margin: 0 !important;
  }

  #viewOsContent > .view-os-grid-2col {
    column-gap: var(--view-os-card-gap) !important;
    row-gap: var(--view-os-card-gap) !important;
  }

  #viewOsContent > div:not(.view-os-grid-2col):has(> .os-modal-section) {
    display: contents !important;
  }
}

@media (max-width: 1023px) {
  #tab-sales .pdv-inner-nav {
    margin-bottom: 6px !important;
  }

  #tab-sales #pdvPanelConfig > div {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    box-sizing: border-box !important;
  }

  #tab-sales #pdvPanelConfig .pdv-config-card {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  #tab-sales #pdvPanelConfig .amti-card-header,
  #tab-sales #pdvPanelConfig .amti-card-body {
    min-width: 0 !important;
  }

  #tab-sales #pdvPanelConfig .pdv-config-row > input[type="number"] {
    flex: 0 0 100px !important;
    max-width: 100px !important;
  }

  #tab-sales #pdvPanelConfig #pdvCfgGarantiaMsg {
    flex: 1 1 260px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  #tab-sales #pdvPanelConfig .pdv-config-payments {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────────
   Consistência global de cantos por tema
   Block: nenhuma superfície pode apresentar arredondamento.
   Dark Blue/Light Ice: todos os cards e superfícies usam o mesmo raio.
   `[class*="card"]` garante que QUALQUER card (incluindo os dinâmicos da
   página Início) fique arredondado nesses temas.
   Elementos co-afetados deliberadamente por `[class*="card"]` (sem impacto
   crítico de layout): `.card-size-select`, `.amti-card-btn`,
   `.amti-card-header/.amti-card-body` (transparentes), `.os-card-search-input`.
   Elementos que NÃO contém "card" seguem o próprio estilo
   (ex.: `.amti-combobox-search`, `.cal-day.today`, `#osModal .amti-os-print-group .amti-btn`).
   ───────────────────────────────────────────────────────────────────────── */
html[data-theme="block-steel"] *,
html[data-theme="block-steel"] *::before,
html[data-theme="block-steel"] *::after,
html.theme-block-steel *,
html.theme-block-steel *::before,
html.theme-block-steel *::after,
html[data-theme="block-blue"] *,
html[data-theme="block-blue"] *::before,
html[data-theme="block-blue"] *::after,
html.theme-block-blue *,
html.theme-block-blue *::before,
html.theme-block-blue *::after,
html[data-theme="block-light"] *,
html[data-theme="block-light"] *::before,
html[data-theme="block-light"] *::after,
html.theme-block-light *,
html.theme-block-light *::before,
html.theme-block-light *::after,
html[data-theme="dark-block"] *,
html[data-theme="dark-block"] *::before,
html[data-theme="dark-block"] *::after,
html.theme-dark-block *,
html.theme-dark-block *::before,
html.theme-dark-block *::after {
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
}

html[data-theme="dark"] :where(
  .card, .panel, .modal, [role="dialog"],
  .dashboard-section, .content-section, .settings-section,
  [class*="card"]
),
html.theme-dark :where(
  .card, .panel, .modal, [role="dialog"],
  .dashboard-section, .content-section, .settings-section,
  [class*="card"]
),
html[data-theme="light"] :where(
  .card, .panel, .modal, [role="dialog"],
  .dashboard-section, .content-section, .settings-section,
  [class*="card"]
),
html.theme-light :where(
  .card, .panel, .modal, [role="dialog"],
  .dashboard-section, .content-section, .settings-section,
  [class*="card"]
),
body.theme-dark :where(
  .card, .panel, .modal, [role="dialog"],
  .dashboard-section, .content-section, .settings-section,
  [class*="card"]
),
body.theme-light :where(
  .card, .panel, .modal, [role="dialog"],
  .dashboard-section, .content-section, .settings-section,
  [class*="card"]
) {
  border-radius: 10px !important;
  -webkit-border-radius: 10px !important;
}

/* O card interno de dicas da IA (AI Tips, página Início) usa
   border-radius: 0 !important no crm-styles.css com especificidade (0,3,0);
   arredondar também nos temas Dark Blue/Light Ice. */
html[data-theme="dark"] .amti-grid-card .amti-ai-tip-card,
html.theme-dark .amti-grid-card .amti-ai-tip-card,
body.theme-dark .amti-grid-card .amti-ai-tip-card,
html[data-theme="light"] .amti-grid-card .amti-ai-tip-card,
html.theme-light .amti-grid-card .amti-ai-tip-card,
body.theme-light .amti-grid-card .amti-ai-tip-card {
  border-radius: 10px !important;
  -webkit-border-radius: 10px !important;
}

body.theme-block-steel,
body.theme-block-steel *,
body.theme-block-steel *::before,
body.theme-block-steel *::after,
body.theme-block-blue,
body.theme-block-blue *,
body.theme-block-blue *::before,
body.theme-block-blue *::after,
body.theme-block-light,
body.theme-block-light *,
body.theme-block-light *::before,
body.theme-block-light *::after,
body.theme-dark-block,
body.theme-dark-block *,
body.theme-dark-block *::before,
body.theme-dark-block *::after {
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
}

body.theme-dark :where(
  .card, .panel, .modal, [role="dialog"],
  .dashboard-section, .content-section, .settings-section,
  [class*="card"]
),
body.theme-light :where(
  .card, .panel, .modal, [role="dialog"],
  .dashboard-section, .content-section, .settings-section,
  [class*="card"]
) {
  border-radius: 10px !important;
  -webkit-border-radius: 10px !important;
}

/* SVG geometry is not a UI surface and must not inherit the surface radius. */
html[data-theme="dark"] svg,
html[data-theme="dark"] svg *,
html.theme-dark svg,
html.theme-dark svg *,
body.theme-dark svg,
body.theme-dark svg *,
html[data-theme="light"] svg,
html[data-theme="light"] svg *,
html.theme-light svg,
html.theme-light svg *,
body.theme-light svg,
body.theme-light svg * {
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
}

/* Preserve intentional circular and pill geometry in the rounded themes. */
html[data-theme="dark"] [class*="avatar"],
html[data-theme="dark"] [class*="avatar"]::before,
html[data-theme="dark"] [class*="avatar"]::after,
html[data-theme="dark"] .amti-status-dot,
html[data-theme="dark"] .status-dot,
html[data-theme="dark"] .amti-loader-spinner-wrapper,
html[data-theme="dark"] .amti-loader-logo-inner,
html[data-theme="dark"] .amti-loader-logo-inner img,
html.theme-dark [class*="avatar"],
html.theme-dark .amti-status-dot,
html.theme-dark .status-dot,
html[data-theme="light"] [class*="avatar"],
html[data-theme="light"] [class*="avatar"]::before,
html[data-theme="light"] [class*="avatar"]::after,
html[data-theme="light"] .amti-status-dot,
html[data-theme="light"] .status-dot,
html[data-theme="light"] .amti-loader-spinner-wrapper,
html[data-theme="light"] .amti-loader-logo-inner,
html[data-theme="light"] .amti-loader-logo-inner img,
html.theme-light [class*="avatar"],
html.theme-light .amti-status-dot,
html.theme-light .status-dot,
body.theme-dark [class*="avatar"],
body.theme-dark .amti-status-dot,
body.theme-dark .status-dot,
body.theme-light [class*="avatar"],

body.theme-light .amti-status-dot,
body.theme-light .status-dot {
  border-radius: 50% !important;
  -webkit-border-radius: 50% !important;
}

html[data-theme="dark"] [class*="badge"],
html[data-theme="dark"] [class*="chip"],
html[data-theme="dark"] [class*="pill"],
html.theme-dark [class*="badge"],
html.theme-dark [class*="chip"],
html.theme-dark [class*="pill"],
html[data-theme="light"] [class*="badge"],
html[data-theme="light"] [class*="chip"],
html[data-theme="light"] [class*="pill"],
html.theme-light [class*="badge"],
html.theme-light [class*="chip"],
html.theme-light [class*="pill"],
body.theme-dark [class*="badge"],
body.theme-dark [class*="chip"],
body.theme-dark [class*="pill"],
body.theme-light [class*="badge"],
body.theme-light [class*="chip"],
body.theme-light [class*="pill"] {
  border-radius: 9999px !important;
  -webkit-border-radius: 9999px !important;
}

html[data-theme="dark"] .amti-status-dot,
html[data-theme="light"] .amti-status-dot,
html.theme-dark .amti-status-dot,
html.theme-light .amti-status-dot,
body.theme-dark .amti-status-dot,
body.theme-light .amti-status-dot {
  border-radius: 50% !important;
  -webkit-border-radius: 50% !important;
}

html[data-theme="dark"] .back-to-top-fab,
html[data-theme="light"] .back-to-top-fab,
html.theme-dark .back-to-top-fab,
html.theme-light .back-to-top-fab,
body.theme-dark .back-to-top-fab,
body.theme-light .back-to-top-fab,
html[data-theme="dark"] .connection-pill .dot,
html[data-theme="light"] .connection-pill .dot,
html.theme-dark .connection-pill .dot,
html.theme-light .connection-pill .dot,
body.theme-dark .connection-pill .dot,
body.theme-light .connection-pill .dot,
html[data-theme="dark"] .sa-status-dot,
html[data-theme="light"] .sa-status-dot,
html.theme-dark .sa-status-dot,
html.theme-light .sa-status-dot,
body.theme-dark .sa-status-dot,
body.theme-light .sa-status-dot,
html[data-theme="dark"] [class*="status-dot"],
html[data-theme="light"] [class*="status-dot"],
html.theme-dark [class*="status-dot"],
html.theme-light [class*="status-dot"],
body.theme-dark [class*="status-dot"],
body.theme-light [class*="status-dot"] {
  border-radius: 50% !important;
  -webkit-border-radius: 50% !important;
}
/* Adaptive performance layer: preserves the normal visual theme while
   removing expensive compositing only for explicitly detected low-power modes. */
html.amti-performance-mode .amti-card,
html.amti-performance-mode .amti-grid-card,
html.amti-performance-mode .amti-modal-content,
html.amti-performance-mode .amti-dropdown-menu,
html.amti-performance-mode .amti-toast,
html.amti-ultra-performance-mode .amti-card,
html.amti-ultra-performance-mode .amti-grid-card,
html.amti-ultra-performance-mode .amti-modal-content,
html.amti-ultra-performance-mode .amti-dropdown-menu,
html.amti-ultra-performance-mode .amti-toast {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}

html.amti-performance-mode *,
html.amti-ultra-performance-mode * {
  animation-duration: 0.001ms !important;
}

html.amti-ultra-performance-mode *,
html.amti-ultra-performance-mode *::before,
html.amti-ultra-performance-mode *::after {
  transition: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html.amti-performance-mode .amti-card,
html.amti-performance-mode .amti-grid-card,
html.amti-performance-mode .amti-stat-card,
html.amti-ultra-performance-mode .amti-card,
html.amti-ultra-performance-mode .amti-grid-card,
html.amti-ultra-performance-mode .amti-stat-card {
  contain: layout;
}

html.amti-companion-capture-economy .amti-card,
html.amti-companion-capture-economy .amti-grid-card,
html.amti-companion-capture-economy .amti-modal-content,
html.amti-companion-capture-economy .amti-dropdown-menu,
html.amti-companion-capture-economy .amti-toast {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html.amti-companion-capture-economy *,
html.amti-companion-capture-economy *::before,
html.amti-companion-capture-economy *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

@media (prefers-reduced-motion: reduce) {
  html:not(.amti-ultra-performance-mode) * {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* Mobile contract for OS filters:
   desktop expands the filter horizontally inside the card header; on narrow
   screens that animation overlays the table and clips the action buttons.
   Move the open filter to its own full-width row instead. */
@media (max-width: 767px) {
  .os-card .os-card-header:has(.os-card-search-shell),
  #tab-orders .os-card-header:has(.amti-search-shell) {
    flex-wrap: wrap !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    row-gap: 8px !important;
    overflow: visible !important;
  }

  .os-card .os-card-header:has(.os-card-search-shell) .amti-card-header-main,
  #tab-orders .os-card-header:has(.amti-search-shell) .amti-card-header-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .os-card .os-card-header:has(.os-card-search-shell) .os-card-actions,
  #tab-orders .os-card-header:has(.amti-search-shell) .os-card-actions {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    overflow: visible !important;
  }

  .os-card .os-card-search-shell,
  #tab-orders .amti-search-shell {
    display: flex !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    order: 10 !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  .os-card .os-card-search-panel,
  #tab-orders .amti-search-panel {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    transform: none !important;
    transform-origin: center !important;
    transition: opacity 180ms ease !important;
    will-change: opacity !important;
  }

  .os-card .os-card-search-panel.os-card-search-panel-open,
  #tab-orders .amti-search-panel.amti-search-panel-open {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  .os-card .os-card-search-panel[data-visible="false"],
  #tab-orders .amti-search-panel[data-visible="false"],
  .os-card .os-card-search-panel:not(.os-card-search-panel-open),
  #tab-orders .amti-search-panel:not(.amti-search-panel-open) {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    transform: none !important;
  }

  .os-card .os-card-search-select,
  #tab-orders .amti-search-select {
    flex: 0 1 42% !important;
    width: 42% !important;
    min-width: 0 !important;
    max-width: 42% !important;
    font-size: 16px !important;
  }

  .os-card .os-card-search-input,
  #tab-orders .amti-search-input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    font-size: 16px !important;
  }

  .os-card .os-card-search-btn,
  #tab-orders .amti-search-btn {
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  .os-card .os-card-actions-with-search > .amti-btn-primary,
  #tab-orders .os-card-actions > .amti-global-os-btn {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Keep the three OS card headers on one action row on phones. The search
   controls open below the header instead of pushing the buttons to a second
   line, matching the compact layout used before the mobile filter fix. */
@media (max-width: 767px) {
  .os-card .os-card-header:has(.os-card-search-shell),
  #tab-orders .os-card-header:has(.amti-search-shell) {
    flex-wrap: nowrap !important;
    align-items: center !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    flex: 0 0 48px !important;
    overflow: visible !important;
    position: relative !important;
  }

  .os-card .os-card-header:has(.os-card-search-shell) .amti-card-header-main,
  #tab-orders .os-card-header:has(.amti-search-shell) .amti-card-header-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .os-card .os-card-header:has(.os-card-search-shell) .os-card-actions,
  #tab-orders .os-card-header:has(.amti-search-shell) .os-card-actions {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  .os-card .os-card-search-shell,
  #tab-orders .amti-search-shell {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: none !important;
    order: 0 !important;
    align-items: center !important;
    overflow: visible !important;
    position: static !important;
  }

  #tab-orders .os-card-actions > #osSearchContainer,
  #tab-orders .os-card-actions > #finalizedOsSearchContainer {
    display: flex !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    align-items: center !important;
  }

  .os-card .os-card-search-panel,
  #tab-orders .amti-search-panel {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    right: 0 !important;
    z-index: 80 !important;
    width: min(360px, calc(100% - 12px)) !important;
    max-width: min(360px, calc(100% - 12px)) !important;
    min-width: 0 !important;
    padding: 6px !important;
    transform: none !important;
    transition: opacity 180ms ease !important;
    box-sizing: border-box !important;
  }

  .os-card .os-card-search-panel.os-card-search-panel-open,
  #tab-orders .amti-search-panel.amti-search-panel-open {
    display: flex !important;
    opacity: 1 !important;
    width: min(360px, calc(100% - 12px)) !important;
    max-width: min(360px, calc(100% - 12px)) !important;
    overflow: visible !important;
  }

  .os-card .os-card-search-panel[data-visible="false"],
  #tab-orders .amti-search-panel[data-visible="false"],
  .os-card .os-card-search-panel:not(.os-card-search-panel-open),
  #tab-orders .amti-search-panel:not(.amti-search-panel-open) {
    display: none !important;
    width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .os-card .os-card-search-select,
  #tab-orders .amti-search-select {
    flex: 0 1 42% !important;
    width: 42% !important;
    min-width: 0 !important;
    max-width: 42% !important;
    font-size: 16px !important;
  }

  .os-card .os-card-search-input,
  #tab-orders .amti-search-input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    font-size: 16px !important;
  }

  .os-card .os-card-search-btn,
  #tab-orders .amti-search-btn,
  .os-card .os-card-actions > .amti-os-search-btn,
  #tab-orders .os-card-actions > .amti-os-search-btn,
  #tab-home .amti-dashboard-grid .os-card .os-card-actions > .amti-global-os-btn,
  #tab-orders .os-card-actions > .amti-global-os-btn {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    aspect-ratio: 1 / 1 !important;
  }

  .os-card .os-card-actions > .amti-btn:not(.amti-os-search-btn):not(.amti-global-os-btn):not(.amti-btn-primary),
  #tab-orders .os-card-actions > .amti-btn:not(.amti-os-search-btn):not(.amti-global-os-btn):not(.amti-btn-primary) {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 140px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding-inline: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .os-card .os-card-actions > .amti-btn-primary:not(.amti-global-os-btn),
  #tab-orders .os-card-actions > .amti-btn-primary:not(.amti-global-os-btn) {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 140px !important;
    padding-inline: 10px !important;
  }

  .os-card:has(.os-card-search-panel.os-card-search-panel-open),
  #tab-orders .os-card:has(.amti-search-panel.amti-search-panel-open) {
    overflow: visible !important;
  }
}

/* A collapsed archive card has a more specific overflow rule above. Allow
   its open search panel to escape the 68px collapsed shell as well. */
@media (max-width: 767px) {
  #tab-orders #activeOsCard[data-collapsed="true"]:has(.os-card-search-panel.os-card-search-panel-open),
  #tab-orders #finalizedOsArchiveCard[data-collapsed="true"]:has(.os-card-search-panel.os-card-search-panel-open),
  #tab-orders #activeOsCard[data-collapsed="true"]:has(.amti-search-panel.amti-search-panel-open),
  #tab-orders #finalizedOsArchiveCard[data-collapsed="true"]:has(.amti-search-panel.amti-search-panel-open) {
    overflow: visible !important;
  }
}

/* The dashboard grid also clips overflow on narrow phones. When any OS search
   panel is open, let the absolute panel escape the grid without changing the
   default scrolling/overflow behavior of the dashboard. */
@media (max-width: 767px) {
  #tab-home .amti-dashboard-grid:has(.os-card-search-panel.os-card-search-panel-open),
  #tab-orders:has(.amti-search-panel.amti-search-panel-open) .amti-grid-card,
  #tab-orders:has(.amti-search-panel.amti-search-panel-open) {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }
}

/* Paint containment clips an absolutely positioned search panel even when
   overflow is visible. Keep layout/style containment for performance, but
   release paint containment only while an OS filter is open. */
@media (max-width: 767px) {
  #tab-home .amti-grid-card:has(.os-card-search-panel.os-card-search-panel-open),
  #tab-orders .amti-grid-card:has(.amti-search-panel.amti-search-panel-open),
  #tab-orders .amti-grid-card:has(.os-card-search-panel.os-card-search-panel-open) {
    contain: layout style !important;
  }
}

/* Home cards have older, more specific 34px rules. Keep their search and
   action controls at the same 38px height as the OS tab cards. */
@media (max-width: 767px) {
  #tab-home .amti-dashboard-grid .os-card .os-card-search-shell,
  #tab-home .amti-dashboard-grid .os-card .os-card-actions,
  #tab-home .amti-dashboard-grid .os-card .os-card-search-btn,
  #tab-home .amti-dashboard-grid .os-card .os-card-actions > .amti-os-search-btn {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-card-search-btn,
  #tab-home .amti-dashboard-grid .os-card .os-card-actions > .amti-os-search-btn {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    padding: 0 !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-card-actions > .amti-btn:not(.amti-os-search-btn):not(.amti-global-os-btn) {
    width: auto !important;
    min-width: 0 !important;
    max-width: 140px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding-inline: 10px !important;
  }

  /* On phones, Nova OS uses the same compact square as the search button. */
  #tab-home .amti-dashboard-grid .os-card .os-card-actions > .amti-global-os-btn,
  #tab-orders .os-card-actions > .amti-global-os-btn {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    font-size: 0 !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-card-actions > .amti-global-os-btn i,
  #tab-orders .os-card-actions > .amti-global-os-btn i {
    font-size: 1rem !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
}

/* Search aberto no mobile: o cabeçalho quebra em DUAS linhas —
   linha 1: ícone + título + subtítulo; linha 2: pesquisa (filtro + campo)
   lado a lado com os botões. Nada de painel flutuante absoluto. */
@media (max-width: 767px) {
  .os-card .os-card-header:has(.os-card-search-panel.os-card-search-panel-open),
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) {
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 42px !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    row-gap: 8px !important;
    column-gap: 8px !important;
    overflow: visible !important;
    position: relative !important;
  }

  /* Linha 1 (largura total): ícone + título + subtítulo */
  .os-card .os-card-header:has(.os-card-search-panel.os-card-search-panel-open) .amti-card-header-main,
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) .amti-card-header-main {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    order: 0 !important;
    overflow: hidden !important;
    align-self: center !important;
  }

  /* Linha 2 (largura total): pesquisa + botões em linha, alinhados à direita */
  .os-card .os-card-header:has(.os-card-search-panel.os-card-search-panel-open) .os-card-actions,
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) .os-card-actions {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    order: 1 !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  /* Shell e containers ocupam o espaço da linha 2 (ao lado dos botões) */
  .os-card .os-card-header:has(.os-card-search-panel.os-card-search-panel-open) .os-card-search-shell,
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) #osSearchContainer,
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) #finalizedOsSearchContainer,
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) .amti-search-shell {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    order: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    position: static !important;
    overflow: visible !important;
  }

  /* Painel deixa de flutuar e passa a ocupar o espaço da linha 2 */
  .os-card .os-card-header:has(.os-card-search-panel.os-card-search-panel-open) .os-card-search-panel,
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) .amti-search-panel {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* Select mantém a largura do financeiro; input flexível p/ caber com os botões */
  .os-card .os-card-header:has(.os-card-search-panel.os-card-search-panel-open) .os-card-search-select,
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) .amti-search-select {
    flex: 0 0 130px !important;
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 0.8rem !important;
    padding: 6px 8px !important;
    box-sizing: border-box !important;
  }

  .os-card .os-card-header:has(.os-card-search-panel.os-card-search-panel-open) .os-card-search-input,
  #tab-orders .os-card-header:has(.amti-search-panel.amti-search-panel-open) .amti-search-input {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 60px !important;
    max-width: none !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 0.8rem !important;
    padding: 6px 10px !important;
    box-sizing: border-box !important;
  }

  /* Home: altura fixa antiga não pode cortar o painel em linha */
  #tab-home .amti-dashboard-grid .os-card:has(.os-card-search-panel.os-card-search-panel-open) .os-card-actions,
  #tab-home .amti-dashboard-grid .os-card:has(.os-card-search-panel.os-card-search-panel-open) .os-card-search-shell {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  /* Card de arquivo colapsado: cresce quando a busca abre inline */
  #tab-orders #finalizedOsArchiveCard[data-collapsed="true"]:has(.amti-search-panel.amti-search-panel-open) {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 68px !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 8px 12px !important;
  }

  /* ============================================================
     Cards de tabela com busca unificada (Clientes, Equipamentos,
     Estoque, Serviços e Finanças): mesmo padrão de duas linhas.
     Linha 1: título full-width; linha 2: busca + botão, à direita.
     ============================================================ */
  #tab-clients .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header,
  #tab-equipments .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header,
  #tab-stock .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header,
  #tab-services .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header,
  #tab-finance .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header {
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 42px !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    row-gap: 8px !important;
    column-gap: 8px !important;
    overflow: visible !important;
    position: relative !important;
  }

  #tab-clients .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-title,
  #tab-equipments .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-title,
  #tab-stock .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-title,
  #tab-services .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-title {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    order: 0 !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
  }

  #tab-finance .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header-main {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    order: 0 !important;
    overflow: hidden !important;
    align-self: center !important;
  }

  #tab-clients .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header > div:last-child,
  #tab-equipments .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header > div:last-child,
  #tab-stock .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header > div:last-child,
  #tab-services .amti-card:has(.amti-search-panel.amti-search-panel-open) .amti-card-header > div:last-child {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    order: 1 !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  #tab-finance .amti-card:has(.amti-search-panel.amti-search-panel-open) .os-card-actions {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    order: 1 !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  #tab-clients .amti-card-header > div:last-child #clientsSearchContainer,
  #tab-clients .amti-card-header > div:last-child .amti-search-shell,
  #tab-equipments .amti-card-header > div:last-child #equipSearchContainer,
  #tab-equipments .amti-card-header > div:last-child .amti-search-shell,
  #tab-stock .amti-card-header > div:last-child #stockSearchContainer,
  #tab-stock .amti-card-header > div:last-child .amti-search-shell,
  #tab-services .amti-card-header > div:last-child #servicesSearchContainer,
  #tab-services .amti-card-header > div:last-child .amti-search-shell,
  #tab-finance .os-card-actions #financeSearchContainer,
  #tab-finance .os-card-actions .amti-search-shell {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    order: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    position: static !important;
    overflow: visible !important;
  }

  #tab-clients .amti-search-panel.amti-search-panel-open,
  #tab-equipments .amti-search-panel.amti-search-panel-open,
  #tab-stock .amti-search-panel.amti-search-panel-open,
  #tab-services .amti-search-panel.amti-search-panel-open,
  #tab-finance .amti-search-panel.amti-search-panel-open {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #tab-clients .amti-search-select,
  #tab-equipments .amti-search-select,
  #tab-stock .amti-search-select,
  #tab-services .amti-search-select,
  #tab-finance .amti-search-select {
    flex: 0 0 130px !important;
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 0.8rem !important;
    padding: 6px 8px !important;
    box-sizing: border-box !important;
  }

  #tab-clients .amti-search-input,
  #tab-equipments .amti-search-input,
  #tab-stock .amti-search-input,
  #tab-services .amti-search-input,
  #tab-finance .amti-search-input {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 60px !important;
    max-width: none !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 0.8rem !important;
    padding: 6px 10px !important;
    box-sizing: border-box !important;
  }

  #tab-clients .amti-search-btn,
  #tab-equipments .amti-search-btn,
  #tab-stock .amti-search-btn,
  #tab-services .amti-search-btn,
  #tab-finance .amti-search-btn,
  #tab-clients .amti-card-header button.amti-btn-primary,
  #tab-clients .amti-card-header .amti-btn-primary,
  #tab-equipments .amti-card-header button.amti-btn-primary,
  #tab-equipments .amti-card-header .amti-btn-primary,
  #tab-services .amti-card-header button.amti-btn-primary,
  #tab-services .amti-card-header .amti-btn-primary,
  #tab-stock .amti-card-header button.amti-btn-primary,
  #tab-stock .amti-card-header .amti-btn-primary,
  #tab-suppliers .amti-card-header button.amti-btn-primary,
  #tab-suppliers .amti-card-header .amti-btn-primary {
    align-self: center !important;
  }
}

/* Mobile: botão "+" do card Agenda (Início) idêntico ao "+" do card
   "Gerenciamento de OS" — 38px quadrado, ícone centralizado, sem rótulo. */
@media (max-width: 767px) {
  #tab-home .amti-dashboard-grid .amti-grid-card.agenda-card .agenda-card-actions > .amti-agenda-add-btn,
  #tab-home .amti-dashboard-grid .agenda-card .agenda-card-actions > .amti-agenda-add-btn {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    font-size: 0 !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
  }

  #tab-home .amti-dashboard-grid .amti-grid-card.agenda-card .agenda-card-actions > .amti-agenda-add-btn i,
  #tab-home .amti-dashboard-grid .agenda-card .agenda-card-actions > .amti-agenda-add-btn i {
    font-size: 1rem !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  #tab-home .amti-dashboard-grid .amti-grid-card.agenda-card .agenda-card-actions > .amti-agenda-add-btn .amti-agenda-btn-text,
  #tab-home .amti-dashboard-grid .agenda-card .agenda-card-actions > .amti-agenda-add-btn .amti-agenda-btn-text {
    display: none !important;
  }
}

/* ============================================================
   Controle Financeiro / Fluxo de Caixa: cards padronizados com o
   card "Gerenciamento de OS" (Início) — mesmo header, margens e
   avatar de ícone em bolha colorida.
   ============================================================ */
#tab-finance .amti-card .os-card-header,
#tab-finance .amti-card .amti-card-header,
#tab-finance .amti-finance-balcao-card .os-card-header,
#tab-finance .amti-finance-balcao-card .amti-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 0 10px 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
  margin-bottom: 10px !important;
  min-height: 40px !important;
  flex: 0 0 auto !important;
  position: relative !important;
}

#tab-finance .amti-card .amti-card-header-main {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  text-align: left !important;
}

#tab-finance .amti-card .amti-card-header-titles {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  min-width: 0 !important;
}

#tab-finance .amti-card .amti-card-header-title {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--text-primary, #f8fafc) !important;
  -webkit-text-fill-color: var(--text-primary, #f8fafc) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#tab-finance .amti-card .amti-card-header-subtitle {
  font-size: 0.85rem !important;
  color: var(--text-secondary, #cbd5e1) !important;
  -webkit-text-fill-color: var(--text-secondary, #cbd5e1) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#tab-finance .amti-card .amti-card-header-subtitle i {
  color: var(--color-cyan, #38bdf8) !important;
}

#tab-finance .amti-card .os-card-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

:is(
  html[data-theme='light'],
  html[data-theme='block-light'],
  html.theme-light,
  html.theme-block-light,
  body.theme-light,
  body.theme-block-light
) #tab-finance .amti-card :is(.os-card-header, .amti-card-header) {
  border-bottom-color: rgba(148, 163, 184, 0.22) !important;
}

:is(
  html[data-theme='light'],
  html[data-theme='block-light'],
  html.theme-light,
  html.theme-block-light,
  body.theme-light,
  body.theme-block-light
) #tab-finance :is(.amti-card-header-title, .amti-card-title, .os-card-title) {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-weight: 800 !important;
}

:is(
  html[data-theme='light'],
  html[data-theme='block-light'],
  html.theme-light,
  html.theme-block-light,
  body.theme-light,
  body.theme-block-light
) #tab-finance :is(.amti-card-header-subtitle, .pdv-widget-header-subtitle) {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  font-weight: 600 !important;
}

:is(
  html[data-theme='light'],
  html[data-theme='block-light'],
  html.theme-light,
  html.theme-block-light,
  body.theme-light,
  body.theme-block-light
) #tab-finance :is(.amti-card-header-subtitle i, .pdv-widget-header-subtitle i) {
  color: #1d4ed8 !important;
}

:is(
  html[data-theme='dark'],
  html[data-theme='block-steel'],
  html[data-theme='block-blue'],
  html[data-theme='dark-block'],
  body.theme-dark,
  body.theme-block-steel,
  body.theme-block-blue,
  body.theme-dark-block
) #tab-finance :is(.amti-card-header-title, .amti-card-title, .os-card-title) {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  font-weight: 700 !important;
}

:is(
  html[data-theme='dark'],
  html[data-theme='block-steel'],
  html[data-theme='block-blue'],
  html[data-theme='dark-block'],
  body.theme-dark,
  body.theme-block-steel,
  body.theme-block-blue,
  body.theme-dark-block
) #tab-finance :is(.amti-card-header-subtitle, .pdv-widget-header-subtitle) {
  color: #cbd5e1 !important;
  -webkit-text-fill-color: #cbd5e1 !important;
  font-weight: 500 !important;
}

:is(
  html[data-theme='dark'],
  html[data-theme='block-steel'],
  html[data-theme='block-blue'],
  html[data-theme='dark-block'],
  body.theme-dark,
  body.theme-block-steel,
  body.theme-block-blue,
  body.theme-dark-block
) #tab-finance :is(.amti-card-header-subtitle i, .pdv-widget-header-subtitle i) {
  color: #38bdf8 !important;
}

@media (max-width: 767px) {
  /* Mantém o cursor pointer apenas nos cards colapsáveis (com body) */
  #tab-finance .amti-card.amti-finance-balcao-card .os-card-header,
  #tab-finance .amti-card.amti-finance-balcao-card .amti-card-header {
    cursor: pointer !important;
  }

  /* Botão "+" quadrado: mesmo padrão do card "Gerenciamento de OS" */
  #tab-finance .amti-card .os-card-actions > .amti-finance-new-btn,
  #tab-finance .amti-card .os-card-actions > .amti-btn.amti-btn-primary {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    font-size: 0 !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  #tab-finance .amti-card .os-card-actions > .amti-finance-new-btn i,
  #tab-finance .amti-card .os-card-actions > .amti-btn.amti-btn-primary i {
    font-size: 1rem !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
}

/* Keep the unsaved-changes actions inside their compact, dynamically-created modal. */
#osUnsavedPopup .amti-modal-content {
  box-sizing: border-box !important;
  width: min(420px, calc(100vw - 32px)) !important;
  max-width: 420px !important;
}

.finance-category-control {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}

.finance-category-control select {
  flex: 1 1 auto;
  min-width: 0;
}

.finance-category-add-btn {
  flex: 0 0 42px;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
}

#tab-orders .os-card-actions > .amti-desktop-report-btn,
#tab-finance .os-card-actions > .amti-desktop-report-btn {
  display: none !important;
}

@media (min-width: 1024px) {
  #tab-orders .os-card-actions > .amti-desktop-report-btn,
  #tab-finance .os-card-actions > .amti-desktop-report-btn {
    display: inline-flex !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    aspect-ratio: 1 / 1 !important;
  }

  #tab-orders .os-card-actions > .amti-btn,
  #tab-orders .os-card-actions #osSearchContainer .amti-search-btn,
  #tab-orders .os-card-actions #finalizedOsSearchContainer .amti-search-btn {
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #tab-orders .os-card-actions > .amti-os-search-btn,
  #tab-orders .os-card-actions #osSearchContainer .amti-search-btn,
  #tab-orders .os-card-actions #finalizedOsSearchContainer .amti-search-btn {
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    padding: 0 !important;
  }
}

.management-report-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.management-report-field {
  display: grid;
  gap: 6px;
  color: var(--text-primary, #e2e8f0);
  font-size: .84rem;
  font-weight: 650;
}

.management-report-options {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  padding: 13px 15px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, .22));
  border-radius: 10px;
  background: var(--bg-secondary, rgba(148, 163, 184, .06));
}

.management-report-options label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.management-report-options input {
  accent-color: #0f766e;
}

.management-report-status {
  min-height: 20px;
  margin-top: 12px;
  color: var(--text-secondary, #94a3b8);
}

.management-report-status[data-state="error"] {
  color: #f87171;
}

@media (max-width: 767px) {
  .finance-category-control { gap: 6px; }
  .finance-category-add-btn {
    flex-basis: 42px;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
  }
}

#osUnsavedPopup .amti-modal-footer:not(#viewOsModalFooter):not(#osFlowFooter):not(#viewAgendaModalFooter) {
  box-sizing: border-box !important;
  width: 100% !important;
  flex-wrap: wrap !important;
}

#osUnsavedPopup .amti-modal-footer:not(#viewOsModalFooter):not(#osFlowFooter):not(#viewAgendaModalFooter) > button {
  box-sizing: border-box !important;
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 40px !important;
  max-height: none !important;
  padding: 10px 12px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

@media (max-width: 600px) {
  #osUnsavedPopup .amti-modal-footer:not(#viewOsModalFooter):not(#osFlowFooter):not(#viewAgendaModalFooter) {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #osUnsavedPopup .amti-modal-footer:not(#viewOsModalFooter):not(#osFlowFooter):not(#viewAgendaModalFooter) > button {
    flex: 0 0 auto !important;
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 767px) {
  #btnConcluirOS .os-conclude-label-desktop {
    display: none !important;
  }

  #btnConcluirOS .os-conclude-label-mobile {
    display: inline !important;
  }
}

/* Busca Inteligente: simplifica as ações apenas no mobile. */
@media (max-width: 767px) {
  .amti-smart-search-clear-btn > span {
    display: none !important;
  }

  .amti-smart-search-submit-btn {
    display: none !important;
  }
}

#btnConcluirOS .os-conclude-label-mobile {
  display: none;
}

#viewOsModalFooter .view-os-doc-label-mobile {
  display: none;
}

.industry-action-label-mobile {
  display: none;
}

@media (max-width: 900px) {
  .industry-action-label-desktop {
    display: none !important;
  }

  .industry-action-label-mobile {
    display: inline !important;
  }
}

#agendaModal .agenda-client-picker-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

#agendaModal .agenda-client-picker-row #agClienteContainer {
  flex: 1 1 auto;
  min-width: 0;
}

#agendaModal .agenda-client-create-btn {
  flex: 0 0 38px;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#agendaModal .agenda-client-create-btn i {
  margin: 0;
}

/* Gráficos financeiros: use a área interna do card no mobile sem alterar o desktop. */
@media (max-width: 767px) {
  #tab-finance .amti-finance-balcao-card:has(.amti-finance-chart-frame) {
    gap: 6px !important;
  }

  #tab-finance .amti-finance-balcao-card:has(.amti-finance-chart-frame) > .amti-card-header {
    padding-bottom: 6px !important;
    margin-bottom: 0 !important;
  }

  #tab-finance .amti-finance-card-body:has(.amti-finance-chart-frame) {
    gap: 6px !important;
    padding: 0 !important;
  }

  #tab-finance .amti-finance-chart-toolbar {
    gap: 6px !important;
  }

  #tab-finance .amti-finance-chart-frame {
    padding: 4px !important;
  }
}

#tab-finance .amti-finance-balcao-card:has(.amti-finance-chart-frame) {
  overflow-anchor: none;
}

/* Status acima das ações; botões compactos e alinhados à direita. */
.agenda-item .agenda-actions-group {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}

.agenda-item .agenda-actions-group > .amti-badge {
  align-self: flex-end !important;
  margin: 0 !important;
}

.agenda-item .agenda-action-btns {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.agenda-item .agenda-action-btns > .amti-btn {
  display: inline-flex !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

.agenda-item .agenda-action-btns > .amti-btn > i {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* OS media notice: keep the heading beside the icon instead of distributing
   both items across the full header width. The shared modal backdrop remains
   responsible for blur/dimming so Dashboard performance preferences apply. */
#osMediaStorageModal {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#osMediaStorageModal .amti-os-media-notice {
  width: min(560px, calc(100vw - 24px)) !important;
  max-width: 560px !important;
  background: var(--popup-surface, var(--card-surface)) !important;
  border-color: var(--popup-border, var(--border-color)) !important;
  color: var(--popup-text, var(--text-primary)) !important;
}

#osMediaStorageModal .amti-os-media-notice .amti-modal-header {
  justify-content: flex-start !important;
  gap: 14px !important;
  min-width: 0;
  background: var(--popup-surface-raised, var(--surface-strong)) !important;
  border-bottom-color: var(--popup-border, var(--border-color)) !important;
}

#osMediaStorageModal .amti-os-media-notice .amti-modal-header > div {
  flex: 1 1 auto;
  min-width: 0;
}

#osMediaStorageModal .amti-os-media-notice h3 {
  overflow-wrap: anywhere;
}

#osMediaStorageModal .amti-os-media-notice .amti-modal-body,
#osMediaStorageModal .amti-os-media-notice .amti-modal-footer {
  background: var(--popup-surface, var(--card-surface)) !important;
}

#osMediaStorageModal .amti-os-media-notice .amti-modal-footer {
  border-top-color: var(--popup-border, var(--border-color)) !important;
}

:is(html, body).amti-hide-glow #osMediaStorageModal .amti-os-media-notice {
  box-shadow: none !important;
}

@media (max-width: 600px) and (orientation: portrait) {
  #osMediaStorageModal {
    padding: max(12px, env(safe-area-inset-top))
             max(12px, env(safe-area-inset-right))
             max(12px, env(safe-area-inset-bottom))
             max(12px, env(safe-area-inset-left)) !important;
  }

  #osMediaStorageModal .amti-os-media-notice {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - 24px) !important;
  }

  #osMediaStorageModal .amti-os-media-notice .amti-modal-header {
    align-items: flex-start;
    padding: 14px !important;
  }

  #osMediaStorageModal .amti-os-media-notice h3 {
    font-size: .98rem !important;
    line-height: 1.3;
  }

  #osMediaStorageModal .amti-os-media-notice .amti-modal-header p {
    line-height: 1.4;
  }

  #osMediaStorageModal .amti-os-media-notice .amti-modal-body {
    overflow-y: auto;
    padding: 14px !important;
    font-size: .92rem;
  }
}

/* Contrato único para todos os cards configuráveis da Home:
   120px por linha + 16px de intervalo = 256/392/528/664px em 2/3/4/5 linhas. */
#tab-home .amti-dashboard-grid {
  grid-auto-rows: 120px !important;
  column-gap: 16px !important;
  row-gap: 16px !important;
}

@media (min-width: 901px) and (max-width: 1023.98px) {
  .amti-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .amti-dashboard-grid > .amti-grid-card.height-small {
    grid-row-end: span 2 !important;
  }

  .amti-dashboard-grid > .amti-grid-card.height-medium {
    grid-row-end: span 3 !important;
  }

  .amti-dashboard-grid > .amti-grid-card.height-large {
    grid-row-end: span 4 !important;
  }

  .amti-dashboard-grid > .amti-grid-card.height-xlarge {
    grid-row-end: span 5 !important;
  }

  .amti-dashboard-grid .amti-grid-card.size-large,
  .amti-dashboard-grid .amti-smart-search-expanded {
    grid-column: 1 / -1 !important;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
  .amti-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  #tab-home .amti-dashboard-grid {
    grid-auto-rows: auto !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
  }

  .amti-dashboard-grid > .amti-grid-card {
    grid-row-start: auto !important;
    grid-row-end: auto !important;
  }

  .amti-dashboard-grid .amti-grid-card.size-large {
    grid-column: 1 / -1 !important;
  }
  .amti-dashboard-grid > .amti-grid-card.amti-smart-search-card.height-small:not(.amti-smart-search-expanded) {
    height: 256px !important;
    min-height: 256px !important;
    max-height: 256px !important;
  }
  .amti-dashboard-grid > .amti-grid-card.amti-smart-search-card.height-medium:not(.amti-smart-search-expanded) {
    height: 392px !important;
    min-height: 392px !important;
    max-height: 392px !important;
  }
  .amti-dashboard-grid > .amti-grid-card.amti-smart-search-card.height-large:not(.amti-smart-search-expanded) {
    height: 528px !important;
    min-height: 528px !important;
    max-height: 528px !important;
  }
  .amti-dashboard-grid > .amti-grid-card.amti-smart-search-card.height-xlarge:not(.amti-smart-search-expanded) {
    height: 664px !important;
    min-height: 664px !important;
    max-height: 664px !important;
  }
  .amti-dashboard-grid .amti-grid-card.amti-smart-search-card.amti-smart-search-expanded {
    grid-column: 1 / -1 !important;
    grid-row-end: auto !important;
  }
}

@media (max-width: 767px) {
  #tab-home .amti-dashboard-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #tab-home .amti-dashboard-grid > .amti-grid-card {
    grid-column: 1 / -1 !important;
  }
  .amti-dashboard-grid > .amti-grid-card.amti-smart-search-card {
    touch-action: pan-x pan-y !important;
  }
  #tab-home:has(.amti-smart-search-card),
  #tab-home:has(.amti-smart-search-card) .amti-dashboard-grid,
  #tab-home .amti-dashboard-grid .amti-smart-search-card,
  #tab-home .amti-dashboard-grid .amti-smart-search-card .amti-smart-search-header.has-expanded-filters {
    touch-action: pan-x pan-y !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199.98px) {
  .amti-dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) {
  .amti-dashboard-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Match every dashboard data row to the Home OS table's vertical rhythm. */
:is(
  #tab-home,
  #tab-orders,
  #tab-sales,
  #tab-finance,
  #tab-clients,
  #tab-equipments,
  #tab-stock,
  #tab-services,
  #tab-suppliers,
  #tab-company,
  #tab-comissao-tecnica,
  #miniOsModal,
  #viewOsModal
) :is(.amti-table-container, .os-table-wrap, [data-table-scroll-region])
  :is(
    table.amti-table,
    table.clients-table,
    table.equipments-table,
    table.comissao-detail-table,
    table.view-os-items-table
  )
  tbody > tr:not(.os-empty-row):not(:has(> td[colspan])) > td,
#tab-home .amti-dashboard-grid .os-card .os-table
  tbody > tr:not(.os-empty-row):not(:has(> td[colspan])) > td,
#tab-finance #financeTableContainer table tbody > tr:not(.os-empty-row):not(:has(> td[colspan])) > td,
#tab-sales #pdvHistoricoTable tbody > tr:not(.os-empty-row):not(:has(> td[colspan])) > td,
#viewOsModal .view-os-items-table tbody > tr:not(.os-empty-row):not(:has(> td[colspan])) > td {
  padding-top: var(--dashboard-table-cell-padding-block, 8px) !important;
  padding-bottom: var(--dashboard-table-cell-padding-block, 8px) !important;
}

@media (max-width: 1023.98px) {
  :root {
    --dashboard-table-cell-padding-block: 6px;
  }
}

/* Keep registry columns readable on small screens; scroll the table instead
   of squeezing every column into the viewport. */
@media (max-width: 1023.98px) {
  .amti-table-container,
  [data-table-scroll-region] {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }

  .amti-table-container[tabindex="0"]:focus-visible,
  [data-table-scroll-region][tabindex="0"]:focus-visible {
    outline: 2px solid var(--border-focus, #38bdf8);
    outline-offset: -2px;
  }

  .amti-table-container :is(table.amti-table, table.comissao-detail-table),
  [data-table-scroll-region] :is(table.amti-table, table.comissao-detail-table) {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto !important;
  }

  .amti-table-container :is(table.amti-table, table.comissao-detail-table) th,
  [data-table-scroll-region] :is(table.amti-table, table.comissao-detail-table) th {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: nowrap !important;
  }

  .amti-table-container :is(table.amti-table, table.comissao-detail-table) td,
  [data-table-scroll-region] :is(table.amti-table, table.comissao-detail-table) td {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
  }

  .amti-table-container :is(table.amti-table, table.comissao-detail-table) td code,
  [data-table-scroll-region] :is(table.amti-table, table.comissao-detail-table) td code,
  .amti-table-container :is(table.amti-table, table.comissao-detail-table) td .amti-btn,
  [data-table-scroll-region] :is(table.amti-table, table.comissao-detail-table) td .amti-btn {
    overflow-wrap: normal !important;
    white-space: nowrap !important;
  }

  #tab-orders .amti-table-container .os-active-table {
    min-width: 100% !important;
    table-layout: auto !important;
  }

  #tab-orders .amti-table-container .os-finalized-table {
    min-width: 100% !important;
    table-layout: auto !important;
  }

  #tab-home .os-table-wrap .os-table {
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-table-wrap {
    overflow-x: auto !important;
    touch-action: pan-x pan-y !important;
  }

  #tab-home .amti-dashboard-grid .os-table :is(th, td):nth-child(n+4) {
    display: table-cell !important;
    width: auto !important;
    min-width: 120px !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    visibility: visible !important;
    white-space: nowrap !important;
  }

  #tab-home .amti-dashboard-grid .os-table colgroup col:nth-child(n+4) {
    display: table-column !important;
    width: auto !important;
    min-width: 120px !important;
    max-width: none !important;
    visibility: visible !important;
  }

  #tab-orders .amti-table-container .os-table :is(th, td),
  #tab-home .os-table-wrap .os-table :is(th, td) {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  #tab-orders .amti-table-container .os-table :is(th, td):nth-child(n+4) {
    display: table-cell !important;
    width: auto !important;
    min-width: 120px !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    visibility: visible !important;
  }

  #tab-orders .amti-table-container .os-table colgroup col:nth-child(n+4) {
    display: table-column !important;
    width: auto !important;
    min-width: 120px !important;
    max-width: none !important;
    visibility: visible !important;
  }

  #miniOsModal .amti-table-container .amti-table {
    min-width: 100% !important;
  }

  #tab-sales #pdvHistoricoTable {
    min-width: 100% !important;
  }

  #tab-sales #pdvHistoricoTable th {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-sales #pdvHistoricoTable td {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    text-overflow: clip !important;
  }

  #tab-sales #pdvHistoricoTable td .amti-btn,
  #tab-sales #pdvHistoricoTable td code {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-finance #financeTableContainer .amti-table {
    min-width: 100% !important;
  }

  #tab-finance #financeTableContainer .amti-table th,
  #tab-finance #financeTableContainer .amti-table td:not(:nth-child(4)) {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-finance #financeTableContainer .amti-table td:nth-child(4) {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    text-overflow: clip !important;
  }

  #tab-comissao-tecnica .comissao-detail-table {
    min-width: 100% !important;
    table-layout: auto !important;
  }

  #tab-comissao-tecnica .comissao-detail-table th {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-comissao-tecnica .comissao-detail-table td:nth-child(1),
  #tab-comissao-tecnica .comissao-detail-table td:nth-child(2),
  #tab-comissao-tecnica .comissao-detail-table td:nth-child(4),
  #tab-comissao-tecnica .comissao-detail-table td:nth-child(5),
  #tab-comissao-tecnica .comissao-detail-table td:nth-child(6) {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-comissao-tecnica .comissao-detail-table td:nth-child(3) .amti-badge {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-company #compNfeQueueTable {
    min-width: 100% !important;
  }

  #tab-company #compNfeQueueTable :is(th, td) {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-clients .amti-table-container,
  #tab-equipments .amti-table-container,
  #tab-stock .amti-table-container,
  #tab-services .amti-table-container,
  #tab-suppliers .amti-table-container {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  #tab-clients .amti-table-container:focus-visible,
  #tab-equipments .amti-table-container:focus-visible,
  #tab-stock .amti-table-container:focus-visible,
  #tab-services .amti-table-container:focus-visible,
  #tab-suppliers .amti-table-container:focus-visible {
    outline: 2px solid var(--border-focus, #38bdf8);
    outline-offset: -2px;
  }

  #tab-clients .clients-table,
  #tab-equipments .equipments-table,
  #tab-stock .amti-table,
  #tab-services .amti-table,
  #tab-suppliers .amti-table {
    width: 100% !important;
    table-layout: auto !important;
  }

  #tab-clients .clients-table {
    min-width: 100% !important;
  }

  #tab-equipments .equipments-table {
    min-width: 100% !important;
  }

  #tab-stock .amti-table {
    min-width: 100% !important;
  }

  #tab-services .amti-table {
    min-width: 100% !important;
  }

  #tab-suppliers .amti-table {
    min-width: 100% !important;
  }

  #tab-clients .amti-table th,
  #tab-clients .amti-table td,
  #tab-equipments .amti-table th,
  #tab-equipments .amti-table td,
  #tab-stock .amti-table th,
  #tab-stock .amti-table td,
  #tab-services .amti-table th,
  #tab-services .amti-table td,
  #tab-suppliers .amti-table th,
  #tab-suppliers .amti-table td {
    word-break: normal !important;
  }

  #tab-clients .amti-table th,
  #tab-equipments .amti-table th,
  #tab-stock .amti-table th,
  #tab-services .amti-table th,
  #tab-suppliers .amti-table th {
    overflow-wrap: normal !important;
    white-space: nowrap !important;
  }

  #tab-clients .amti-table td,
  #tab-equipments .amti-table td,
  #tab-stock .amti-table td,
  #tab-services .amti-table td,
  #tab-suppliers .amti-table td {
    overflow-wrap: normal !important;
    white-space: nowrap !important;
  }

  #tab-clients .amti-table td:first-child,
  #tab-equipments .amti-table td:first-child,
  #tab-stock .amti-table td:first-child {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-equipments .amti-table td code,
  #tab-stock .amti-table td code {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  #tab-suppliers .amti-table td:last-child {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }
}

@media (max-width: 767px) {
  #tab-home .amti-dashboard-grid .os-card .os-table-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-table {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-table :is(th, td) {
    display: table-cell !important;
    visibility: visible !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-table :is(th, td):first-child,
  #tab-home .amti-dashboard-grid .os-card .os-table colgroup col:first-child {
    width: auto !important;
    min-width: 0 !important;
  }

  #tab-home .amti-dashboard-grid .os-card .os-table colgroup col {
    display: table-column !important;
    visibility: visible !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* Keep every dashboard table heading and cell left-aligned on every screen. */
body table :is(th, td) {
  text-align: left !important;
}

#tab-home .amti-dashboard-grid .os-card .os-table :is(th, td):is(:nth-child(1), :nth-child(3)),
#tab-orders .os-table :is(th, td):is(:nth-child(1), :nth-child(3)) {
  text-align: left !important;
}

@media (max-width: 767px) {
  #viewOsContent .view-os-items-table td {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

/* Shared visual and physical baseline for matching View/Edit OS actions. */
#osModal .amti-os-print-group .os-modal-action-button,
#osModal .amti-os-save-group .os-modal-action-button,
#viewOsModalFooter .os-modal-action-button {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 10px !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

#osModal .amti-os-print-group .os-modal-action-button i,
#osModal .amti-os-save-group .os-modal-action-button i,
#viewOsModalFooter .os-modal-action-button i {
  flex-shrink: 0 !important;
}

#viewOsModalFooter #viewOsCloseBtn {
  justify-content: center !important;
  text-align: center !important;
}

/* In the operation row, the exit action has the same fixed footprint in both modals. */
#osModal .amti-os-save-group .os-modal-action-button:first-child,
#viewOsModalFooter .view-os-footer-main .os-modal-action-button:first-child {
  flex: 0 0 58px !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
}

@media (max-width: 767px) {
  #osModal .amti-os-print-group .os-modal-action-button,
  #osModal .amti-os-save-group .os-modal-action-button,
  #viewOsModalFooter .os-modal-action-button {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 8px !important;
    font-size: 0.82rem !important;
    gap: 5px !important;
  }

  #osModal .amti-os-print-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 6px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  #osModal .amti-os-print-group .os-modal-action-button {
    width: auto !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  #viewOsModalFooter .view-os-footer-main .os-modal-action-button:not(:first-child) {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  #viewOsModalFooter .view-os-footer-docs .os-modal-action-button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
}

/* Keep dashboard search icon buttons square without changing their current height. */
#tab-home .amti-dashboard-grid .os-card .os-card-actions .os-card-search-btn,
#tab-orders .os-card-actions #osSearchContainer .amti-search-btn,
#tab-orders .os-card-actions #finalizedOsSearchContainer .amti-search-btn,
#tab-orders .os-card-actions .os-card-search-btn,
#tab-clients .amti-search-btn,
#tab-equipments .amti-search-btn,
#tab-services .amti-search-btn,
#tab-stock .amti-search-btn,
#tab-finance #financeSearchContainer .amti-search-btn,
#tab-finance .amti-search-btn,
.amti-shell .os-service-search-toggle,
.amti-shell #btnLookupCompanyCep {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  padding: 0 !important;
}

/* Ensure cadastro add buttons match the search button height (38px) across all viewports */
#tab-clients .amti-card-header button.amti-btn-primary,
#tab-clients .amti-card-header .amti-btn-primary,
#tab-equipments .amti-card-header button.amti-btn-primary,
#tab-equipments .amti-card-header .amti-btn-primary,
#tab-services .amti-card-header button.amti-btn-primary,
#tab-services .amti-card-header .amti-btn-primary,
#tab-stock .amti-card-header button.amti-btn-primary,
#tab-stock .amti-card-header .amti-btn-primary,
#tab-suppliers .amti-card-header button.amti-btn-primary,
#tab-suppliers .amti-card-header .amti-btn-primary {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

#tab-suppliers #supplierSearchInput {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  #viewOsModal .amti-modal-content-xl,
  #osModal .amti-modal-content-xl {
    width: 100% !important;
    max-width: 100% !important;
    height: 96dvh !important;
    max-height: 96dvh !important;
    margin: 0 !important;
    border-radius: var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #viewOsModal .amti-modal-header,
  #osModal .amti-modal-header {
    padding: 12px 14px !important;
  }

  #viewOsModal .amti-modal-body,
  #osModal .amti-modal-body {
    padding: 12px 14px !important;
  }

  #viewOsModalFooter,
  #osModal .amti-os-footer-actions {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: var(--bg-surface, var(--card-surface, #1e293b)) !important;
    border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
  }

  #viewOsModalFooter .amti-os-save-group,
  #osModal .amti-os-save-group,
  #viewOsModalFooter .amti-os-print-group,
  #osModal .amti-os-print-group {
    order: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  #viewOsModalFooter .amti-os-save-group,
  #osModal .amti-os-save-group {
    order: 1 !important;
  }

  #viewOsModalFooter .amti-os-print-group,
  #osModal .amti-os-print-group {
    order: 2 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  #viewOsModalFooter .amti-os-print-group::-webkit-scrollbar,
  #osModal .amti-os-print-group::-webkit-scrollbar {
    display: none !important;
  }

  #viewOsModalFooter .amti-os-save-group .os-modal-action-button,
  #osModal .amti-os-save-group .os-modal-action-button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 8px !important;
    font-size: 0.85rem !important;
    line-height: 1 !important;
  }

  #viewOsModalFooter .amti-os-save-group .os-modal-action-button:first-child,
  #osModal .amti-os-save-group .os-modal-action-button:first-child {
    flex: 0 0 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }

  #viewOsModalFooter .amti-os-print-group .os-modal-action-button,
  #osModal .amti-os-print-group .os-modal-action-button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 6px !important;
    font-size: 0.78rem !important;
    line-height: 1 !important;
  }

  #viewOsContent .view-os-row {
    gap: 6px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  #viewOsContent .view-os-row + .view-os-row,
  #viewOsContent .view-os-row:first-child {
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  #viewOsContent .view-os-label {
    width: auto !important;
    margin: 0 !important;
    color: var(--text-secondary) !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
  }

  #viewOsContent .view-os-row > span:last-child {
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--text-primary) !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
  }
}

/* Ações de conclusão da OS mantêm a semântica verde em todos os temas e telas. */
#btnConcluirOS.amti-btn.amti-btn-concluir,
#viewOsCompleteBtn.amti-btn.amti-btn-concluir {
  background: linear-gradient(180deg, #15803d 0%, #166534 100%) !important;
  border: 1px solid #277545 !important;
  border-top-color: #4ade80 !important;
  border-bottom: 2px solid #22c55e !important;
  color: #ffffff !important;
  text-shadow: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(134, 239, 172, 0.45), 0 3px 8px rgba(20, 83, 45, 0.38) !important;
}

body:not(.amti-ultra-performance-mode) #btnConcluirOS.amti-btn.amti-btn-concluir,
body:not(.amti-ultra-performance-mode) #viewOsCompleteBtn.amti-btn.amti-btn-concluir {
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease, filter 180ms ease !important;
}

#btnConcluirOS.amti-btn.amti-btn-concluir:hover,
#viewOsCompleteBtn.amti-btn.amti-btn-concluir:hover {
  background: linear-gradient(180deg, #15803d 0%, #166534 100%) !important;
  border-color: #22c55e !important;
  border-top-color: #86efac !important;
  border-bottom-color: #4ade80 !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 8px 18px rgba(20, 83, 45, 0.42), 0 0 0 1px rgba(134, 239, 172, 0.22) !important;
  transform: translateY(-1px) !important;
}

#btnConcluirOS.amti-btn.amti-btn-concluir:active,
#viewOsCompleteBtn.amti-btn.amti-btn-concluir:active {
  background: linear-gradient(180deg, #14532d 0%, #166534 100%) !important;
  border-color: #14532d !important;
  border-top-color: #166534 !important;
  border-bottom-color: #16a34a !important;
  border-bottom-width: 1px !important;
  color: #ffffff !important;
  box-shadow: inset 0 2px 5px rgba(2, 44, 20, 0.42) !important;
  transform: translateY(0) scale(0.98) !important;
}

#btnConcluirOS.amti-btn.amti-btn-concluir:focus-visible,
#viewOsCompleteBtn.amti-btn.amti-btn-concluir:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #0f172a !important;
  transform: translateY(-1px) !important;
}

#osCloseModal .amti-modal-footer .os-close-confirm-btn {
  background: linear-gradient(180deg, #15803d 0%, #166534 100%) !important;
  border: 1px solid #277545 !important;
  border-top-color: #4ade80 !important;
  border-bottom: 2px solid #22c55e !important;
  color: #ffffff !important;
  text-shadow: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(134, 239, 172, 0.45), 0 3px 8px rgba(20, 83, 45, 0.38) !important;
}

body:not(.amti-ultra-performance-mode) #osCloseModal .amti-modal-footer .os-close-confirm-btn {
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease !important;
}

#osCloseModal .amti-modal-footer .os-close-confirm-btn:hover {
  background: linear-gradient(180deg, #15803d 0%, #166534 100%) !important;
  border-color: #22c55e !important;
  border-top-color: #86efac !important;
  border-bottom-color: #4ade80 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), inset 0 -1px 0 rgba(134, 239, 172, 0.55), 0 8px 18px rgba(20, 83, 45, 0.42) !important;
  transform: translateY(-1px) !important;
}

#osCloseModal .amti-modal-footer .os-close-confirm-btn:active {
  background: linear-gradient(180deg, #14532d 0%, #166534 100%) !important;
  border-color: #14532d !important;
  border-top-color: #166534 !important;
  border-bottom-color: #16a34a !important;
  border-bottom-width: 1px !important;
  box-shadow: inset 0 2px 5px rgba(15, 35, 65, 0.42) !important;
  transform: translateY(0) scale(0.98) !important;
}

#osCloseModal .amti-modal-footer .os-close-confirm-btn:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #0f172a !important;
}

@media (prefers-reduced-motion: reduce) {
  #btnConcluirOS.amti-btn.amti-btn-concluir,
  #viewOsCompleteBtn.amti-btn.amti-btn-concluir,
  #btnConcluirOS.amti-btn.amti-btn-concluir:hover,
  #viewOsCompleteBtn.amti-btn.amti-btn-concluir:hover,
  #btnConcluirOS.amti-btn.amti-btn-concluir:active,
  #viewOsCompleteBtn.amti-btn.amti-btn-concluir:active {
    transition: none !important;
    transform: none !important;
  }

  #osCloseModal .amti-modal-footer .os-close-confirm-btn,
  #osCloseModal .amti-modal-footer .os-close-confirm-btn:hover,
  #osCloseModal .amti-modal-footer .os-close-confirm-btn:active {
    transition: none !important;
    transform: none !important;
  }
}

/* Keep long cell content from changing row height across dashboard tables. */
body :is(.amti-table, table),
body :is(#tab-home, #tab-orders, #tab-clients, #tab-equipments, #tab-stock, #tab-services, #tab-suppliers, #tab-finance, #tab-sales, #tab-agenda, #tab-cadastros, #tab-ai-advisor, #tab-whatsapp) :is(.amti-table, table) {
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  table-layout: auto !important;
}

body :is(.amti-table, table) :is(th, td),
body :is(#tab-home, #tab-orders, #tab-clients, #tab-equipments, #tab-stock, #tab-services, #tab-suppliers, #tab-finance, #tab-sales, #tab-agenda, #tab-cadastros, #tab-ai-advisor, #tab-whatsapp) :is(.amti-table, table) :is(th, td) {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body :is(.amti-table, table):not(#tab-home .os-table) tbody > tr:not(.amti-virtual-spacer):not(.os-empty-row) > td:not([colspan]):not(:has(button, a, input, select, textarea, [role="button"])),
body :is(#tab-home, #tab-orders, #tab-clients, #tab-equipments, #tab-stock, #tab-services, #tab-suppliers, #tab-finance, #tab-sales, #tab-agenda, #tab-cadastros, #tab-ai-advisor, #tab-whatsapp) :is(.amti-table, table):not(#tab-home .os-table) tbody > tr:not(.amti-virtual-spacer):not(.os-empty-row) > td:not([colspan]):not(:has(button, a, input, select, textarea, [role="button"])) {
  max-width: 320px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body :is(.amti-table, table) :is(th, td) *,
body :is(#tab-home, #tab-orders, #tab-clients, #tab-equipments, #tab-stock, #tab-services, #tab-suppliers, #tab-finance, #tab-sales, #tab-agenda, #tab-cadastros, #tab-ai-advisor, #tab-whatsapp) :is(.amti-table, table) :is(th, td) * {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body :is(.amti-table, table) :is(th, td) br,
body :is(#tab-home, #tab-orders, #tab-clients, #tab-equipments, #tab-stock, #tab-services, #tab-suppliers, #tab-finance, #tab-sales, #tab-agenda, #tab-cadastros, #tab-ai-advisor, #tab-whatsapp) :is(.amti-table, table) :is(th, td) br {
  display: none !important;
}

@media (min-width: 768px) {
  body :is(.amti-table, table),
  body :is(#tab-home, #tab-orders, #tab-clients, #tab-equipments, #tab-stock, #tab-services, #tab-suppliers, #tab-finance, #tab-sales, #tab-agenda, #tab-cadastros, #tab-ai-advisor, #tab-whatsapp) :is(.amti-table, table) {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  #tab-orders .amti-table-container .os-table :is(th, td):nth-child(n+1),
  #tab-home .amti-dashboard-grid .os-card .os-table :is(th, td):nth-child(n+1) {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

body :is(.amti-table-container, .os-table-wrap, .table-responsive, .table-wrapper, .os-table-wrapper, .crm-table-wrap, [data-table-scroll-region]) {
  max-width: 100% !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

#viewOsModal .amti-modal-body:has(.view-os-items-table) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  body:not(.amti-performance-mode):not(.amti-ultra-performance-mode).sidebar-mode-hover .amti-shell > .amti-sidebar,
  html[data-theme] body:not(.amti-performance-mode):not(.amti-ultra-performance-mode).sidebar-mode-hover .amti-shell > .amti-sidebar {
    transition:
      width 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
      min-width 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
      background 180ms ease,
      backdrop-filter 180ms ease !important;
  }

  body:not(.amti-performance-mode):not(.amti-ultra-performance-mode).sidebar-mode-hover .amti-shell > .amti-sidebar:hover,
  html[data-theme] body:not(.amti-performance-mode):not(.amti-ultra-performance-mode).sidebar-mode-hover .amti-shell > .amti-sidebar:hover {
    background:
      linear-gradient(
        180deg,
        rgba(7, 10, 16, 0.9) 0%,
        rgba(4, 7, 11, 0.9) 46%,
        rgba(2, 5, 8, 0.9) 100%
      ) !important;
  }

  body:not(.amti-performance-mode):not(.amti-ultra-performance-mode).sidebar-mode-hover .amti-shell > .amti-sidebar:hover {
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  }
}

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
  body:not(.amti-performance-mode):not(.amti-ultra-performance-mode).sidebar-mode-hover .amti-shell > .amti-sidebar,
  html[data-theme] body:not(.amti-performance-mode):not(.amti-ultra-performance-mode).sidebar-mode-hover .amti-shell > .amti-sidebar {
    transition-duration: .01ms !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   PADRONIZAÇÃO UNIVERSAL DE MARGEM INTERNA (PADDING) DE TODOS OS CARDS
   Regra única do Sistema AMTI: margem interna (superior, inferior, direita
   e esquerda: 10px) padronizada em todos os cards de todas as páginas
   do Dashboard (desktop e mobile).
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --amti-card-padding: 10px;
}

.amti-card,
.amti-grid-card,
.os-card,
.agenda-card,
.ai-tips-live-card,
.amti-ai-collapsible-card,
.amti-settings-section-card,
.amti-settings-hero-card,
.amti-settings-card-soft,
.amti-settings-card,
.amti-settings-footer-card,
.amti-soft-card,
.amti-stat-card,
.amti-finance-balcao-card,
.comissao-card,
.comissao-stat-card,
.comissao-chart-card,
.amti-whatsapp-card,
.amti-whatsapp-mini-card,
.amti-whatsapp-share-card,
.amti-flow-summary-card,
.pdv-config-card,
.pdv-widget-card,
.pdv-widget-summary-card,
.amti-archive-card,
.amti-menu-order-card,
.amti-spotlight-card,
.amti-home-card,
.amti-user-notes-card,
.behavior-card,
.confidence-mode-card,
.dash-plan-card,
.finance-card,
.hardware-card,
.hardware-card-modern,
.shortcut-card,
.status-card,
.toggle-card,
.card,
.zn-card,
#tab-home .amti-card,
#tab-home .amti-grid-card,
#tab-home .os-card,
#tab-home .agenda-card,
#tab-home .ai-tips-live-card,
#tab-home .pdv-widget-card,
#tab-home .amti-dashboard-grid .amti-grid-card,
#tab-home .amti-dashboard-grid .amti-card,
#tab-orders .os-card,
#tab-orders .amti-grid-card,
#tab-orders #activeOsCard,
#tab-orders #finalizedOsArchiveCard,
#tab-agenda .amti-grid-card,
#tab-agenda .agenda-card,
#tab-agenda .os-card,
#tab-cadastros .amti-card,
#tab-cadastros .amti-settings-card-soft,
#tab-cadastros .amti-soft-card,
#tab-cadastros .amti-settings-shell,
#tab-cadastros > .amti-card.amti-settings-shell,
#tab-clients .amti-card,
#tab-equipments .amti-card,
#tab-stock .amti-card,
#tab-services .amti-card,
#tab-suppliers .amti-card,
#tab-finance .amti-card,
#tab-finance .amti-stat-card,
#tab-finance .amti-finance-balcao-card,
#tab-ai-advisor .amti-card,
#tab-ai-advisor .amti-grid-card,
#tab-ai-advisor .amti-ai-collapsible-card,
#tab-settings .amti-card,
#tab-settings .amti-settings-section-card,
#tab-settings .amti-settings-section-grid > .amti-settings-card-soft,
#tab-settings .amti-settings-hero-card,
#tab-settings .amti-settings-footer-card,
#tab-company .amti-card,
#tab-company .amti-settings-shell,
#tab-whatsapp .amti-card,
#tab-whatsapp .amti-whatsapp-card,
#tab-comissao-tecnica .amti-card,
#tab-comissao-tecnica .comissao-stat-card,
#tab-comissao-tecnica .comissao-chart-card,
#tab-sales .amti-card,
#tab-sales .pdv-config-card,
#tab-sales .pdv-widget-card,
#tab-sales .pdv-widget-summary-card {
  padding: 10px !important;
}

/* Cards recolhidos / colapsáveis (Gerente Virtual de IA) */
.amti-ai-collapsible-card,
#tab-ai-advisor .amti-ai-collapsible-card {
  padding: 10px !important;
}
.amti-ai-collapsible-card .amti-card-header,
#tab-ai-advisor .amti-ai-collapsible-card .amti-card-header {
  padding: 6px 10px !important;
  margin: 0 !important;
}
.amti-ai-collapsible-card .amti-card-body,
#tab-ai-advisor .amti-ai-collapsible-card .amti-card-body {
  padding: 10px !important;
  margin-top: 8px !important;
}

/* Cards menores de Configurações e Cadastros */
.amti-settings-section-grid > .amti-settings-card-soft,
.amti-settings-card-soft,
.amti-soft-card {
  padding: 10px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CONTROLE FINANCEIRO / FLUXO DE CAIXA: PADRONIZAÇÃO COMPLETA DE CARDS
   - Cards de lançamentos padronizados em 10px universal
   - Cabeçalho padronizado entre cards normais e colapsáveis (Lançamento de Contas e Balcão/TI)
   - Alinhamento de valores e colunas idênticos ao restante do sistema
   - Efeito blur ao clicar nos cards para privacidade
   ═══════════════════════════════════════════════════════════════════════════ */
#tab-finance .amti-stat-card {
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  user-select: none !important;
  min-height: 64px !important;
  box-sizing: border-box !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}

#tab-finance .amti-stat-icon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  font-size: 1.1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--radius-md, 8px) !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}

#tab-finance .amti-stat-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 48px !important;
}

#tab-finance .amti-stat-label {
  font-size: 0.76rem !important;
  line-height: 1.25 !important;
  min-height: 2.5em !important;
  max-height: 2.5em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin-bottom: 4px !important;
  color: var(--text-secondary, #94a3b8) !important;
}

#tab-finance .amti-stat-value {
  margin-top: auto !important;
  display: block !important;
  white-space: nowrap !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  transition: filter 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: filter, opacity;
}

/* Efeito Blur ao clicar nos cards de resumo financeiro */
.amti-summary-grid.amti-cards-blurred .amti-stat-card .amti-stat-value,
.amti-summary-grid.amti-cards-blurred .amti-stat-value,
.amti-stat-card.amti-card-blurred .amti-stat-value,
.amti-stat-card.is-blurred .amti-stat-value,
#tab-finance.amti-values-blurred .amti-stat-value,
#tab-finance .amti-stat-card.amti-card-blurred .amti-stat-value,
#tab-finance .amti-stat-card.is-blurred .amti-stat-value,
#tab-finance .amti-stat-card.amti-cards-blurred .amti-stat-value,
#tab-finance .amti-stat-value.amti-blurred {
  filter: blur(8px) !important;
  opacity: 0.45 !important;
  user-select: none !important;
  pointer-events: none !important;
}

/* Cards de lançamentos: regra unificada idêntica para todos os cards de finanças */
#tab-finance .amti-card,
#tab-finance .amti-finance-balcao-card {
  padding: 10px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block: 0 !important;
  box-sizing: border-box !important;
  border-radius: var(--radius-lg, 14px) !important;
}

/* Cabeçalho unificado para todos os cards de lançamentos de finanças */
#tab-finance .amti-card > .amti-card-header,
#tab-finance .amti-card > .os-card-header,
#tab-finance .amti-finance-balcao-card > .amti-card-header,
#tab-finance .amti-finance-balcao-card > .os-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 0 10px 0 !important;
  margin: 0 0 10px 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
  cursor: pointer;
}

/* Quando o card colapsável de finanças estiver recolhido (body oculto) */
#tab-finance .amti-finance-balcao-card:has(.amti-finance-card-body.collapsed) > .amti-card-header,
#tab-finance .amti-finance-balcao-card:has(.amti-finance-card-body.collapsed) > .os-card-header,
#tab-finance .amti-finance-balcao-card.is-collapsed > .amti-card-header,
#tab-finance .amti-finance-balcao-card.is-collapsed > .os-card-header,
#tab-finance .amti-finance-balcao-card:has(.amti-finance-card-body[style*="display: none"]) > .amti-card-header,
#tab-finance .amti-finance-balcao-card:has(.amti-finance-card-body[style*="display:none"]) > .amti-card-header,
#tab-finance .amti-finance-balcao-card:has(.amti-finance-card-body[style*="display: none"]) > .os-card-header,
#tab-finance .amti-finance-balcao-card:has(.amti-finance-card-body[style*="display:none"]) > .os-card-header {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: none !important;
}

/* Corpo do card de finanças (gráfico balcão / TI / etc.) */
#tab-finance .amti-finance-balcao-card .amti-finance-card-body {
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column !important;
  gap: 10px !important;
  box-sizing: border-box !important;
}

/* Forçar desaparecimento absoluto quando recolhido */
#tab-finance .amti-finance-balcao-card .amti-finance-card-body.collapsed,
#tab-finance .amti-finance-balcao-card .amti-finance-card-body[style*="display: none"],
#tab-finance .amti-finance-balcao-card .amti-finance-card-body[style*="display:none"],
#tab-finance .amti-finance-balcao-card.is-collapsed .amti-finance-card-body {
  display: none !important;
}

#tab-finance .amti-finance-chart-toolbar {
  padding: 0 !important;
  margin: 0 !important;
}

#tab-finance .amti-finance-chart-frame {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Tabela de lançamentos: alinhamento perfeito de bordas e células com 10px */
#tab-finance #financeTableContainer,
#tab-finance .amti-table-container.amti-finance-list {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#tab-finance #financeTableContainer th,
#tab-finance #financeTableContainer td,
#tab-finance .amti-finance-list th,
#tab-finance .amti-finance-list td {
  padding: 8px 10px !important;
  font-size: 0.85rem !important;
  line-height: 1.25 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

#tab-finance #financeTableContainer th:first-child,
#tab-finance #financeTableContainer td:first-child,
#tab-finance .amti-finance-list th:first-child,
#tab-finance .amti-finance-list td:first-child {
  padding-left: 2px !important;
}

#tab-finance #financeTableContainer th:last-child,
#tab-finance #financeTableContainer td:last-child,
#tab-finance .amti-finance-list th:last-child,
#tab-finance .amti-finance-list td:last-child {
  padding-right: 2px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PADRÃO UNIVERSAL PARA TODOS OS CARDS RECOLHIDOS DO DASHBOARD
   (Finanças, OS Ativas / Arquivo, Gerente Virtual IA, Integração WhatsApp, etc.)
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1. Estado recolhido universal: formato compacto preservando 100% o estilo e cor nativos do tema */
.amti-card.is-collapsed,
.amti-finance-balcao-card.is-collapsed,
.amti-finance-balcao-card:has(.amti-finance-card-body.collapsed),
.amti-finance-balcao-card:has(.amti-finance-card-body[style*="display: none"]),
.amti-finance-balcao-card:has(.amti-finance-card-body[style*="display:none"]),
#tab-orders #finalizedOsArchiveCard[data-collapsed="true"],
#tab-orders #activeOsCard[data-collapsed="true"],
#finalizedOsArchiveCard[data-collapsed="true"],
#activeOsCard[data-collapsed="true"],
#aiAdvisorPromptCard[data-collapsed="true"],
#aiAdvisorWhatsAppCard[data-collapsed="true"],
.amti-ai-collapsible-card[data-collapsed="true"],
.amti-whatsapp-templates-card:has(.amti-whatsapp-accordion-header.is-collapsed),
.amti-whatsapp-templates-card:has(#whatsappMessageTemplatesBody[style*="display: none"]),
.amti-whatsapp-templates-card:has(#whatsappMessageTemplatesBody[style*="display:none"]) {
  min-height: 48px !important;
  height: auto !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  padding: 10px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block: 0 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  user-select: none !important;
  overflow: visible !important;
}

/* 2. Cabeçalho zerado dentro do card recolhido para garantir formato compacto */
.amti-card.is-collapsed > .amti-card-header,
.amti-card.is-collapsed > .os-card-header,
.amti-finance-balcao-card.is-collapsed > .amti-card-header,
.amti-finance-balcao-card.is-collapsed > .os-card-header,
.amti-finance-balcao-card:has(.amti-finance-card-body.collapsed) > .amti-card-header,
.amti-finance-balcao-card:has(.amti-finance-card-body.collapsed) > .os-card-header,
.amti-finance-balcao-card:has(.amti-finance-card-body[style*="display: none"]) > .amti-card-header,
.amti-finance-balcao-card:has(.amti-finance-card-body[style*="display:none"]) > .amti-card-header,
.amti-finance-balcao-card:has(.amti-finance-card-body[style*="display: none"]) > .os-card-header,
.amti-finance-balcao-card:has(.amti-finance-card-body[style*="display:none"]) > .os-card-header,
#tab-orders #finalizedOsArchiveCard[data-collapsed="true"] > .os-card-header,
#tab-orders #finalizedOsArchiveCard[data-collapsed="true"] > .amti-card-header,
#tab-orders #activeOsCard[data-collapsed="true"] > .os-card-header,
#tab-orders #activeOsCard[data-collapsed="true"] > .amti-card-header,
#finalizedOsArchiveCard[data-collapsed="true"] > .os-card-header,
#finalizedOsArchiveCard[data-collapsed="true"] > .amti-card-header,
#activeOsCard[data-collapsed="true"] > .os-card-header,
#activeOsCard[data-collapsed="true"] > .amti-card-header,
#aiAdvisorPromptCard[data-collapsed="true"] > .amti-card-header,
#aiAdvisorPromptCard[data-collapsed="true"] > .os-card-header,
#aiAdvisorWhatsAppCard[data-collapsed="true"] > .amti-card-header,
#aiAdvisorWhatsAppCard[data-collapsed="true"] > .os-card-header,
.amti-ai-collapsible-card[data-collapsed="true"] > .amti-card-header,
.amti-ai-collapsible-card[data-collapsed="true"] > .os-card-header,
.amti-whatsapp-templates-card:has(#whatsappMessageTemplatesBody[style*="display: none"]) > .amti-whatsapp-accordion-header,
.amti-whatsapp-templates-card:has(#whatsappMessageTemplatesBody[style*="display:none"]) > .amti-whatsapp-accordion-header,
.amti-whatsapp-templates-card:has(.amti-whatsapp-accordion-header.is-collapsed) > .amti-whatsapp-accordion-header {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: none !important;
  min-height: 38px !important;
  height: auto !important;
  background: transparent !important;
}

/* 3. Ocultação absoluta do corpo dos cards recolhidos */
.amti-card.is-collapsed > .amti-card-body,
.amti-finance-balcao-card.is-collapsed > .amti-finance-card-body,
.amti-finance-balcao-card > .amti-finance-card-body.collapsed,
.amti-finance-balcao-card > .amti-finance-card-body[style*="display: none"],
.amti-finance-balcao-card > .amti-finance-card-body[style*="display:none"],
#tab-orders #finalizedOsArchiveCard[data-collapsed="true"] > #finalizedOsArchiveBody,
#tab-orders #activeOsCard[data-collapsed="true"] > #activeOsBody,
#finalizedOsArchiveCard[data-collapsed="true"] > #finalizedOsArchiveBody,
#activeOsCard[data-collapsed="true"] > #activeOsBody,
#aiAdvisorPromptCard[data-collapsed="true"] > #aiAdvisorPromptCardBody,
#aiAdvisorWhatsAppCard[data-collapsed="true"] > #aiAdvisorWhatsAppCardBody,
.amti-ai-collapsible-card[data-collapsed="true"] > .amti-card-body,
.amti-whatsapp-templates-card:has(.amti-whatsapp-accordion-header.is-collapsed) > #whatsappMessageTemplatesBody,
.amti-whatsapp-templates-card:has(#whatsappMessageTemplatesBody[style*="display: none"]) > #whatsappMessageTemplatesBody,
.amti-whatsapp-templates-card:has(#whatsappMessageTemplatesBody[style*="display:none"]) > #whatsappMessageTemplatesBody {
  display: none !important;
}

/* 4. Padronização universal da distância entre cards:
   Usa exatamente a mesma distância entre os cards superiores (lateral e inferior) e o card de lançamento de contas (gap: 12px sem margens adicionais acumuladas) */
#tab-finance > .amti-summary-grid,
#tab-finance .amti-summary-grid {
  gap: var(--rf-card-gap, 12px) !important;
  column-gap: var(--rf-card-gap, 12px) !important;
  row-gap: var(--rf-card-row-gap, 12px) !important;
}

#tab-finance > .amti-summary-grid > :is(.amti-stat-card, .amti-card, .amti-grid-card) {
  margin: 0 !important;
  margin-block: 0 !important;
}

#tab-finance > .amti-summary-grid,
#tab-finance > .amti-card,
#tab-finance .amti-card,
#tab-finance .amti-finance-balcao-card {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block: 0 !important;
}


/* Card de Variáveis Dinâmicas do WhatsApp dentro de Personalizar Mensagens */
.amti-whatsapp-variables-card,
.amti-whatsapp-variables-card.is-collapsed,
.amti-whatsapp-variables-card[data-collapsed="true"],
#whatsappVariablesCard,
#whatsappVariablesCard.is-collapsed,
#whatsappVariablesCard[data-collapsed="true"] {
  margin-top: 10px !important;
  margin-bottom: 14px !important;
  margin-block: 10px 14px !important;
  padding: 10px !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-sizing: border-box !important;
}

.amti-whatsapp-variables-card.is-collapsed,
.amti-whatsapp-variables-card[data-collapsed="true"] {
  min-height: 48px !important;
  height: auto !important;
  flex: 0 0 auto !important;
  padding: 10px !important;
  cursor: pointer !important;
  user-select: none !important;
}

.amti-whatsapp-variables-card.is-collapsed > .os-card-header,
.amti-whatsapp-variables-card.is-collapsed > .amti-card-header,
.amti-whatsapp-variables-card[data-collapsed="true"] > .os-card-header,
.amti-whatsapp-variables-card[data-collapsed="true"] > .amti-card-header {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: none !important;
  min-height: 38px !important;
}

.amti-whatsapp-variables-card:not(.is-collapsed):not([data-collapsed="true"]) > .os-card-header,
.amti-whatsapp-variables-card:not(.is-collapsed):not([data-collapsed="true"]) > .amti-card-header {
  padding: 0 0 10px 0 !important;
  margin: 0 0 10px 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
}

.amti-whatsapp-variables-card.is-collapsed > .amti-card-body,
.amti-whatsapp-variables-card[data-collapsed="true"] > .amti-card-body {
  display: none !important;
}

/* OS settings page: consistent sections, data tables and aligned forms */
.os-settings-page {
  overflow: hidden;
}

.os-settings-page > .amti-settings-page-head {
  padding: 22px 24px 18px !important;
  border-bottom: 1px solid var(--border-color, rgba(148, 163, 184, 0.18));
}

.os-settings-page .amti-settings-page-title {
  display: grid;
  gap: 7px;
}

.os-settings-page .amti-settings-page-title .amti-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.25;
}

.os-settings-page .amti-settings-page-title .amti-card-title i {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  color: #818cf8;
  background: rgba(99, 102, 241, 0.14);
}

.os-settings-page .amti-settings-page-kicker {
  max-width: 860px;
  line-height: 1.55;
}

.os-settings-page > .amti-card-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 22px 24px !important;
}

.os-settings-page .os-settings-section {
  min-width: 0;
  margin: 0 !important;
  padding: 18px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.18));
  border-radius: 16px;
}

.os-settings-page .os-settings-section-head {
  display: flex;
  align-items: flex-start;
  margin: 0 0 16px !important;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--border-color, rgba(148, 163, 184, 0.16));
}

.os-settings-page .os-settings-section-heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.os-settings-page .os-settings-section-icon {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  color: var(--os-settings-accent, #34d399);
  background: var(--os-settings-accent-bg, rgba(16, 185, 129, 0.13));
}

.os-settings-page .os-settings-section-closing {
  --os-settings-accent: #34d399;
  --os-settings-accent-bg: rgba(16, 185, 129, 0.13);
}

.os-settings-page .os-settings-section-payment {
  --os-settings-accent: #38bdf8;
  --os-settings-accent-bg: rgba(56, 189, 248, 0.13);
}

.os-settings-page .os-settings-section-status {
  --os-settings-accent: #a78bfa;
  --os-settings-accent-bg: rgba(139, 92, 246, 0.14);
}

.os-settings-page .os-settings-section-recommendations {
  --os-settings-accent: #fbbf24;
  --os-settings-accent-bg: rgba(245, 158, 11, 0.13);
}

.os-settings-page .os-settings-section-heading .amti-card-title {
  display: block;
  margin: 0 0 4px;
  font-size: 1rem;
  line-height: 1.4;
}

.os-settings-page .os-settings-section-description {
  margin: 0;
  color: var(--text-secondary, #94a3b8);
  font-size: 0.84rem;
  line-height: 1.5;
}

.os-settings-page .os-settings-table-wrap {
  overflow: auto;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.16));
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.12);
}

.os-settings-page .os-settings-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.os-settings-page #closingSituationsTable,
.os-settings-page #paymentMethodsTable,
.os-settings-page #osStatusesTable {
  width: 100% !important;
  table-layout: fixed;
}

.os-settings-page #closingSituationsTable {
  min-width: 760px !important;
}

.os-settings-page #paymentMethodsTable,
.os-settings-page #osStatusesTable {
  min-width: 520px !important;
}

.os-settings-page .os-settings-index {
  width: 52px;
}

.os-settings-page .os-settings-id {
  width: 22%;
}

.os-settings-page .os-settings-description {
  width: 25%;
}

.os-settings-page .os-settings-financial {
  width: 168px;
  text-align: center;
}

.os-settings-page .os-settings-actions-heading {
  width: 108px;
}

.os-settings-page .os-settings-actions-heading,
.os-settings-page .os-settings-actions-cell {
  text-align: right;
}

.os-settings-page .os-settings-index-cell {
  color: var(--text-muted, #94a3b8);
  font-size: 0.8rem;
}

.os-settings-page .os-settings-code {
  display: inline-block;
  max-width: 100%;
  padding: 4px 7px;
  overflow-wrap: anywhere;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.18));
  border-radius: 6px;
  color: var(--text-secondary, #94a3b8);
  background: rgba(148, 163, 184, 0.08);
  font-size: 0.78rem;
}

.os-settings-page .os-settings-description-cell {
  color: var(--text-secondary, #94a3b8);
  overflow-wrap: anywhere;
}

.os-settings-page .os-settings-financial-cell {
  text-align: center;
  white-space: nowrap;
}

.os-settings-page .os-settings-financial-cell input {
  width: auto;
  margin: 0 5px 0 0;
  vertical-align: middle;
  accent-color: #34d399;
}

.os-settings-page .os-settings-financial-label {
  color: var(--text-secondary, #94a3b8);
  font-size: 0.82rem;
  vertical-align: middle;
}

.os-settings-page .os-settings-row-actions {
  display: inline-flex;
  justify-content: flex-end;
  gap: 6px;
}

.os-settings-page .os-settings-row-actions .amti-btn {
  display: inline-grid;
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  place-items: center;
}

.os-settings-page .os-settings-empty {
  padding: 24px 16px !important;
  color: var(--text-secondary, #94a3b8) !important;
  text-align: center;
}

.os-settings-page .os-settings-add-panel {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.14));
  border-radius: 12px;
  background: rgba(148, 163, 184, 0.045);
}

.os-settings-page .os-settings-add-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 10px;
  margin-bottom: 12px;
}

.os-settings-page .os-settings-add-heading strong {
  color: var(--text-primary, #f8fafc);
  font-size: 0.88rem;
}

.os-settings-page .os-settings-add-heading strong i {
  margin-right: 5px;
  color: var(--os-settings-accent, #34d399);
}

.os-settings-page .os-settings-add-heading span {
  color: var(--text-secondary, #94a3b8);
  font-size: 0.78rem;
}

.os-settings-page .os-settings-add-form {
  display: grid !important;
  align-items: end;
  gap: 12px;
  margin: 0;
}

.os-settings-page .os-settings-closing-form {
  grid-template-columns: minmax(140px, 1.1fr) minmax(150px, 1fr) minmax(180px, 1.3fr) minmax(190px, 1fr) auto;
}

.os-settings-page .os-settings-two-field-form {
  grid-template-columns: minmax(180px, 1fr) minmax(200px, 1.4fr) auto;
}

.os-settings-page .os-settings-add-form .amti-form-group {
  min-width: 0;
  margin: 0;
}

.os-settings-page .os-settings-add-form .amti-form-group label {
  display: block;
  margin: 0 0 6px;
  font-size: 0.78rem;
}

.os-settings-page .os-settings-add-form .amti-form-control {
  width: 100%;
  min-width: 0;
  min-height: 42px;
}

.os-settings-page .os-settings-financial-toggle {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.18));
  border-radius: 10px;
  cursor: pointer;
}

.os-settings-page .os-settings-financial-toggle input {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
  accent-color: #34d399;
}

.os-settings-page .os-settings-financial-toggle span {
  display: grid;
  gap: 2px;
}

.os-settings-page .os-settings-financial-toggle strong {
  font-size: 0.76rem;
}

.os-settings-page .os-settings-financial-toggle small {
  color: var(--text-secondary, #94a3b8);
  font-size: 0.68rem;
}

.os-settings-page .os-settings-add-button {
  min-height: 42px;
  white-space: nowrap;
}

.os-settings-page .os-settings-recommendations-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.os-settings-page .os-settings-recommendation {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.15));
  border-radius: 12px;
}

.os-settings-page .os-settings-recommendation strong {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.86rem;
}

.os-settings-page .os-settings-recommendation strong i {
  color: var(--os-settings-accent, #fbbf24);
}

.os-settings-page .os-settings-recommendation p {
  margin: 7px 0 0;
  font-size: 0.78rem;
  line-height: 1.5;
}

.os-settings-page .os-settings-footer {
  justify-content: flex-end;
  margin: 0;
  padding-top: 2px;
}

@media (max-width: 1100px) {
  .os-settings-page .os-settings-closing-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .os-settings-page .os-settings-two-field-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .os-settings-page .os-settings-financial-toggle,
  .os-settings-page .os-settings-add-button {
    width: 100%;
  }

  .os-settings-page .os-settings-two-field-form .os-settings-add-button {
    grid-column: 1 / -1;
  }

  .os-settings-page .os-settings-closing-form .os-settings-add-button {
    grid-column: 1 / -1;
    justify-content: center;
  }
}

@media (max-width: 700px) {
  .os-settings-page > .amti-settings-page-head {
    padding: 18px 16px 14px !important;
  }

  .os-settings-page > .amti-card-body {
    gap: 14px;
    padding: 16px 12px !important;
  }

  .os-settings-page .os-settings-section {
    padding: 14px 12px;
    border-radius: 13px;
  }

  .os-settings-page .os-settings-section-head {
    margin-bottom: 12px !important;
    padding-bottom: 12px;
  }

  .os-settings-page .os-settings-add-panel {
    padding: 12px;
  }

  .os-settings-page .os-settings-closing-form,
  .os-settings-page .os-settings-two-field-form,
  .os-settings-page .os-settings-recommendations-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .os-settings-page .os-settings-financial-toggle {
    justify-content: flex-start;
  }

  .os-settings-page .os-settings-footer,
  .os-settings-page .os-settings-footer .amti-btn {
    width: 100%;
  }
}
