/*
 * IP Gestão Executivo v75.1.0
 * Design System canônico e ponte de compatibilidade visual.
 *
 * Esta folha é carregada por último nos shells principal, legado e login.
 * As regras de negócio, nomes de campos, rotas e eventos não são alterados.
 */

:root {
  color-scheme: light;

  /* Identidade */
  --ip75-primary: #2563eb;
  --ip75-primary-hover: #1d4ed8;
  --ip75-primary-active: #1e40af;
  --ip75-primary-soft: #eaf1ff;
  --ip75-primary-softer: #f3f6ff;
  --ip75-institutional: #163a5f;
  --ip75-success: #16a36a;
  --ip75-success-hover: #108557;
  --ip75-success-soft: #e9f8f1;
  --ip75-warning: #f59e0b;
  --ip75-warning-hover: #d97706;
  --ip75-warning-soft: #fff7e6;
  --ip75-danger: #dc3545;
  --ip75-danger-hover: #bd2635;
  --ip75-danger-soft: #fff0f1;
  --ip75-info: #2574d9;
  --ip75-info-soft: #edf5ff;
  --ip75-on-primary: #ffffff;
  --ip75-on-success: #ffffff;
  --ip75-on-danger: #ffffff;
  --ip75-on-warning: #2b1900;

  /* Superfícies */
  --ip75-bg: #f6f8fb;
  --ip75-surface: #ffffff;
  --ip75-surface-muted: #f1f4f8;
  --ip75-surface-soft: #f8fafc;
  --ip75-surface-raised: #ffffff;
  --ip75-text: #172033;
  --ip75-text-soft: #344054;
  --ip75-muted: #667085;
  --ip75-subtle: #98a2b3;
  --ip75-border: #dbe2ea;
  --ip75-border-strong: #c7d0dc;
  --ip75-sidebar: #fbfcfe;
  --ip75-sidebar-hover: #f0f4f9;
  --ip75-overlay: rgba(12, 22, 38, 0.58);
  --ip75-code-bg: #111827;
  --ip75-code-text: #e5eefb;
  --ip75-chart-1: #2563eb;
  --ip75-chart-2: #16a36a;
  --ip75-chart-3: #f59e0b;
  --ip75-chart-4: #7c3aed;
  --ip75-chart-5: #dc3545;
  --ip75-chart-6: #0891b2;
  --ip75-chart-7: #667085;
  --ip75-chart-label: #667085;
  --ip75-chart-grid: rgba(102, 112, 133, 0.14);
  --ip75-browser-theme: #f6f8fb;

  /* Escala */
  --ip75-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ip75-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --ip75-space-1: 4px;
  --ip75-space-2: 8px;
  --ip75-space-3: 12px;
  --ip75-space-4: 16px;
  --ip75-space-5: 20px;
  --ip75-space-6: 24px;
  --ip75-radius-sm: 6px;
  --ip75-radius-md: 8px;
  --ip75-radius-lg: 10px;
  --ip75-radius-xl: 14px;
  --ip75-radius-pill: 999px;
  --ip75-control: 36px;
  --ip75-control-sm: 30px;
  --ip75-control-lg: 42px;
  --ip75-sidebar-width: 252px;
  --ip75-sidebar-collapsed: 72px;
  --ip75-topbar: 64px;
  --ip75-content-max: 1920px;
  --ip75-shadow-xs: 0 1px 2px rgba(20, 34, 54, 0.05);
  --ip75-shadow-sm: 0 8px 24px rgba(20, 34, 54, 0.07);
  --ip75-shadow-modal: 0 24px 70px rgba(20, 34, 54, 0.2);
  --ip75-focus: 0 0 0 3px rgba(37, 99, 235, 0.2);

  /*
   * Ponte controlada: as gerações antigas passam a consumir a mesma paleta.
   * Isso reduz divergências sem renomear seletores utilizados pelos módulos.
   */
  --ip-bg: var(--ip75-bg);
  --ip-bg-alt: var(--ip75-surface-muted);
  --ip-bg-soft: var(--ip75-surface-soft);
  --ip-surface: var(--ip75-surface);
  --ip-surface-soft: var(--ip75-surface-muted);
  --ip-surface-raised: var(--ip75-surface-raised);
  --ip-text: var(--ip75-text);
  --ip-text-strong: var(--ip75-text);
  --ip-text-soft: var(--ip75-text-soft);
  --ip-muted: var(--ip75-muted);
  --ip-muted-2: var(--ip75-subtle);
  --ip-border: var(--ip75-border);
  --ip-border-soft: var(--ip75-border);
  --ip-border-strong: var(--ip75-border-strong);
  --ip-primary: var(--ip75-primary);
  --ip-primary-hover: var(--ip75-primary-hover);
  --ip-primary-soft: var(--ip75-primary-soft);
  --ip-success: var(--ip75-success);
  --ip-success-soft: var(--ip75-success-soft);
  --ip-warning: var(--ip75-warning);
  --ip-warning-soft: var(--ip75-warning-soft);
  --ip-danger: var(--ip75-danger);
  --ip-danger-soft: var(--ip75-danger-soft);

  --ip74-font: var(--ip75-font);
  --ip74-bg: var(--ip75-bg);
  --ip74-bg-subtle: var(--ip75-surface-muted);
  --ip74-surface: var(--ip75-surface);
  --ip74-surface-muted: var(--ip75-surface-muted);
  --ip74-surface-raised: var(--ip75-surface-raised);
  --ip74-surface-strong: var(--ip75-surface-soft);
  --ip74-text: var(--ip75-text);
  --ip74-text-strong: var(--ip75-text);
  --ip74-text-muted: var(--ip75-muted);
  --ip74-text-subtle: var(--ip75-subtle);
  --ip74-border: var(--ip75-border);
  --ip74-border-soft: var(--ip75-border);
  --ip74-border-strong: var(--ip75-border-strong);
  --ip74-border-focus: var(--ip75-primary);
  --ip74-primary: var(--ip75-primary);
  --ip74-primary-hover: var(--ip75-primary-hover);
  --ip74-primary-active: var(--ip75-primary-active);
  --ip74-primary-soft: var(--ip75-primary-soft);
  --ip74-primary-softer: var(--ip75-primary-softer);
  --ip74-success: var(--ip75-success);
  --ip74-success-soft: var(--ip75-success-soft);
  --ip74-warning: var(--ip75-warning);
  --ip74-warning-soft: var(--ip75-warning-soft);
  --ip74-danger: var(--ip75-danger);
  --ip74-danger-soft: var(--ip75-danger-soft);
  --ip74-info: var(--ip75-info);
  --ip74-info-soft: var(--ip75-info-soft);
  --ip74-control: var(--ip75-control);
  --ip74-control-sm: var(--ip75-control-sm);
  --ip74-control-lg: var(--ip75-control-lg);
  --ip74-sidebar-width: var(--ip75-sidebar-width);
  --ip74-sidebar-collapsed: var(--ip75-sidebar-collapsed);
  --ip74-topbar-height: var(--ip75-topbar);
  --ip74-radius-sm: var(--ip75-radius-sm);
  --ip74-radius-md: var(--ip75-radius-md);
  --ip74-radius-lg: var(--ip75-radius-lg);
  --ip74-radius-xl: var(--ip75-radius-xl);
  --ip74-shadow-xs: var(--ip75-shadow-xs);
  --ip74-shadow-sm: var(--ip75-shadow-sm);
  --ip74-shadow-md: var(--ip75-shadow-modal);

  --ip743-font: var(--ip75-font);
  --ip743-bg: var(--ip75-bg);
  --ip743-bg-soft: var(--ip75-surface-muted);
  --ip743-bg-elevated: var(--ip75-surface);
  --ip743-surface: var(--ip75-surface);
  --ip743-surface-soft: var(--ip75-surface-muted);
  --ip743-surface-muted: var(--ip75-surface-muted);
  --ip743-surface-strong: var(--ip75-surface-soft);
  --ip743-surface-hover: var(--ip75-sidebar-hover);
  --ip743-text: var(--ip75-text-soft);
  --ip743-text-strong: var(--ip75-text);
  --ip743-muted: var(--ip75-muted);
  --ip743-subtle: var(--ip75-subtle);
  --ip743-border: var(--ip75-border);
  --ip743-border-soft: var(--ip75-border);
  --ip743-border-strong: var(--ip75-border-strong);
  --ip743-primary: var(--ip75-primary);
  --ip743-primary-hover: var(--ip75-primary-hover);
  --ip743-primary-active: var(--ip75-primary-active);
  --ip743-primary-soft: var(--ip75-primary-soft);
  --ip743-primary-border: #b9ccff;
  --ip743-success: var(--ip75-success);
  --ip743-success-soft: var(--ip75-success-soft);
  --ip743-warning: var(--ip75-warning);
  --ip743-warning-soft: var(--ip75-warning-soft);
  --ip743-danger: var(--ip75-danger);
  --ip743-danger-soft: var(--ip75-danger-soft);
  --ip743-info: var(--ip75-info);
  --ip743-info-soft: var(--ip75-info-soft);
  --ip743-control: var(--ip75-control);
  --ip743-sidebar: var(--ip75-sidebar-width);
  --ip743-sidebar-collapsed: var(--ip75-sidebar-collapsed);

  --ip744-font: var(--ip75-font);
  --ip744-bg: var(--ip75-bg);
  --ip744-surface: var(--ip75-surface);
  --ip744-surface-2: var(--ip75-surface-muted);
  --ip744-surface-3: var(--ip75-surface-soft);
  --ip744-text: var(--ip75-text);
  --ip744-heading: var(--ip75-text);
  --ip744-muted: var(--ip75-muted);
  --ip744-subtle: var(--ip75-subtle);
  --ip744-border: var(--ip75-border);
  --ip744-border-strong: var(--ip75-border-strong);
  --ip744-primary: var(--ip75-primary);
  --ip744-primary-hover: var(--ip75-primary-hover);
  --ip744-primary-soft: var(--ip75-primary-soft);
  --ip744-success: var(--ip75-success);
  --ip744-success-soft: var(--ip75-success-soft);
  --ip744-warning: var(--ip75-warning);
  --ip744-warning-soft: var(--ip75-warning-soft);
  --ip744-danger: var(--ip75-danger);
  --ip744-danger-soft: var(--ip75-danger-soft);
  --ip744-info: var(--ip75-info);
  --ip744-control: var(--ip75-control);
  --ip744-sidebar: var(--ip75-sidebar-width);
  --ip744-sidebar-collapsed: var(--ip75-sidebar-collapsed);
  --ip744-topbar: var(--ip75-topbar);
  --ip744-radius-sm: var(--ip75-radius-sm);
  --ip744-radius: var(--ip75-radius-md);
  --ip744-radius-lg: var(--ip75-radius-xl);
  --ip744-shadow-xs: var(--ip75-shadow-xs);
  --ip744-shadow-sm: var(--ip75-shadow-sm);
  --ip744-shadow-md: var(--ip75-shadow-modal);

  --plx-bg: var(--ip75-bg);
  --plx-bg-soft: var(--ip75-surface-muted);
  --plx-surface: var(--ip75-surface);
  --plx-surface-1: var(--ip75-surface);
  --plx-surface-2: var(--ip75-surface-muted);
  --plx-surface-3: var(--ip75-surface-soft);
  --plx-surface-soft: var(--ip75-surface-muted);
  --plx-text: var(--ip75-text);
  --plx-text-1: var(--ip75-text);
  --plx-text-2: var(--ip75-text-soft);
  --plx-text-3: var(--ip75-muted);
  --plx-text-muted: var(--ip75-muted);
  --plx-text-strong: var(--ip75-text);
  --plx-muted: var(--ip75-muted);
  --plx-muted-2: var(--ip75-subtle);
  --plx-border: var(--ip75-border);
  --plx-border-lt: var(--ip75-border);
  --plx-border-soft: var(--ip75-border);
  --plx-border-strong: var(--ip75-border-strong);
  --plx-success: var(--ip75-success);
  --plx-warning: var(--ip75-warning);
  --plx-danger: var(--ip75-danger);

  --planix-bg: var(--ip75-bg);
  --planix-surface: var(--ip75-surface);
  --planix-surface-2: var(--ip75-surface-muted);
  --planix-text: var(--ip75-text);
  --planix-muted: var(--ip75-muted);
  --planix-border: var(--ip75-border);
  --planix-success: var(--ip75-success);
  --planix-warning: var(--ip75-warning);
  --planix-danger: var(--ip75-danger);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ip75-primary: #6f9cff;
  --ip75-primary-hover: #8aafff;
  --ip75-primary-active: #a9c3ff;
  --ip75-primary-soft: #1b3157;
  --ip75-primary-softer: #172844;
  --ip75-institutional: #a8c7fa;
  --ip75-success: #46c98c;
  --ip75-success-hover: #6bd7a4;
  --ip75-success-soft: #163729;
  --ip75-warning: #f7b84b;
  --ip75-warning-hover: #f9c86f;
  --ip75-warning-soft: #3b2b13;
  --ip75-danger: #ff6b76;
  --ip75-danger-hover: #ff8a93;
  --ip75-danger-soft: #421f27;
  --ip75-info: #72a8ff;
  --ip75-info-soft: #1b3150;
  --ip75-on-primary: #0a1730;
  --ip75-on-success: #071a11;
  --ip75-on-danger: #26070c;
  --ip75-on-warning: #241600;
  --ip75-bg: #0e1420;
  --ip75-surface: #151d2b;
  --ip75-surface-muted: #1b2535;
  --ip75-surface-soft: #202b3b;
  --ip75-surface-raised: #1a2434;
  --ip75-text: #edf3fc;
  --ip75-text-soft: #c8d2df;
  --ip75-muted: #9da9bc;
  --ip75-subtle: #738096;
  --ip75-border: #2a3648;
  --ip75-border-strong: #3a475b;
  --ip75-sidebar: #111925;
  --ip75-sidebar-hover: #1a2535;
  --ip75-overlay: rgba(1, 6, 14, 0.76);
  --ip75-code-bg: #0a101a;
  --ip75-code-text: #d8e2f0;
  --ip75-chart-1: #6f9cff;
  --ip75-chart-2: #46c98c;
  --ip75-chart-3: #f7b84b;
  --ip75-chart-4: #b795ff;
  --ip75-chart-5: #ff6b76;
  --ip75-chart-6: #5cc8df;
  --ip75-chart-7: #9da9bc;
  --ip75-chart-label: #9da9bc;
  --ip75-chart-grid: rgba(157, 169, 188, 0.16);
  --ip75-browser-theme: #0e1420;
  --ip75-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.24);
  --ip75-shadow-sm: 0 10px 28px rgba(0, 0, 0, 0.28);
  --ip75-shadow-modal: 0 26px 76px rgba(0, 0, 0, 0.48);
  --ip75-focus: 0 0 0 3px rgba(111, 156, 255, 0.25);
  --ip743-primary-border: #385b96;
}

