/* CIOne 7.2.0 - modal and drawer interaction contract */
html.cione-modal-open,
html.fx-ti-modal-lock,
body.cione-modal-open,
body.fx-ti-modal-open { overscroll-behavior: none !important; }

[data-cione-modal][hidden],
.cione-modal[hidden],
.fx-ti-detail-modal[hidden],
.fx-ti-import-modal[hidden],
.fx-ti-contract-edit-modal[hidden],
.cione-contract-workspace[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body > [data-cione-modal].is-open,
body > .cione-modal.is-open,
body > .fx-ti-detail-modal.is-open,
body > .fx-ti-import-modal.is-open,
body > .fx-ti-contract-edit-modal.is-open,
body > .cione-contract-workspace.is-open {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(12px, 3vw, 32px) !important;
  overflow: hidden !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body > .cione-contract-workspace.is-open { align-items: center !important; justify-items: center !important; }

body > [data-cione-modal].is-open :is(.cione-modal__backdrop,.fx-ti-import-modal-backdrop),
body > .cione-modal.is-open :is(.cione-modal__backdrop,.fx-ti-import-modal-backdrop),
body > .fx-ti-detail-modal.is-open :is(.cione-modal__backdrop,.fx-ti-import-modal-backdrop),
body > .fx-ti-import-modal.is-open :is(.cione-modal__backdrop,.fx-ti-import-modal-backdrop),
body > .fx-ti-contract-edit-modal.is-open :is(.cione-modal__backdrop,.fx-ti-import-modal-backdrop),
body > .cione-contract-workspace.is-open :is(.cione-modal__backdrop,.fx-ti-import-modal-backdrop) {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: rgba(15, 23, 42, .56) !important;
  backdrop-filter: blur(3px) !important;
  pointer-events: auto !important;
}

body > [data-cione-modal].is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
body > .cione-modal.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
body > .fx-ti-detail-modal.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
body > .fx-ti-import-modal.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
body > .fx-ti-contract-edit-modal.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
body > .cione-contract-workspace.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog) {
  position: relative !important;
  z-index: 1 !important;
  width: min(920px, 100%) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: calc(100dvh - 24px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

:is(.cione-modal__body,.fx-ti-detail-modal-body,.fx-ti-import-modal-body,.cione-contract-drawer__body) {
  min-height: 0 !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
}

:is(.cione-modal__close,[data-cione-modal-close],[data-fx-ti-modal-close]) {
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

@media (max-width: 640px) {
  body > [data-cione-modal].is-open,
  body > .cione-modal.is-open,
  body > .fx-ti-detail-modal.is-open,
  body > .fx-ti-import-modal.is-open,
  body > .fx-ti-contract-edit-modal.is-open,
  body > .cione-contract-workspace.is-open { padding: 0 !important; }
  body > [data-cione-modal].is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
  body > .cione-modal.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
  body > .fx-ti-detail-modal.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
  body > .fx-ti-import-modal.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
  body > .fx-ti-contract-edit-modal.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog),
  body > .cione-contract-workspace.is-open :is(.cione-modal__dialog,.fx-ti-detail-modal-dialog,.fx-ti-import-modal-dialog,.fx-ti-contract-edit-dialog) {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
  }
}


/* CIOne 7.6.1 - fluxo seguro de edição e arquivamento de contratos */
.cione-contract-edit-actions { position: sticky; bottom: 0; z-index: var(--cione-layer-sticky, 20); background: var(--cione-surface, #fff); border-top: 1px solid var(--cione-border, #dfe3e8); padding: 14px 0 4px; display: flex; align-items: center; gap: 10px; }
.cione-contract-actions-spacer { flex: 1 1 auto; }
.cione-contract-form-status { min-height: 1.5em; margin-top: 10px; font-size: 13px; }
.cione-contract-form-status[data-state="error"] { color: #b42318; }
.cione-contract-form-status[data-state="loading"] { color: #344054; }
.cione-contract-archive-modal .cione-modal__dialog { width: min(560px, calc(100vw - 24px)); }
.cione-contract-archive-modal textarea { width: 100%; }
@media (max-width: 640px) { .cione-contract-edit-actions { flex-wrap: wrap; } .cione-contract-actions-spacer { display:none; } .cione-contract-edit-actions > button { flex: 1 1 100%; } }

/* CIOne 7.6.2 - pilha de modais e arquivamento interativo */
body > .cione-modal.is-open.is-suspended,
body > [data-cione-modal].is-open.is-suspended { pointer-events: none !important; }
body > .cione-modal.is-open.is-suspended .cione-modal__dialog,
body > [data-cione-modal].is-open.is-suspended .cione-modal__dialog { pointer-events: none !important; }
.cione-contract-archive-modal.is-open { pointer-events: auto !important; }
.cione-contract-archive-modal.is-open .cione-modal__dialog,
.cione-contract-archive-modal.is-open textarea,
.cione-contract-archive-modal.is-open button { pointer-events: auto !important; }
.cione-contract-archive-modal textarea { min-height: 120px; resize: vertical; user-select: text; }
.cione-contract-archive-status { min-height: 1.4em; margin-top: 8px; color: var(--cione-danger, #b42318); }

/* CIOne 7.6.4 - portal global e pilha modal com uma unica superficie interativa */
#cione-modal-root { position: relative; z-index: var(--cione-layer-modal-root, 100000); }
#cione-modal-root > .cione-modal { pointer-events: none; }
#cione-modal-root > .cione-modal.is-open { pointer-events: auto; }
#cione-modal-root > .cione-modal.is-open.is-suspended,
#cione-modal-root > [data-cione-modal].is-open.is-suspended { pointer-events: none !important; }
#cione-modal-root > .cione-modal.is-open.is-suspended .cione-modal__dialog,
#cione-modal-root > [data-cione-modal].is-open.is-suspended .cione-modal__dialog { pointer-events: none !important; }
