/* CIOne 5.3.0 — camada progressiva de componentes. Mantém compatibilidade com o CSS legado. */
:where(.fx-ti-wrap, #cione-app) {
  --cione-control-height: 44px;
  --cione-focus-ring: 0 0 0 3px color-mix(in srgb, var(--fx-ti-primary, #1a56db) 28%, transparent);
  --cione-layer-dropdown: 1200;
  --cione-layer-modal: 3000;
}
:where(.fx-ti-wrap, #cione-app) :where(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--fx-ti-primary, #1a56db) !important;
  outline-offset: 2px !important;
  box-shadow: var(--cione-focus-ring) !important;
}
.cione-system-combobox { position: relative; min-width: 0; }
.cione-system-combobox__input { min-height: var(--cione-control-height); width: 100%; }
.cione-system-combobox__native { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.cione-system-combobox__list { position: absolute; z-index: var(--cione-layer-dropdown); inset-inline: 0; top: calc(100% + 6px); max-height: min(360px, 50vh); overflow: auto; border: 1px solid var(--fx-ti-border, #d8dee9); border-radius: 12px; background: var(--fx-ti-surface, #fff); box-shadow: 0 16px 36px rgba(15, 23, 42, .16); padding: 6px; }
.cione-system-combobox__list button { display: grid; gap: 2px; width: 100%; min-height: 44px; padding: 9px 10px; border: 0; border-radius: 9px; background: transparent; text-align: left; color: inherit; cursor: pointer; }
.cione-system-combobox__list button:hover,
.cione-system-combobox__list button[aria-selected="true"] { background: color-mix(in srgb, var(--fx-ti-primary, #1a56db) 10%, transparent); }
.cione-system-combobox__list small { color: var(--fx-ti-muted, #64748b); }
.cione-system-combobox__empty { padding: 10px; color: var(--fx-ti-muted, #64748b); }
.cione-modal { z-index: var(--cione-layer-modal); }
.cione-modal__dialog { max-height: calc(100dvh - 32px); overflow: hidden; }
.cione-modal__body { overflow: auto; overscroll-behavior: contain; }
.fx-ti-table-wrap { overflow: auto; overscroll-behavior-inline: contain; }
@media (max-width: 782px) {
  .cione-modal__dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .cione-modal__footer { position: sticky; bottom: 0; background: var(--fx-ti-surface, #fff); }
}
@media (prefers-reduced-motion: reduce) {
  :where(.fx-ti-wrap, #cione-app) *, :where(.fx-ti-wrap, #cione-app) *::before, :where(.fx-ti-wrap, #cione-app) *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* CIOne 5.4.0 — componentes administrativos extraídos. */
.cione-existing-cycle-summary > div,
.cione-budget-ai-compare > div {
    min-width: 0;
}
.cione-existing-cycle-more > div {
    display: grid;
    gap: var(--cione-space-2, .5rem);
    padding-block-start: var(--cione-space-2, .5rem);
}
.cione-existing-cycle-feedback[hidden] {
    display: none !important;
}
.cione-existing-cycle-feedback[data-tone="error"] {
    color: var(--cione-color-danger, #b42318);
}
.cione-existing-cycle-feedback[data-tone="success"] {
    color: var(--cione-color-success, #067647);
}
.cione-budget-ai-compare textarea {
    inline-size: 100%;
    min-block-size: 9rem;
    resize: vertical;
}
@media (max-width: 720px) {
    .cione-budget-ai-compare { grid-template-columns: 1fr !important; }
}