/* Base */
html,
body.ip-ui-v750 {
  min-width: 320px;
  min-height: 100%;
  background: var(--ip75-bg);
}

body.ip-ui-v750 {
  margin: 0;
  color: var(--ip75-text);
  font-family: var(--ip75-font);
  font-size: 13px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.ip-ui-v750 *,
body.ip-ui-v750 *::before,
body.ip-ui-v750 *::after {
  box-sizing: border-box;
}

body.ip-ui-v750 :where(button, input, select, textarea) {
  font: inherit;
}

body.ip-ui-v750 :where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--ip75-primary) !important;
  outline-offset: 2px !important;
  box-shadow: var(--ip75-focus);
}

body.ip-ui-v750 :where(h1, h2, h3, h4, h5, h6) {
  color: var(--ip75-text);
  font-family: var(--ip75-font);
  letter-spacing: -0.015em;
}

body.ip-ui-v750 h1 { font-size: 20px; line-height: 1.2; }
body.ip-ui-v750 h2 { font-size: 16px; line-height: 1.25; }
body.ip-ui-v750 h3 { font-size: 14px; line-height: 1.3; }
body.ip-ui-v750 h4 { font-size: 13px; line-height: 1.35; }

body.ip-ui-v750 :where(p, small, .muted, .hint, .help-text, .form-text) {
  color: var(--ip75-muted);
}

