/* CIOne 7.6.0 — arquitetura da informação, navegação e camadas. */
.fx-ti-app.cione-app {
  --cione-layer-content: 1;
  --cione-layer-sticky: 20;
  --cione-layer-dropdown: 40;
  --cione-layer-context-menu: 50;
  --cione-layer-drawer: 70;
  --cione-layer-overlay: 80;
  --cione-layer-modal: 90;
  --cione-layer-confirmation: 100;
  --cione-layer-toast: 110;
}

.fx-ti-app.cione-app .fx-ti-topbar,
.fx-ti-app.cione-app .cione-app-header {
  z-index: var(--cione-layer-sticky) !important;
}

.fx-ti-app.cione-app .cione-user-menu__panel,
.fx-ti-app.cione-app .cione-sidebar-profile__menu,
.fx-ti-app.cione-app [role="menu"]:not(.fx-ti-sidebar),
.fx-ti-app.cione-app .fx-ti-row-actions-menu,
.fx-ti-app.cione-app .cione-context-menu {
  z-index: var(--cione-layer-context-menu) !important;
}

.fx-ti-app.cione-app .cione-modal,
.fx-ti-app.cione-app .fx-ti-detail-modal,
.fx-ti-app.cione-app .fx-ti-import-modal,
.fx-ti-app.cione-app .fx-ti-contract-edit-modal,
.fx-ti-app.cione-app .fx-ti-contract-change-modal {
  z-index: var(--cione-layer-modal) !important;
}

.fx-ti-app.cione-app .cione-modal-backdrop,
.fx-ti-app.cione-app [data-cione-modal-backdrop] {
  z-index: var(--cione-layer-overlay) !important;
}

.fx-ti-app.cione-app .fx-ti-toast,
.fx-ti-app.cione-app .cione-toast,
.fx-ti-app.cione-app [role="status"].is-floating {
  z-index: var(--cione-layer-toast) !important;
}

/* Hierarquia estável: contexto, navegação local, resumo/ação, conteúdo principal. */
.fx-ti-app.cione-app .fx-ti-content {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--cione-space-4) !important;
  overflow-x: clip !important;
}

.fx-ti-app.cione-app .fx-ti-content > .cione-ui-page-header { order: 0; margin-bottom: 0 !important; }
.fx-ti-app.cione-app .fx-ti-content > :is(.cione-finance-tabs,.fx-ti-agile-tabs,.cione-local-tabs,[role="tablist"]) { order: 1; }
.fx-ti-app.cione-app .fx-ti-content > :is(.cione-priority-summary,.cione-view-status-summary,.fx-ti-kpi-grid,.cione-finance-hero,.fx-ti-apple-hero) { order: 2; }
.fx-ti-app.cione-app .fx-ti-content > :is(.cione-primary-actions,.fx-ti-toolbar,.cione-page-toolbar,.fx-ti-filter-bar) { order: 3; }
.fx-ti-app.cione-app .fx-ti-content > :not(.cione-ui-page-header):not(.cione-finance-tabs):not(.fx-ti-agile-tabs):not(.cione-local-tabs):not([role="tablist"]):not(.cione-priority-summary):not(.cione-view-status-summary):not(.fx-ti-kpi-grid):not(.cione-finance-hero):not(.fx-ti-apple-hero):not(.cione-primary-actions):not(.fx-ti-toolbar):not(.cione-page-toolbar):not(.fx-ti-filter-bar) { order: 4; }

.fx-ti-app.cione-app :is(.cione-finance-tabs,.fx-ti-agile-tabs,.cione-local-tabs,[role="tablist"]) {
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain;
}

.fx-ti-app.cione-app :is(.cione-finance-tab,[role="tab"]) {
  flex: 0 0 auto;
  scroll-snap-align: start;
}

/* Menus e dropdowns não podem ser cortados por tabelas ou painéis. */
.fx-ti-app.cione-app :is(.fx-ti-table-wrap,.cione-table-shell,.fx-ti-panel,.cione-finance-panel) {
  isolation: isolate;
}
.fx-ti-app.cione-app :is(.fx-ti-table-wrap,.cione-table-shell) {
  overflow: auto !important;
  overscroll-behavior: contain;
}
.fx-ti-app.cione-app [data-cione-menu-portal="true"] {
  position: fixed !important;
  max-width: min(320px, calc(100vw - 24px)) !important;
  max-height: min(70vh, 520px) !important;
  overflow: auto !important;
  z-index: var(--cione-layer-context-menu) !important;
}

/* Progressive disclosure: seções auxiliares ficam leves e não concorrem com a tarefa principal. */
.fx-ti-app.cione-app details.cione-secondary-section,
.fx-ti-app.cione-app details.cione-contract-tools,
.fx-ti-app.cione-app details.fx-ti-advanced-filters {
  border: 1px solid var(--cione-color-border) !important;
  border-radius: var(--cione-radius-md) !important;
  background: var(--cione-color-surface) !important;
  box-shadow: var(--cione-shadow-xs) !important;
}
.fx-ti-app.cione-app details.cione-secondary-section > summary,
.fx-ti-app.cione-app details.cione-contract-tools > summary,
.fx-ti-app.cione-app details.fx-ti-advanced-filters > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 10px 14px !important;
  cursor: pointer;
  font-weight: 650;
}

/* Em telas operacionais, a tabela permanece próxima dos filtros e ações. */
.fx-ti-app.cione-app .cione-operational-view :is(.fx-ti-table-wrap,.cione-table-shell) {
  margin-top: 0 !important;
}

@media (max-width: 1024px) {
  .fx-ti-app.cione-app .fx-ti-topbar-actions,
  .fx-ti-app.cione-app .cione-app-header__actions {
    max-width: min(62vw, 720px);
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain;
  }
}

@media (max-width: 782px) {
  .fx-ti-app.cione-app .fx-ti-content { padding: 16px !important; gap: 12px !important; }
  .fx-ti-app.cione-app .cione-ui-page-header { display: block !important; }
  .fx-ti-app.cione-app :is(.cione-finance-tabs,.fx-ti-agile-tabs,.cione-local-tabs,[role="tablist"]) {
    margin-inline: -4px;
    padding: 2px 4px 8px;
  }
  .fx-ti-app.cione-app [data-cione-menu-portal="true"] {
    max-width: calc(100vw - 16px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fx-ti-app.cione-app *,
  .fx-ti-app.cione-app *::before,
  .fx-ti-app.cione-app *::after {
    scroll-behavior: auto !important;
  }
}