body.ip-ui-v750 a {
  color: var(--ip75-primary);
}

.ip75-security-error {
  display: grid;
  min-height: 100dvh;
  margin: 0;
  padding: 24px;
  place-items: center;
  background: var(--ip75-bg);
}

.ip75-security-error-card {
  width: min(520px, 100%);
  padding: 24px;
  border: 1px solid var(--ip75-border);
  border-radius: var(--ip75-radius-xl);
  background: var(--ip75-surface);
  color: var(--ip75-text);
  box-shadow: var(--ip75-shadow-sm);
}

.ip75-security-error-card h1 {
  margin: 0 0 8px;
  font-size: 20px;
}

.ip75-security-error-card p {
  margin: 0;
  color: var(--ip75-muted);
}

body.ip-ui-v750 .ip75-duplicate-heading {
  display: none !important;
}

/* Shell principal */
body.ip-ui-v750 .app-shell.app-layout {
  display: grid !important;
  grid-template-columns: var(--ip75-sidebar-width) minmax(0, 1fr) !important;
  min-height: 100dvh;
  background: var(--ip75-bg) !important;
  transition: grid-template-columns 180ms ease;
}

body.ip-ui-v750.ip-sidebar-collapsed .app-shell.app-layout,
body.ip-ui-v750.sidebar-collapsed .app-shell.app-layout {
  grid-template-columns: var(--ip75-sidebar-collapsed) minmax(0, 1fr) !important;
}

body.ip-ui-v750 .app-sidebar,
body.ip-ui-v750 .AppSidebar {
  position: sticky !important;
  z-index: 80 !important;
  top: 0 !important;
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100dvh !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 1px solid var(--ip75-border) !important;
  border-radius: 0 !important;
  background: var(--ip75-sidebar) !important;
  color: var(--ip75-text-soft) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.ip-ui-v750 .app-sidebar,
html[data-theme="dark"] body.ip-ui-v750 .AppSidebar {
  background: var(--ip75-sidebar) !important;
  border-color: var(--ip75-border) !important;
}

body.ip-ui-v750 .app-brand {
  display: flex !important;
  min-height: var(--ip75-topbar) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px 10px 16px !important;
  border-bottom: 1px solid var(--ip75-border) !important;
  background: transparent !important;
}

body.ip-ui-v750 .ipgi-brand-mark {
  display: grid;
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  place-items: center;
  border: 0 !important;
  border-radius: var(--ip75-radius-md) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .ipgi-brand-mark img {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain;
}

body.ip-ui-v750 .ipgi-brand-copy {
  min-width: 0;
  flex: 1;
}

body.ip-ui-v750 .ipgi-brand-copy strong {
  display: block;
  overflow: hidden;
  color: var(--ip75-text) !important;
  font-size: 13.5px !important;
  font-weight: 760 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.ip-ui-v750 .ipgi-brand-copy em {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: var(--ip75-muted) !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 680 !important;
  letter-spacing: 0.055em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

body.ip-ui-v750 .ip-sidebar-collapse {
  display: grid !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  place-items: center;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-muted) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .ip-sidebar-collapse:hover {
  border-color: var(--ip75-border-strong) !important;
  background: var(--ip75-surface-muted) !important;
  color: var(--ip75-text) !important;
}

body.ip-ui-v750 .ipgi-company-mini {
  margin: 12px 12px 8px !important;
  padding: 9px 10px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .ipgi-company-mini small,
body.ip-ui-v750 .ipgi-company-mini span {
  color: var(--ip75-muted) !important;
  font-size: 9px !important;
}

body.ip-ui-v750 .ipgi-company-mini strong {
  color: var(--ip75-text-soft) !important;
  font-size: 11px !important;
}

body.ip-ui-v750 .ip-sidebar-search-wrap {
  padding: 0 12px 8px !important;
}

body.ip-ui-v750 .ip-sidebar-search-trigger {
  display: flex !important;
  width: 100% !important;
  min-height: var(--ip75-control) !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 9px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-muted) !important;
  box-shadow: none !important;
  text-align: left;
}

body.ip-ui-v750 .sidebar-nav {
  min-height: 0 !important;
  flex: 1 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 4px 10px 14px !important;
  scrollbar-color: var(--ip75-border-strong) transparent;
  scrollbar-width: thin;
}

body.ip-ui-v750 :where(.nav-main-link, .nav-group-button, .nav-sub-link) {
  min-height: 36px !important;
  margin: 2px 0 !important;
  padding: 7px 9px !important;
  border: 1px solid transparent !important;
  border-radius: var(--ip75-radius-md) !important;
  background: transparent !important;
  color: var(--ip75-text-soft) !important;
  font-size: 11.5px !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

body.ip-ui-v750 :where(.nav-main-link, .nav-group-button, .nav-sub-link):hover {
  border-color: transparent !important;
  background: var(--ip75-sidebar-hover) !important;
  color: var(--ip75-text) !important;
}

body.ip-ui-v750 :where(.nav-main-link, .nav-sub-link).active,
body.ip-ui-v750 .nav-group.open > .nav-group-button {
  border-color: color-mix(in srgb, var(--ip75-primary) 18%, var(--ip75-border)) !important;
  background: var(--ip75-primary-soft) !important;
  color: var(--ip75-primary) !important;
  box-shadow: inset 3px 0 0 var(--ip75-primary) !important;
}

body.ip-ui-v750 .nav-icon {
  display: grid !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  place-items: center;
  color: currentColor !important;
}

body.ip-ui-v750 .nav-icon svg,
body.ip-ui-v750 .app-sidebar svg {
  width: 17px !important;
  height: 17px !important;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

body.ip-ui-v750 .sidebar-footer {
  padding: 10px 12px 12px !important;
  border-top: 1px solid var(--ip75-border) !important;
}

body.ip-ui-v750 .sidebar-help {
  padding: 10px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .sidebar-help p {
  margin: 4px 0 8px !important;
  font-size: 9.5px !important;
  line-height: 1.35 !important;
}

body.ip-ui-v750.ip-sidebar-collapsed :where(
  .ipgi-brand-copy,
  .ipgi-company-mini,
  .ip-sidebar-search-trigger span,
  .ip-sidebar-search-trigger kbd,
  .nav-link-copy > span:last-child,
  .nav-group-button > span:not(.nav-icon),
  .nav-group-chevron,
  .sidebar-help
) {
  display: none !important;
}

body.ip-ui-v750.ip-sidebar-collapsed .app-brand {
  justify-content: center !important;
  padding-inline: 8px !important;
}

body.ip-ui-v750.ip-sidebar-collapsed .ip-sidebar-collapse {
  position: absolute;
  top: 47px;
  right: 8px;
  z-index: 2;
}

body.ip-ui-v750.ip-sidebar-collapsed .ip-sidebar-search-wrap {
  padding: 10px 9px 8px !important;
}

body.ip-ui-v750.ip-sidebar-collapsed .ip-sidebar-search-trigger,
body.ip-ui-v750.ip-sidebar-collapsed :where(.nav-main-link, .nav-group-button) {
  justify-content: center !important;
  padding-inline: 7px !important;
}

body.ip-ui-v750 .app-main,
body.ip-ui-v750 .MainContent {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 100dvh !important;
  padding: 16px 18px 24px !important;
  background: var(--ip75-bg) !important;
}

body.ip-ui-v750 .app-topbar {
  position: sticky !important;
  z-index: 60 !important;
  top: 0 !important;
  display: flex !important;
  width: 100% !important;
  min-height: var(--ip75-topbar) !important;
  align-items: center !important;
  gap: 12px !important;
  margin: -16px -18px 16px !important;
  padding: 8px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ip75-border) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb, var(--ip75-surface) 94%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
}

body.ip-ui-v750 .ip74-topbar-left {
  min-width: 220px !important;
}

body.ip-ui-v750 .ip74-breadcrumb {
  margin: 0 0 2px !important;
  color: var(--ip75-muted) !important;
  font-size: 9px !important;
  font-weight: 650 !important;
}

body.ip-ui-v750 .ip74-page-title-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

body.ip-ui-v750 .ip74-page-title {
  margin: 0 !important;
  color: var(--ip75-text) !important;
  font-size: 16px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
}

body.ip-ui-v750 .ip74-page-subtitle {
  overflow: hidden;
  max-width: 360px;
  color: var(--ip75-muted) !important;
  font-size: 9.5px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.ip-ui-v750 .ip-command-trigger {
  min-height: var(--ip75-control) !important;
  max-width: 380px !important;
  flex: 1 !important;
  margin-inline: auto !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface-muted) !important;
  color: var(--ip75-muted) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .topbar-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 5px !important;
}

body.ip-ui-v750 .ip74-topbar-action {
  display: grid !important;
  width: var(--ip75-control) !important;
  min-width: var(--ip75-control) !important;
  height: var(--ip75-control) !important;
  min-height: var(--ip75-control) !important;
  padding: 0 !important;
  place-items: center;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-muted) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .ip74-topbar-action:hover {
  border-color: var(--ip75-border-strong) !important;
  background: var(--ip75-surface-muted) !important;
  color: var(--ip75-text) !important;
}

body.ip-ui-v750 .ip74-profile-trigger {
  min-height: var(--ip75-control) !important;
  padding: 3px 8px 3px 4px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text-soft) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .ip74-profile-avatar {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  background: var(--ip75-primary-soft) !important;
  color: var(--ip75-primary) !important;
  font-size: 10px !important;
}

body.ip-ui-v750 .ip74-profile-copy strong { font-size: 10.5px !important; }
body.ip-ui-v750 .ip74-profile-copy span { color: var(--ip75-muted) !important; font-size: 8.5px !important; }

/* Cartões, cabeçalhos e conteúdo */
body.ip-ui-v750 :where(
  .card, .panel, .box, .widget, .content-card, .planix-card, .ct-card,
  .dash-card, .agenda-card, .os-card, .imp-card, .rel-card, .fpay-card,
  .rec-card, .fat-card, .home-chart-card, .home-analytics-panel,
  .home-activity-panel, .home-financial-panel, [class$="-card"]
):not(.nav-card):not(.task-card):not(.ip-login-brand) {
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-lg) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  box-shadow: var(--ip75-shadow-xs) !important;
}

body.ip-ui-v750 :where(
  .page-head, .page-header, .ip-page-header, .planix-hero, .ct-hero, .dash-topbar,
  .agenda-top, .rel-hero, .os-hero, .imp-hero, .home-page-head
) {
  margin-bottom: 12px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-lg) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 :where(
  .page-head, .page-header, .ip-page-header, .planix-hero, .ct-hero, .dash-topbar,
  .agenda-top, .rel-hero, .os-hero, .imp-hero, .home-page-head
) :where(h1, h2) {
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 760 !important;
}

body.ip-ui-v750 :where(.kpi-grid, .stats-grid, .summary-grid, .metrics-grid, [class*="kpi-grid"]) {
  gap: 10px !important;
}

body.ip-ui-v750 :where(
  .kpi, .stat-card, .summary-card, .metric-card, .home-kpi-card, .dash-kpi,
  .ct-kpi, .os-kpi, [class*="kpi-card"], [class*="metric-card"]
) {
  min-height: 92px !important;
  padding: 12px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-lg) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 :where(
  .kpi, .stat-card, .summary-card, .metric-card, .home-kpi-card, .dash-kpi,
  .ct-kpi, .os-kpi, [class*="kpi-card"], [class*="metric-card"]
) :where(.value, .number, strong, h2) {
  color: var(--ip75-text) !important;
  font-variant-numeric: tabular-nums;
}

/* Formulários */
body.ip-ui-v750 :where(label, .form-label, [class$="-label"]) {
  margin-bottom: 4px;
  color: var(--ip75-text-soft) !important;
  font-size: 11px !important;
  font-weight: 680 !important;
  line-height: 1.25 !important;
}

body.ip-ui-v750 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  select, textarea, .form-control, .form-select, .choices__inner, .select2-selection,
  .ts-control, .flatpickr-input
) {
  width: 100%;
  min-height: var(--ip75-control) !important;
  padding: 7px 10px !important;
  border: 1px solid var(--ip75-border-strong) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}

body.ip-ui-v750 :where(textarea, textarea.form-control) {
  min-height: 84px !important;
  resize: vertical;
}

body.ip-ui-v750 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
  select:focus, textarea:focus, .form-control:focus, .form-select:focus
) {
  border-color: var(--ip75-primary) !important;
  box-shadow: var(--ip75-focus) !important;
}

body.ip-ui-v750 :where(input::placeholder, textarea::placeholder) {
  color: var(--ip75-subtle) !important;
  opacity: 1;
}

body.ip-ui-v750 :where(input:disabled, input[readonly], select:disabled, textarea:disabled) {
  background: var(--ip75-surface-muted) !important;
  color: var(--ip75-muted) !important;
  cursor: not-allowed;
  opacity: 0.9;
}

body.ip-ui-v750 :where(input[type="checkbox"], input[type="radio"]) {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  accent-color: var(--ip75-primary);
}

body.ip-ui-v750 :where(.form-grid, .filter-grid, .grid-form, [class*="form-grid"]) {
  gap: 10px 12px !important;
}

body.ip-ui-v750 :where(
  .filter-card, .filter-panel, .filters, .table-toolbar, .ct-toolbar, .rec-filters,
  .fpay-filters, .dash-filter-panel, .rel-filter-card, [class*="filter-bar"]
) {
  padding: 10px 12px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-lg) !important;
  background: var(--ip75-surface) !important;
  box-shadow: none !important;
}

/* Ações */
body.ip-ui-v750 .ip75-action,
body.ip-ui-v750 .ip744-action {
  display: inline-flex !important;
  min-height: var(--ip75-control) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 7px 12px !important;
  border: 1px solid var(--ip75-border-strong) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text-soft) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: none !important;
}

body.ip-ui-v750 :where(
  .ip75-action-save, .ip75-action-confirm, .ip75-action-create,
  .ip744-action-save, .ip744-action-confirm, .ip744-action-create
) {
  border-color: var(--ip75-primary) !important;
  background: var(--ip75-primary) !important;
  color: #ffffff !important;
}

body.ip-ui-v750 :where(
  .ip75-action-save, .ip75-action-confirm, .ip75-action-create,
  .ip744-action-save, .ip744-action-confirm, .ip744-action-create
):hover {
  border-color: var(--ip75-primary-hover) !important;
  background: var(--ip75-primary-hover) !important;
}

body.ip-ui-v750 :where(.ip75-action-delete, .ip744-action-delete) {
  border-color: color-mix(in srgb, var(--ip75-danger) 28%, var(--ip75-border)) !important;
  background: var(--ip75-danger-soft) !important;
  color: var(--ip75-danger) !important;
}

body.ip-ui-v750 :where(.ip75-action-delete, .ip744-action-delete):hover {
  border-color: var(--ip75-danger) !important;
  background: var(--ip75-danger) !important;
  color: #ffffff !important;
}

body.ip-ui-v750 :where(
  .ip75-action-cancel, .ip75-action-back, .ip75-action-clear,
  .ip744-action-cancel, .ip744-action-back, .ip744-action-clear
) {
  background: var(--ip75-surface-muted) !important;
}

body.ip-ui-v750 :where(
  .ip75-action-view, .ip75-action-edit, .ip75-action-print, .ip75-action-export, .ip75-action-filter,
  .ip744-action-view, .ip744-action-edit, .ip744-action-print, .ip744-action-export, .ip744-action-filter
):hover {
  border-color: color-mix(in srgb, var(--ip75-primary) 35%, var(--ip75-border)) !important;
  background: var(--ip75-primary-soft) !important;
  color: var(--ip75-primary) !important;
}

body.ip-ui-v750 :where(button, .btn, [role="button"]):disabled,
body.ip-ui-v750 :where(.btn, [role="button"]).disabled {
  cursor: not-allowed !important;
  opacity: 0.55 !important;
}

/* Tabelas */
body.ip-ui-v750 :where(
  .table-wrap, .table-responsive, .data-table-wrap, .ct-table-wrap, .dash-table-wrap,
  .os-table-wrap, .imp-table-wrap, .ip743-table-overflow, [class$="-table-wrap"]
) {
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-lg) !important;
  background: var(--ip75-surface) !important;
  box-shadow: none !important;
  overscroll-behavior: contain;
}

body.ip-ui-v750 table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  font-variant-numeric: tabular-nums;
}

body.ip-ui-v750 table thead th {
  position: sticky;
  z-index: 3;
  top: 0;
  height: 36px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ip75-border) !important;
  background: var(--ip75-surface-muted) !important;
  color: var(--ip75-muted) !important;
  font-size: 9.5px !important;
  font-weight: 760 !important;
  letter-spacing: 0.035em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  white-space: nowrap;
}

body.ip-ui-v750 table tbody td {
  height: 44px !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ip75-border) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text-soft) !important;
  font-size: 11.5px !important;
  line-height: 1.3 !important;
  vertical-align: middle !important;
}

body.ip-ui-v750 table tbody tr:last-child td {
  border-bottom: 0 !important;
}

body.ip-ui-v750 table tbody tr:hover td {
  background: color-mix(in srgb, var(--ip75-primary-soft) 58%, var(--ip75-surface)) !important;
}

body.ip-ui-v750 table :where(.ip75-money-col, .ip744-money-col) {
  text-align: right !important;
  white-space: nowrap;
}

body.ip-ui-v750 table :where(.ip75-actions-col, .ip744-actions-col) {
  position: sticky !important;
  z-index: 4 !important;
  right: 0 !important;
  text-align: right !important;
  white-space: nowrap;
  box-shadow: -10px 0 16px -16px rgba(20, 34, 54, 0.65);
}

/* Abas, estados e avisos */
body.ip-ui-v750 :where(.nav-tabs, .tabs, .tab-list, .planix-tabs, .ct-tabs, [role="tablist"]) {
  gap: 4px !important;
  padding: 4px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface-muted) !important;
}

body.ip-ui-v750 :where(.nav-tabs .nav-link, .tab-btn, .tabs button, .planix-tab-btn, .ct-tab, [role="tab"]) {
  min-height: 32px !important;
  padding: 6px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--ip75-muted) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

body.ip-ui-v750 :where(
  .nav-tabs .nav-link.active, .tab-btn.active, .tabs button.active,
  .planix-tab-btn.active, .ct-tab.active, [role="tab"][aria-selected="true"]
) {
  border-color: var(--ip75-border) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-primary) !important;
  box-shadow: var(--ip75-shadow-xs) !important;
}

body.ip-ui-v750 :where(.badge, .status, .pill, .chip, .tag, [class*="badge"]) {
  display: inline-flex;
  min-height: 22px !important;
  align-items: center;
  padding: 3px 8px !important;
  border-radius: var(--ip75-radius-pill) !important;
  font-size: 9.5px !important;
  font-weight: 720 !important;
  line-height: 1.1 !important;
  white-space: nowrap;
}

body.ip-ui-v750 :where(.alert, [class*="-alert"], .message, .notice) {
  padding: 9px 11px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-info-soft) !important;
  color: var(--ip75-text-soft) !important;
  font-size: 11.5px !important;
  box-shadow: none !important;
}

body.ip-ui-v750 :where(.alert-success, .success, .message.success) {
  border-color: color-mix(in srgb, var(--ip75-success) 28%, var(--ip75-border)) !important;
  background: var(--ip75-success-soft) !important;
  color: var(--ip75-success) !important;
}

body.ip-ui-v750 :where(.alert-warning, .warning, .message.warning) {
  border-color: color-mix(in srgb, var(--ip75-warning) 30%, var(--ip75-border)) !important;
  background: var(--ip75-warning-soft) !important;
  color: var(--ip75-warning) !important;
}

body.ip-ui-v750 :where(.alert-danger, .alert-error, .error, .message.error) {
  border-color: color-mix(in srgb, var(--ip75-danger) 28%, var(--ip75-border)) !important;
  background: var(--ip75-danger-soft) !important;
  color: var(--ip75-danger) !important;
}

/* Busca, menus e gaveta rápida */
body.ip-ui-v750 :where(
  .dropdown-menu, .context-menu, .select2-dropdown, .choices__list--dropdown,
  .ts-dropdown, .autocomplete-results, .ui-autocomplete, .tt-menu
) {
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface-raised) !important;
  color: var(--ip75-text) !important;
  box-shadow: var(--ip75-shadow-sm) !important;
}

body.ip-ui-v750 .quick-overlay {
  background: var(--ip75-overlay) !important;
  backdrop-filter: blur(4px);
}

body.ip-ui-v750 .quick-drawer {
  width: min(600px, calc(100vw - 24px)) !important;
  border-left: 1px solid var(--ip75-border) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  box-shadow: var(--ip75-shadow-modal) !important;
}

body.ip-ui-v750 .quick-head {
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--ip75-border) !important;
  background: var(--ip75-surface) !important;
}

body.ip-ui-v750 .quick-body {
  padding: 14px 16px 20px !important;
}

body.ip-ui-v750 .quick-link {
  min-height: 68px !important;
  padding: 10px 11px !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface-muted) !important;
  color: var(--ip75-text) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .quick-link:hover {
  border-color: color-mix(in srgb, var(--ip75-primary) 35%, var(--ip75-border)) !important;
  background: var(--ip75-primary-soft) !important;
}

body.ip-ui-v750 .quick-link span { color: var(--ip75-text) !important; font-size: 11.5px !important; }
body.ip-ui-v750 .quick-link small { color: var(--ip75-muted) !important; font-size: 9.5px !important; }

/* Modais adaptativos v75.1 */
/*
 * Evita a primeira pintura com a geometria antiga. Os shells adicionam esta
 * classe no HTML; o controlador a remove depois de classificar os modais
 * renderizados pelo servidor.
 */
html.ip75-js.ip75-modal-prepaint body.ip-ui-v750 :is(
  .plx-modal-overlay,
  .fpay-drawer,
  .rec-drawer-overlay,
  .med-modal-overlay,
  .agenda-modal-overlay,
  .os-modal,
  .pt-modal,
  .rel-modal-backdrop-v7620,
  .erp-modal-overlay,
  .ip74-modal-root,
  .ip74-modal-backdrop,
  .ip743-modal-backdrop,
  .agenda-modal-wrap,
  .report-overlay,
  .dialog-overlay,
  .modal-overlay,
  .modal-backdrop,
  .sheet,
  .sheet-overlay,
  .drawer-overlay,
  .modal
):not([data-ip75-modal-ready="true"]) {
  visibility: hidden !important;
}

body.ip-ui-v750.ip75-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.ip-ui-v750 .ip75-adaptive-overlay {
  --ip75-modal-left: 0px;
  position: fixed !important;
  z-index: 5000 !important;
  inset: 0 0 0 var(--ip75-modal-left) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 16px !important;
  background: var(--ip75-overlay) !important;
  backdrop-filter: blur(5px);
  overscroll-behavior: contain;
}

body.ip-ui-v750 .ip75-adaptive-overlay:is(.is-open, .open, .show, [aria-hidden="false"]) {
  display: flex !important;
}

body.ip-ui-v750 :where(
  .agenda-modal-overlay,
  .rec-drawer-overlay,
  .med-modal-overlay,
  .os-modal,
  .pt-modal,
  .report-overlay,
  .drawer-overlay
).ip75-adaptive-overlay:not([hidden]) {
  display: flex;
}

body.ip-ui-v750 .ip75-adaptive-overlay.ip75-overlay--center {
  align-items: center !important;
  justify-content: center !important;
  overflow: auto !important;
}

body.ip-ui-v750 .ip75-adaptive-overlay.ip75-overlay--side {
  align-items: stretch !important;
  justify-content: flex-end !important;
  padding: 12px !important;
  overflow: hidden !important;
}

body.ip-ui-v750 .ip75-adaptive-surface {
  --ip75-modal-width: 680px;
  --ip75-modal-height: auto;
  --ip75-modal-max-height: calc(100dvh - 32px);
  position: relative !important;
  display: flex !important;
  width: min(var(--ip75-modal-width), calc(100vw - var(--ip75-modal-left) - 32px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - var(--ip75-modal-left) - 32px) !important;
  height: var(--ip75-modal-height) !important;
  min-height: 0 !important;
  max-height: var(--ip75-modal-max-height) !important;
  flex-direction: column !important;
  margin: 0 !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-xl) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  box-shadow: var(--ip75-shadow-modal) !important;
  overflow: hidden !important;
  transform: none !important;
}

body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--compact {
  --ip75-modal-width: 420px;
  --ip75-modal-max-height: min(70dvh, 560px);
}

body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--medium {
  --ip75-modal-width: 680px;
  --ip75-modal-max-height: min(84dvh, 760px);
}

body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--large {
  --ip75-modal-width: 1080px;
  --ip75-modal-max-height: min(90dvh, 880px);
}

body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--expanded {
  --ip75-modal-width: 1320px;
  --ip75-modal-height: min(920px, calc(100dvh - 32px));
  --ip75-modal-max-height: calc(100dvh - 32px);
}

body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--side {
  --ip75-modal-width: 620px;
  --ip75-modal-height: calc(100dvh - 24px);
  --ip75-modal-max-height: calc(100dvh - 24px);
  border-radius: 12px !important;
}

/*
 * Geometria final com especificidade suficiente para neutralizar patches
 * legados que usavam vários :not(...) com !important.
 */
body.ip-ui-v750 .ip75-adaptive-surface[data-ip75-modal-ready="true"][data-ip75-modal-variant="compact"][data-ip75-modal-placement][data-ip75-modal-intent] {
  width: min(420px, calc(100vw - var(--ip75-modal-left) - 32px)) !important;
  height: auto !important;
  max-height: min(70dvh, 560px) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface[data-ip75-modal-ready="true"][data-ip75-modal-variant="medium"][data-ip75-modal-placement][data-ip75-modal-intent] {
  width: min(680px, calc(100vw - var(--ip75-modal-left) - 32px)) !important;
  height: auto !important;
  max-height: min(84dvh, 760px) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface[data-ip75-modal-ready="true"][data-ip75-modal-variant="large"][data-ip75-modal-placement][data-ip75-modal-intent] {
  width: min(1080px, calc(100vw - var(--ip75-modal-left) - 32px)) !important;
  height: auto !important;
  max-height: min(90dvh, 880px) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface[data-ip75-modal-ready="true"][data-ip75-modal-variant="expanded"][data-ip75-modal-placement][data-ip75-modal-intent] {
  width: min(1320px, calc(100vw - var(--ip75-modal-left) - 32px)) !important;
  height: min(920px, calc(100dvh - 32px)) !important;
  max-height: calc(100dvh - 32px) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface[data-ip75-modal-ready="true"][data-ip75-modal-variant="side"][data-ip75-modal-placement][data-ip75-modal-intent] {
  width: min(620px, calc(100vw - var(--ip75-modal-left) - 24px)) !important;
  height: calc(100dvh - 24px) !important;
  max-height: calc(100dvh - 24px) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface[data-ip75-modal-ready="true"] .ip75-action-delete {
  border-color: color-mix(in srgb, var(--ip75-danger) 28%, var(--ip75-border)) !important;
  background: var(--ip75-danger-soft) !important;
  color: var(--ip75-danger) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface[data-ip75-modal-ready="true"] .ip75-action-delete:hover {
  border-color: var(--ip75-danger) !important;
  background: var(--ip75-danger) !important;
  color: var(--ip75-on-danger) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface[data-ip75-modal-ready="true"] :where(
  .ip75-action-save, .ip75-action-confirm, .ip75-action-create
) {
  border-color: var(--ip75-primary) !important;
  background: var(--ip75-primary) !important;
  color: var(--ip75-on-primary) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface > :where(
  .plx-modal-header, .agenda-modal-header, .rec-drawer-head, .fpay-card-head,
  .med-modal-header, .os-head, .pt-head, .rel-modal-head-v7620,
  .erp-modal-header, .modal-header, .modal-v54-header, .dialog-header,
  .ip-dialog-header, .sheet-head, .drawer-head
) {
  position: relative !important;
  z-index: 2;
  display: flex !important;
  min-height: 54px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ip75-border) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .ip75-adaptive-surface > :where(
  .plx-modal-body, .agenda-modal-body, .rec-drawer-body, .med-modal-body,
  .os-body, .pt-body, .rel-modal-body-v7620, .erp-modal-body,
  .modal-body, .modal-v54-body, .dialog-body, .ip-dialog-body,
  .sheet-body, .drawer-body
) {
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  padding: 14px !important;
  background: var(--ip75-bg) !important;
  color: var(--ip75-text) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
}

body.ip-ui-v750 .ip75-adaptive-surface > :where(
  .plx-modal-footer, .agenda-modal-footer, .rec-drawer-footer, .med-modal-footer,
  .os-footer, .pt-footer, .rel-modal-foot-v7620, .erp-modal-footer,
  .modal-footer, .modal-v54-footer, .dialog-footer, .ip-dialog-footer,
  .sheet-footer, .drawer-footer
) {
  position: static !important;
  z-index: 2;
  display: flex !important;
  min-height: 56px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 9px 14px !important;
  border: 0 !important;
  border-top: 1px solid var(--ip75-border) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .ip75-adaptive-surface :where(
  .modal-v54-box, .pt-section, .rec-section, .med-card, .form-section,
  fieldset, [data-modal-section]
) {
  min-width: 0 !important;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-lg) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .ip75-adaptive-surface :where(
  .plx-modal-close, .agenda-modal-close, .rec-drawer-close, .med-modal-close,
  .os-close, .rel-modal-close-v7620, .modal-close, .btn-close,
  [data-dismiss="modal"], [data-bs-dismiss="modal"], [data-modal-close]
) {
  display: grid !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  place-items: center;
  border: 1px solid var(--ip75-border) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface-muted) !important;
  color: var(--ip75-muted) !important;
  box-shadow: none !important;
}

body.ip-ui-v750 .agenda-modal.ip75-adaptive-surface > form,
body.ip-ui-v750 .ip75-adaptive-surface.modal-dialog > .modal-content,
body.ip-ui-v750 .fpay-drawer-box.ip75-adaptive-surface > form {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: 100% !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

body.ip-ui-v750 .agenda-modal.ip75-adaptive-surface > form > .agenda-modal-body,
body.ip-ui-v750 .ip75-adaptive-surface.modal-dialog > .modal-content > .modal-body {
  min-height: 0 !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  overflow: auto !important;
}

body.ip-ui-v750 .ip75-adaptive-surface iframe {
  width: 100% !important;
  min-height: min(640px, calc(100dvh - 150px)) !important;
  max-height: calc(100dvh - 150px) !important;
  border: 0 !important;
  background: var(--ip75-surface) !important;
}

body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--compact .plx-confirm-message {
  margin: 0 !important;
  color: var(--ip75-text-soft) !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
}

body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--compact .plx-confirm-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-top: 18px !important;
}

/*
 * Escudo de especificidade para ações normalizadas.
 *
 * Algumas gerações legadas usam cadeias extensas de :not(...) com !important.
 * O :not(#ip75-legacy-specificity) permanece verdadeiro no shell e acrescenta
 * apenas a especificidade necessária para o padrão v75.1 vencer a cascata,
 * sem inserir estilos inline nem alterar os eventos dos controles.
 */
body.ip-ui-v750:not(#ip75-legacy-specificity) .ip75-action {
  display: inline-flex !important;
  min-height: var(--ip75-control) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 7px 12px !important;
  border: 1px solid var(--ip75-border-strong) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text-soft) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.ip-ui-v750:not(#ip75-legacy-specificity) :is(
  .ip75-action-save,
  .ip75-action-confirm,
  .ip75-action-create
) {
  border-color: var(--ip75-primary) !important;
  background: var(--ip75-primary) !important;
  color: var(--ip75-on-primary) !important;
}

body.ip-ui-v750:not(#ip75-legacy-specificity) :is(
  .ip75-action-save,
  .ip75-action-confirm,
  .ip75-action-create
):hover {
  border-color: var(--ip75-primary-hover) !important;
  background: var(--ip75-primary-hover) !important;
  color: var(--ip75-on-primary) !important;
}

body.ip-ui-v750:not(#ip75-legacy-specificity) .ip75-action-delete {
  border-color: color-mix(in srgb, var(--ip75-danger) 28%, var(--ip75-border)) !important;
  background: var(--ip75-danger-soft) !important;
  color: var(--ip75-danger) !important;
}

body.ip-ui-v750:not(#ip75-legacy-specificity) .ip75-adaptive-surface .ip75-action-delete,
body.ip-ui-v750:not(#ip75-legacy-specificity) .ip75-action-delete:hover {
  border-color: var(--ip75-danger) !important;
  background: var(--ip75-danger) !important;
  color: var(--ip75-on-danger) !important;
}

body.ip-ui-v750:not(#ip75-legacy-specificity) :is(
  .ip75-action-cancel,
  .ip75-action-back,
  .ip75-action-clear
) {
  border-color: var(--ip75-border-strong) !important;
  background: var(--ip75-surface-muted) !important;
  color: var(--ip75-text-soft) !important;
}

body.ip-ui-v750:not(#ip75-legacy-specificity) :is(
  .ip75-action-edit,
  .ip75-action-view,
  .ip75-action-print,
  .ip75-action-export,
  .ip75-action-filter
) {
  border-color: var(--ip75-border-strong) !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text-soft) !important;
}

/* Shell legado */
body.ip-ui-v750.ip-executive-legacy .container.ip-legacy-shell,
body.ip-ui-v750.ip-executive-legacy .app {
  min-height: 100dvh !important;
  background: var(--ip75-bg) !important;
}

body.ip-ui-v750.ip-executive-legacy .sidebar {
  width: var(--ip75-sidebar-width) !important;
  border-right: 1px solid var(--ip75-border) !important;
  background: var(--ip75-sidebar) !important;
  color: var(--ip75-text-soft) !important;
  box-shadow: none !important;
}

body.ip-ui-v750.ip-executive-legacy .sidebar :where(a, span, strong) {
  color: inherit;
}

body.ip-ui-v750.ip-executive-legacy .sidebar .nav a {
  min-height: 36px !important;
  border-radius: var(--ip75-radius-md) !important;
  color: var(--ip75-text-soft) !important;
}

body.ip-ui-v750.ip-executive-legacy .sidebar .nav a:hover,
body.ip-ui-v750.ip-executive-legacy .sidebar .nav a.active {
  background: var(--ip75-primary-soft) !important;
  color: var(--ip75-primary) !important;
}

body.ip-ui-v750.ip-executive-legacy .main {
  margin-left: var(--ip75-sidebar-width) !important;
  padding: 16px 18px 24px !important;
  background: var(--ip75-bg) !important;
}

body.ip-ui-v750.ip-executive-legacy .topbar {
  min-height: var(--ip75-topbar) !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ip75-border) !important;
  border-radius: 0 !important;
  background: var(--ip75-surface) !important;
  box-shadow: none !important;
}

/* Login */
body.ip-executive-login.ip-ui-v750 {
  min-height: 100dvh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--ip75-bg) !important;
  color: var(--ip75-text) !important;
}

body.ip-executive-login.ip-ui-v750 .ip-login-shell {
  display: flex !important;
  background: var(--ip75-bg) !important;
}

body.ip-executive-login.ip-ui-v750 .ip-login-brand {
  flex: 1.05 1 0 !important;
  min-width: 0 !important;
  background: var(--ip75-institutional) !important;
  color: #ffffff !important;
}

html[data-theme="dark"] body.ip-executive-login.ip-ui-v750 .ip-login-brand {
  background: #111925 !important;
}

body.ip-executive-login.ip-ui-v750 .ip-login-panel {
  flex: 0 1 380px !important;
  min-width: 360px !important;
  background: var(--ip75-surface) !important;
  color: var(--ip75-text) !important;
}

body.ip-executive-login.ip-ui-v750 .ip-login-panel-head h2 {
  color: var(--ip75-text) !important;
}

body.ip-executive-login.ip-ui-v750 .ip-login-submit {
  min-height: var(--ip75-control-lg) !important;
  border: 1px solid var(--ip75-primary) !important;
  border-radius: var(--ip75-radius-md) !important;
  background: var(--ip75-primary) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.ip-executive-login.ip-ui-v750 .ip-login-submit:hover {
  border-color: var(--ip75-primary-hover) !important;
  background: var(--ip75-primary-hover) !important;
}

@media (max-width: 820px) {
  body.ip-executive-login.ip-ui-v750 .ip-login-shell {
    flex-direction: column !important;
  }

  body.ip-executive-login.ip-ui-v750 .ip-login-panel {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 560px) {
  body.ip-executive-login.ip-ui-v750 {
    display: block !important;
    padding: 0 !important;
  }
}

/* Responsividade */
@media (max-width: 1180px) {
  body.ip-ui-v750 .ip-command-trigger {
    max-width: 280px !important;
  }

  body.ip-ui-v750 .ip74-page-subtitle,
  body.ip-ui-v750 .ip74-profile-copy {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  body.ip-ui-v750 .app-shell.app-layout,
  body.ip-ui-v750.ip-sidebar-collapsed .app-shell.app-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ip-ui-v750 .app-sidebar,
  body.ip-ui-v750 .AppSidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(var(--ip75-sidebar-width), calc(100vw - 44px)) !important;
    transform: translateX(-105%);
    transition: transform 180ms ease;
  }

  body.ip-ui-v750.sidebar-open .app-sidebar,
  body.ip-ui-v750.sidebar-open .AppSidebar {
    transform: translateX(0);
  }

  body.ip-ui-v750 .ip-sidebar-backdrop {
    position: fixed !important;
    z-index: 70 !important;
    inset: 0 !important;
    display: none;
    background: var(--ip75-overlay) !important;
  }

  body.ip-ui-v750.sidebar-open .ip-sidebar-backdrop {
    display: block !important;
  }

  body.ip-ui-v750 .app-main,
  body.ip-ui-v750 .MainContent {
    padding: 12px 14px 20px !important;
  }

  body.ip-ui-v750 .app-topbar {
    margin: -12px -14px 14px !important;
    padding-inline: 14px !important;
  }

  body.ip-ui-v750 .ip-command-trigger {
    display: none !important;
  }

  body.ip-ui-v750 .ip75-adaptive-overlay {
    --ip75-modal-left: 0px !important;
    inset: 0 !important;
  }

  body.ip-ui-v750.ip-executive-legacy .sidebar {
    display: none !important;
  }

  body.ip-ui-v750.ip-executive-legacy .main {
    margin-left: 0 !important;
  }
}

@media (max-width: 760px) {
  body.ip-ui-v750 {
    font-size: 12.5px;
  }

  body.ip-ui-v750 .app-main,
  body.ip-ui-v750 .MainContent,
  body.ip-ui-v750.ip-executive-legacy .main {
    padding: 9px 10px 16px !important;
  }

  body.ip-ui-v750 .app-topbar {
    min-height: 54px !important;
    margin: -9px -10px 10px !important;
    padding: 7px 10px !important;
  }

  body.ip-ui-v750 .ip74-topbar-left {
    min-width: 0 !important;
    flex: 1 !important;
  }

  body.ip-ui-v750 .ip74-breadcrumb,
  body.ip-ui-v750 .ip74-topbar-action[data-ip74-favorite-current],
  body.ip-ui-v750 .ip74-topbar-action[data-density-toggle] {
    display: none !important;
  }

  body.ip-ui-v750 .ip74-page-title {
    overflow: hidden;
    font-size: 14px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.ip-ui-v750 .topbar-actions {
    max-width: 52vw;
    overflow-x: auto;
  }

  body.ip-ui-v750 .ip74-profile-trigger {
    width: var(--ip75-control) !important;
    min-width: var(--ip75-control) !important;
    padding: 3px !important;
  }

  body.ip-ui-v750 .ip74-profile-caret {
    display: none !important;
  }

  body.ip-ui-v750 :where(
    .page-head, .page-header, .ip-page-header, .planix-hero, .ct-hero,
    .dash-topbar, .agenda-top, .rel-hero, .os-hero, .imp-hero, .home-page-head
  ) {
    padding: 10px !important;
  }

  body.ip-ui-v750 :where(.grid-2, .two, .two-col, .grid-3, .three, .grid-4, .four, .modal-v54-two) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ip-ui-v750 :where(.form-grid, .filter-grid, [class*="form-grid"], [class*="filter-grid"]) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ip-ui-v750 .ip75-adaptive-overlay {
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
  }

  body.ip-ui-v750 .ip75-adaptive-surface {
    --ip75-modal-width: 100%;
    --ip75-modal-max-height: calc(100dvh - 16px);
    width: 100% !important;
    max-width: 100% !important;
  }

  body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--compact {
    --ip75-modal-width: 420px;
    --ip75-modal-height: auto;
    --ip75-modal-max-height: calc(100dvh - 24px);
  }

  body.ip-ui-v750 .ip75-adaptive-surface:is(
    .ip75-modal--medium, .ip75-modal--large, .ip75-modal--expanded, .ip75-modal--side
  ) {
    --ip75-modal-width: 100%;
    --ip75-modal-height: calc(100dvh - 16px);
    --ip75-modal-max-height: calc(100dvh - 16px);
    border-radius: 12px !important;
  }

  body.ip-ui-v750 .ip75-adaptive-surface :where(.agenda-modal-grid, .modal-v54-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ip-ui-v750 .ip75-adaptive-surface > :where(
    .plx-modal-footer, .agenda-modal-footer, .rec-drawer-footer, .med-modal-footer,
    .os-footer, .pt-footer, .rel-modal-foot-v7620, .erp-modal-footer,
    .modal-footer, .modal-v54-footer
  ) {
    flex-wrap: wrap !important;
  }

  body.ip-ui-v750 .quick-drawer {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.ip-ui-v750 .quick-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 480px) {
  body.ip-ui-v750 .ip75-adaptive-surface.ip75-modal--compact {
    --ip75-modal-width: 100%;
  }

  body.ip-ui-v750 .ip75-adaptive-surface > :where(
    .plx-modal-header, .agenda-modal-header, .rec-drawer-head, .med-modal-header,
    .os-head, .pt-head, .rel-modal-head-v7620, .erp-modal-header,
    .modal-header, .modal-v54-header
  ) {
    min-height: 50px !important;
    padding: 9px 11px !important;
  }

  body.ip-ui-v750 .ip75-adaptive-surface > :where(
    .plx-modal-body, .agenda-modal-body, .rec-drawer-body, .med-modal-body,
    .os-body, .pt-body, .rel-modal-body-v7620, .erp-modal-body,
    .modal-body, .modal-v54-body
  ) {
    padding: 10px !important;
  }

  body.ip-ui-v750 .ip75-adaptive-surface > :where(
    .plx-modal-footer, .agenda-modal-footer, .rec-drawer-footer, .med-modal-footer,
    .os-footer, .pt-footer, .rel-modal-foot-v7620, .erp-modal-footer,
    .modal-footer, .modal-v54-footer
  ) {
    padding: 8px 10px !important;
  }

  body.ip-executive-login.ip-ui-v750 .ip-login-brand {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ip-ui-v750 *,
  body.ip-ui-v750 *::before,
  body.ip-ui-v750 *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  body.ip-ui-v750 {
    background: #ffffff !important;
    color: #000000 !important;
  }

  body.ip-ui-v750 :where(.app-sidebar, .app-topbar, .quick-drawer, .quick-overlay, .ip-sidebar-backdrop) {
    display: none !important;
  }

  body.ip-ui-v750 .app-shell.app-layout {
    display: block !important;
  }

  body.ip-ui-v750 .app-main,
  body.ip-ui-v750 .MainContent {
    padding: 0 !important;
    background: #ffffff !important;
  }
}
