
/* === assets/css/app.css === */
:root {
  --bg: #06101b;
  --app-scale: 1;
  --panel: rgba(11, 24, 40, 0.92);
  --panel-2: rgba(15, 32, 52, 0.92);
  --panel-top: rgba(10, 24, 39, 0.95);
  --panel-bottom: rgba(7, 17, 27, 0.98);
  --metric-top: rgba(9, 22, 36, 0.92);
  --metric-bottom: rgba(10, 18, 29, 0.92);
  --sidebar-top: rgba(4, 12, 19, 0.96);
  --sidebar-bottom: rgba(2, 8, 14, 0.98);
  --thead-bg: #0a1a2b;
  --line: rgba(112, 176, 255, 0.18);
  --text: #eff7ff;
  --muted: #93abd0;
  --primary: #45b4ff;
  --primary-2: #78d0ff;
  --success: #2ed18a;
  --warning: #f5c45b;
  --danger: #ff6b81;
  --shadow: 0 18px 40px rgba(0,0,0,.35);
  --radius: 22px;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: Inter, Arial, sans-serif; color: var(--text); background: radial-gradient(circle at top, color-mix(in srgb, var(--primary) 36%, #151c26), var(--bg) 46%, #040b12 100%); font-size: calc(16px * var(--app-scale)); }
html.crm-overlay-lock, body.crm-overlay-lock { overflow: hidden !important; overscroll-behavior: none; height: 100%; }
body.crm-overlay-lock { width: 100%; touch-action: none; }
body.crm-overlay-lock .appShell { overscroll-behavior: none; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
body, body * { text-transform: uppercase; }
input[type="password"], input[type="email"] { text-transform: none; }
input::placeholder, textarea::placeholder { text-transform: uppercase; }
input, select, textarea {
  width: 100%; border-radius: 16px; border: 1px solid var(--line);
  background: rgba(255,255,255,.04); color: var(--text); padding: 13px 15px; outline: none;
}
input::placeholder, textarea::placeholder { color: color-mix(in srgb, var(--primary-2) 46%, rgba(255,255,255,.18)); }
select { appearance: none; background-image: linear-gradient(45deg,transparent 50%, var(--primary-2) 50%), linear-gradient(135deg,var(--primary-2) 50%, transparent 50%); background-position: calc(100% - 20px) calc(50% - 3px), calc(100% - 14px) calc(50% - 3px); background-size: 6px 6px, 6px 6px; background-repeat:no-repeat; }
textarea { resize: vertical; min-height: 110px; }
.setupBody, .loginBody { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.setupCard, .loginCardWide {
  width: min(960px, 100%); background: linear-gradient(180deg, var(--panel-top), var(--panel-bottom)); border: 1px solid var(--line);
  border-radius: 30px; box-shadow: var(--shadow); padding: 32px;
}
.setupCard { max-width: 560px; text-align: center; }
.setupLogo { width: 90px; margin: 0 auto 16px; }
.loginCardWide { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; }
.loginBrand { display: flex; gap: 18px; align-items: center; }
.brandLogoLarge { width: 92px; height: 92px; }
.loginForm { background: rgba(255,255,255,.03); border: 1px solid var(--line); padding: 24px; border-radius: 24px; }
.appShell { display: grid; grid-template-columns: 290px 1fr; min-height: 100vh; }
.sidebar {
  position: sticky; top: 0; height: 100vh; padding: 18px; background: linear-gradient(180deg, var(--sidebar-top), var(--sidebar-bottom)); border-right: 1px solid color-mix(in srgb, var(--primary) 14%, rgba(255,255,255,.06));
  display: flex; flex-direction: column; justify-content: space-between; gap: 24px;
}
body.sidebar-collapsed .appShell { grid-template-columns: 96px 1fr; }
body.sidebar-collapsed .sidebar .brandText,
body.sidebar-collapsed .sidebar .navLabel,
body.sidebar-collapsed .sidebar .miniUser { display:none; }
body.sidebar-collapsed .sidebar .navSubMenu{padding-left:0}
.brandRow { display:flex; align-items:center; gap:14px; }
.brandWrap { display:flex; align-items:center; gap:14px; min-width:0; }
.brandLogo { width: 56px; height: 56px; border-radius: 18px; box-shadow: 0 0 18px color-mix(in srgb, var(--primary) 28%, transparent); }
.brandText strong { display:block; font-size: 20px; }
.brandText small, .footerBar, .miniUser small, .metricCard span, .metricCard small, .sectionHeader p, .statRow span, .fieldLabel, .inlineInfo, .subInfo { color: var(--muted); }
.navMenu { display: grid; gap: 12px; margin-top: 20px; }
.navGroup{display:grid;gap:8px}
.navSubMenu{display:grid;gap:8px;padding-left:18px}
.navSubItem{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.025)}
.navItemParent{font-weight:800}
.navGroup.activeGroup .navItemParent{box-shadow:inset 0 0 0 1px rgba(91,174,255,.12)}
.navItem { display:flex; align-items:center; gap:12px; padding: 14px 16px; border-radius: 18px; border: 1px solid transparent; background: rgba(255,255,255,.02); }
.navItem:hover, .navItem.active { border-color: rgba(91, 174, 255, .18); }
.navItem.danger { background: rgba(255, 107, 129, .08); }
.navIcon { width: 26px; text-align: center; }
.navIconGold { color: #f6c85f; text-shadow: 0 0 18px rgba(246, 200, 95, .28); }
.sidebarFooter { display:grid; gap: 14px; }
.mainContent { padding: 26px; }
.topbarMain { display:flex; justify-content:space-between; gap: 20px; align-items:flex-start; margin-bottom: 20px; }
.topbarMain h1 { margin: 0 0 6px; font-size: 34px; }
.topbarActions, .actionsInline, .filtersActions, .dialogActions, .tableActions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.btn, .iconBtn { border: 1px solid var(--line); background: color-mix(in srgb, var(--primary) 7%, rgba(255,255,255,.035)); color: var(--text); border-radius: 16px; padding: 12px 16px; cursor:pointer; }
.btn.primary, .btnPrimary, .btn.success { background: linear-gradient(135deg, var(--primary), var(--primary-2)); color:#07111d; font-weight: 800; }
.btn.warning { background: rgba(245,196,91,.16); color: #ffd78b; }
.btn.ghost { background: rgba(255,255,255,.03); }
.btn.tiny { padding: 8px 10px; border-radius: 12px; font-size: 13px; }
.btn.full { width: 100%; justify-content: center; display: inline-flex; }
.iconBtn { width: 46px; height: 46px; display:grid; place-items:center; padding:0; }
.iconBtn.danger { color: #ff9ead; }
.cardsGrid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin-bottom: 18px; }
.cardsGrid.smallCards { grid-template-columns: repeat(2, minmax(0,1fr)); }
.metricCard { background: linear-gradient(180deg, var(--metric-top), var(--metric-bottom)); border: 1px solid var(--line); border-radius: 24px; padding: 20px; box-shadow: var(--shadow); }
.metricLink { display:block; color: inherit; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.metricLink:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--primary-2) 38%, transparent); }
.metricLink.active { border-color: color-mix(in srgb, var(--primary-2) 54%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary-2) 22%, transparent), var(--shadow); }
.metricCard strong { display:block; font-size: 30px; margin: 8px 0; }
.metricCard.alert { box-shadow: inset 0 0 0 1px rgba(245,196,91,.3), var(--shadow); }
.metricCard.danger { box-shadow: inset 0 0 0 1px rgba(255,107,129,.3), var(--shadow); }
.metricCard.success { box-shadow: inset 0 0 0 1px rgba(46,209,138,.25), var(--shadow); }
.panel { background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 7%, var(--panel)), color-mix(in srgb, var(--primary) 5%, var(--panel-2))); border: 1px solid var(--line); border-radius: 26px; padding: 22px; box-shadow: var(--shadow); margin-bottom: 18px; }
.sectionHeader { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom: 18px; }
.sectionHeader.simple { align-items: center; }
.collapsibleHeader { align-items: center; }
.sectionHeader h2, .sectionHeader h3, .sectionHeader h4, .dialogHeader h3 { margin:0 0 6px; }
.filtersGrid, .formGrid { display:grid; gap: 16px; grid-template-columns: repeat(5, minmax(0,1fr)); }
.filtersGrid.compactFilters { grid-template-columns: repeat(6, minmax(0,1fr)); }
.formGrid.twoCols { grid-template-columns: repeat(2, minmax(0,1fr)); }
.fieldLabel { display:grid; gap:8px; font-size: 14px; }
.fieldLabel.span2 { grid-column: span 2; }
.fieldWithAddon { display:grid; gap:8px; }
.inlineFieldRow { display:grid; grid-template-columns: 1fr auto; gap:10px; }
.gridTwo { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.barList { display:grid; gap: 14px; }
.barItem { display:grid; grid-template-columns: minmax(120px, 1fr) 2fr auto; gap: 12px; align-items:center; }
.barTrack { height: 12px; border-radius: 999px; background: rgba(255,255,255,.05); overflow:hidden; border: 1px solid rgba(255,255,255,.05); }
.barTrack i { display:block; height:100%; border-radius:999px; background: linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary-2) 56%, #ffffff)); }
.tableWrap { overflow:auto; border-radius: 22px; border: 1px solid rgba(255,255,255,.05); }
table { width:100%; border-collapse: collapse; min-width: 980px; }
thead th { position: sticky; top: 0; background: color-mix(in srgb, var(--primary) 8%, var(--thead-bg)); z-index: 1; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }

.sortLink { display:inline-flex; align-items:center; gap:6px; color:inherit; text-decoration:none; }
.sortLink span { opacity:.75; font-size:11px; }
th, td { padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,.05); vertical-align: top; word-break: break-word; }
.emptyCell, .emptyState { text-align: center; color: var(--muted); padding: 24px; }
.flash { padding: 14px 16px; border-radius: 16px; margin-bottom: 16px; border:1px solid var(--line); }
.flash.success { background: rgba(46,209,138,.08); border-color: rgba(46,209,138,.25); }
.flash.error { background: rgba(255,107,129,.08); border-color: rgba(255,107,129,.24); }
.statusBadge, .miniBadge, .badge, .chip { display:inline-flex; align-items:center; justify-content:center; gap:6px; border-radius: 999px; padding: 8px 12px; border:1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); white-space: nowrap; }
.badge { min-width: 28px; padding: 4px 9px; font-size: 12px; }
.miniBadge { font-size: 12px; padding: 6px 10px; }
.chipWrap { display:flex; gap:10px; flex-wrap:wrap; }
.status-green, .success { color: #88f3c0; }
.status-yellow { color: #ffd67e; }
.status-blue { color: #8ed1ff; }
.status-red { color: #ff97aa; }
.status-cyan { color: #8ed1ff; }
.status-gray { color: #8ed1ff; }
.rowStatus.status-green td:first-child { box-shadow: inset 4px 0 0 rgba(46,209,138,.8); }
.rowStatus.status-yellow td:first-child { box-shadow: inset 4px 0 0 rgba(245,196,91,.8); }
.rowStatus.status-blue td:first-child { box-shadow: inset 4px 0 0 rgba(69,180,255,.8); }
.rowStatus.status-red td:first-child { box-shadow: inset 4px 0 0 rgba(255,107,129,.85); }
.rowStatus.status-cyan td:first-child { box-shadow: inset 4px 0 0 rgba(69,180,255,.8); }
.rowStatus.status-gray td:first-child { box-shadow: inset 4px 0 0 rgba(69,180,255,.8); }
.crmDialog { border: 1px solid var(--line); border-radius: 28px; background: linear-gradient(180deg, rgba(8,19,31,.98), rgba(6,12,20,.99)); color: var(--text); width: min(1050px, 92vw); box-shadow: var(--shadow); padding: 0; }
.crmDialog::backdrop { background: rgba(2,8,13,.72); backdrop-filter: blur(6px); }
.crmDialog[open], .crmDialog.forceOpen { display:block; position:fixed; left:50%; top:50%; transform:translate(-50%, -50%); max-height:min(90vh, 980px); overflow:auto; z-index:12020; }

.crmDialog.isManualOpen { display:block !important; position:fixed !important; left:50%; top:50%; transform:translate(-50%, -50%); z-index:12030; }
body.theme-dialog-open::before { content:""; position:fixed; inset:0; background:rgba(2,8,16,.72); backdrop-filter:blur(4px); z-index:12025; }
.crmManualDialog[open]::backdrop, .crmManualDialog.isManualOpen::backdrop { background:rgba(2,8,16,.72); }
#ticketThemeDialog[hidden] { display:none !important; }
#ticketThemeDialog.themePopupShell { width:min(1120px, calc(100vw - 24px)); max-width:1120px; }
#ticketThemeDialog.forceOpen,
#ticketThemeDialog.isManualOpen { display:block !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
body.theme-dialog-open #globalActionsMenu { display:none !important; visibility:hidden !important; pointer-events:none !important; }
.crmDialog.forceOpen::backdrop { display:block; }
.dialogHeader { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; padding: 24px 24px 10px; }
.dialogForm { padding: 10px 24px 24px; }
.dialogForm.compact { max-width: 820px; }
#ticketDialog {
  width: min(1180px, 94vw);
}
#ticketDialog[open],
#ticketDialog.forceOpen,
#ticketDialog.isManualOpen,
#ticketDialog.dialogTopLock {
  top: max(16px, env(safe-area-inset-top));
  transform: translateX(-50%);
  max-height: calc(100vh - 32px);
  overflow: hidden;
}
#ticketDialog .dialogHeader {
  position: sticky;
  top: 0;
  z-index: 3;
  padding-bottom: 14px;
  background: linear-gradient(180deg, rgba(8,19,31,.99), rgba(8,19,31,.96));
}
#ticketDialog > .dialogForm,
#ticketDialog > #ticketHistorySection {
  max-height: calc(100vh - 128px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
#ticketDialog > #ticketHistorySection {
  margin: 0 24px 24px;
}

#ticketChecklistDialog {
  width: min(1080px, 94vw);
}
#ticketChecklistDialog[open],
#ticketChecklistDialog.forceOpen,
#ticketChecklistDialog.isManualOpen,
#ticketChecklistDialog.dialogTopLock {
  top: max(18px, env(safe-area-inset-top));
  transform: translateX(-50%);
  max-height: calc(100vh - 36px);
  overflow: hidden;
}
#ticketChecklistDialog .dialogHeader {
  position: sticky;
  top: 0;
  z-index: 3;
  padding-bottom: 14px;
  background: linear-gradient(180deg, rgba(8,19,31,.99), rgba(8,19,31,.96));
}
#ticketChecklistDialog .dialogForm {
  max-height: calc(100vh - 170px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
#ticketChecklistDialog .dialogForm.compact {
  max-width: none;
}

#avulsoPaymentDialog {
  width: min(1040px, calc(100vw - 24px));
}
#avulsoPaymentDialog[open],
#avulsoPaymentDialog.forceOpen,
#avulsoPaymentDialog.isManualOpen,
#avulsoPaymentDialog.dialogTopLock {
  top: max(12px, env(safe-area-inset-top));
  transform: translateX(-50%);
  max-height: calc(100vh - 24px);
  overflow: hidden;
}
#avulsoPaymentDialog .dialogHeader {
  position: sticky;
  top: 0;
  z-index: 3;
  padding-bottom: 14px;
  background: linear-gradient(180deg, rgba(8,19,31,.99), rgba(8,19,31,.96));
}
#avulsoPaymentDialog .dialogForm {
  max-height: calc(100vh - 104px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
#avulsoPaymentDialog .dialogForm.compact {
  max-width: none;
}
.subPanel { margin-top: 20px; padding: 16px; border: 1px solid rgba(255,255,255,.05); border-radius: 22px; background: rgba(255,255,255,.02); }
.repeatList { display:grid; gap: 12px; }
.repeatRow { display:grid; grid-template-columns: 1fr auto; gap: 12px; align-items:center; }
.repeatRow.triple { grid-template-columns: 1.2fr .8fr .8fr auto; }
.footerBar { padding: 16px 4px 2px; font-size: 13px; }
.statList { display:grid; gap: 10px; }
.statRow { display:flex; justify-content:space-between; gap:10px; padding: 12px 0; border-bottom: 1px dashed rgba(255,255,255,.08); }
.inlineInfo { margin-bottom: 12px; }
@media (max-width: 1200px) {
  .cardsGrid, .filtersGrid, .filtersGrid.compactFilters, .formGrid, .gridTwo { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .appShell { grid-template-columns: 96px 1fr; }
  .sidebar .brandText, .sidebar .navLabel, .sidebar .miniUser { display:none; }
}
@media (max-width: 760px) {
  .loginCardWide, .gridTwo, .cardsGrid, .cardsGrid.smallCards, .filtersGrid, .filtersGrid.compactFilters, .formGrid, .formGrid.twoCols { grid-template-columns: 1fr; }
  .appShell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .mainContent { padding: 18px; }
  .topbarMain, .sectionHeader { flex-direction: column; }
}


select, option, optgroup { background-color: #0d1a2a; color: var(--text); }
select { color-scheme: dark; }
.costRowCard {
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.02);
}
.costGrid, .costMetaGrid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0,1fr));
}
.costMetaGrid { margin-top: 12px; }
.costRowHead { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:12px; }
.costState { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
@media (max-width: 980px) {
  .costGrid, .costMetaGrid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .costGrid, .costMetaGrid { grid-template-columns: 1fr; }
}


:root { color-scheme: dark; }
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #0d1a2a;
  color: var(--text);
  background-image: linear-gradient(45deg, transparent 50%, #8ed1ff 50%), linear-gradient(135deg, #8ed1ff 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 34px;
}
option, optgroup {
  background: #0a1422;
  color: #f5f9ff;
}
.btn.warning { background: rgba(255,214,126,.12); color: #ffd67e; border-color: rgba(255,214,126,.22); }
.btn.danger { background: rgba(255,107,129,.12); color: #ff9fb1; border-color: rgba(255,107,129,.24); }
.btn[disabled] { opacity: .45; cursor: not-allowed; }
.status-cancel { color: #ff97aa; }
.rowStatus td { transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.rowStatus.status-cancel td,
.rowStatus.status-red td {
  background: rgba(255, 107, 129, .10);
  border-color: rgba(255, 155, 178, .14);
}
.rowStatus.status-cancel td:not([data-label="STATUS"]),
.rowStatus.status-red td:not([data-label="STATUS"]),
.rowStatus.status-cancel td:not([data-label="STATUS"]) .editCellBtn,
.rowStatus.status-red td:not([data-label="STATUS"]) .editCellBtn,
.rowStatus.status-cancel td:not([data-label="STATUS"]) strong,
.rowStatus.status-red td:not([data-label="STATUS"]) strong {
  color: #ffd7df;
}
.rowStatus.status-cancel td::before,
.rowStatus.status-red td::before { color: rgba(255, 215, 223, .78); }
.rowStatus.status-cancel td:first-child { box-shadow: inset 4px 0 0 rgba(255,107,129,.85); }
.financialHistory { margin-top: 8px; display: grid; gap: 6px; }
.financialHistory.inline { margin-top: 10px; }
.financialLine {
  font-size: 12px;
  line-height: 1.35;
  border-radius: 12px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
}
.financialLine.paid, .paidRow td { color: #98ffb6; }
.financialLine.paid { background: rgba(70, 190, 110, .14); border-color: rgba(100,220,130,.25); }
.financialLine.pending { color: #dce8f7; }
.checkField { justify-content: end; }
.switchRow { display:flex; align-items:center; gap:10px; min-height: 52px; }
.switchRow input[type="checkbox"] { width: 18px; height: 18px; accent-color: #46b4ff; }
.tableActions.wrap { flex-wrap: wrap; }
.inlineForm { display: inline-flex; }
.exportPage {
  background: linear-gradient(180deg, #07111d, #050d16);
  color: #f5f9ff;
  min-height: 100vh;
  font-family: Inter, Arial, sans-serif;
  padding: 24px;
}
.exportCard {
  max-width: 1360px;
  margin: 0 auto;
  background: linear-gradient(180deg, rgba(11,24,40,.96), rgba(6,13,22,.98));
  border: 1px solid rgba(120,180,255,.14);
  border-radius: 28px;
  padding: 24px;
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.exportToolbar { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; margin-bottom: 16px; }
.exportMeta { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 14px 0 24px; }
.exportMeta .metricCard { min-height: auto; }
@media (max-width: 900px) { .exportMeta { grid-template-columns: repeat(2, minmax(0,1fr)); } }

.filtersCompact { display:grid; gap:14px; }
.dashboardMainFilter.isCollapsed .dashboardToolsLine, .dashboardMainFilter.isCollapsed .dashboardCompactGrid { display:none; }
.dashboardMainFilter.isCollapsed { gap:0; }
.compactFields { display:grid; gap:12px; grid-template-columns: repeat(6, minmax(0,1fr)); }
.compactActionsBar { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; padding-top: 6px; }
.compactButtons { justify-content:flex-end; }
.compactHeader { align-items:center; }
.inlineComSelect { min-width: 84px; padding: 8px 28px 8px 10px; border-radius: 12px; font-size: 12px; }
.editCellBtn {
  background: transparent;
  border: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.editCellBtn.multiline { line-height: 1.15; }
.actionsMenuWrap { position: relative; display: inline-flex; }
.actionsDropdown {
  position: fixed;
  top: 0;
  left: 0;
  min-width: 148px;
  background: linear-gradient(180deg, rgba(9,22,36,.99), rgba(7,16,26,.99));
  border: 1px solid rgba(223,190,92,.62);
  border-radius: 16px;
  box-shadow: 0 24px 50px rgba(0,0,0,.42);
  padding: 6px;
  display: none;
  z-index: 9900;
  max-height: none;
  overflow: visible;
  isolation: isolate;
}
.actionsDropdown.open { display: grid; gap: 3px; }
.actionsDropdown[data-floating="1"] { margin: 0; }
.menuAction {
  display: block;
  width: 100%;
  min-height: 22px;
  text-align: center;
  border: 0;
  background: linear-gradient(180deg, rgba(14,28,44,.96), rgba(8,17,28,.98));
  color: var(--text);
  padding: 5px 8px;
  border-radius: 9px;
  text-decoration: none;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.menuIcon { display:inline-flex; align-items:center; justify-content:center; min-width:16px; line-height:1; font-size:14px; }
.menuForm { margin: 0; }
.warningText { color: #ffd67e; }
.dangerText { color: #ff9fb1; }
.financialLine, .exportFinancialCell { white-space: pre-line; }
@media (max-width: 1200px) {
  .compactFields { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .compactFields { grid-template-columns: 1fr; }
  .compactButtons { justify-content: flex-start; }
}


.hidden { display: none !important; }
.fontBtn { min-width: 54px; text-align: center; }
.ticketFilterRow {
  display: grid;
  grid-template-columns: 190px minmax(240px, 1fr) minmax(220px, 280px) auto;
  gap: 12px;
  align-items: end;
}
.compactSelectField, .compactValueField { margin: 0; }
.filterChecklistGroup {
  display: grid;
  gap: 8px;
  max-height: 220px;
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
}
.filterCheckItem {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  cursor: pointer;
}
.filterCheckItem input { margin: 0; }
.filterCheckEmpty {
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--muted);
  background: rgba(255,255,255,.02);
}
#ticketFilterMultiWrap { grid-column: 2 / span 2; }
@media (max-width: 1200px) {
  #ticketFilterMultiWrap { grid-column: span 2; }
}
@media (max-width: 760px) {
  #ticketFilterMultiWrap { grid-column: auto; }
}
.ticketDateRange {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 12px;
}
.compactTicketButtons { justify-content: flex-end; }
.singleFilterForm { gap: 10px; }
.editCellBtn, .editCellBtn * { text-transform: uppercase; }
.inlineComSelect { text-transform: uppercase; }
@media (max-width: 1200px) {
  .ticketFilterRow { grid-template-columns: 1fr 1fr; }
  .ticketDateRange { grid-column: span 2; }
  .compactTicketButtons { grid-column: span 2; justify-content: flex-start; }
}
@media (max-width: 760px) {
  .ticketFilterRow { grid-template-columns: 1fr; }
  .ticketDateRange, .compactTicketButtons { grid-column: auto; }
}


.ticketToolsLine {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.ticketToolsLine .btn { min-width: 118px; }
.ticketFilterRow {
  grid-template-columns: 220px minmax(340px, 1fr) minmax(240px, 320px);
}
.ticketDateRange { grid-column: 2 / span 2; }
@media (max-width: 1200px) {
  .ticketToolsLine { justify-content: flex-start; }
  .ticketFilterRow { grid-template-columns: 1fr 1fr; }
  .ticketDateRange { grid-column: span 2; }
}
@media (max-width: 760px) {
  .ticketToolsLine .btn { min-width: 0; }
  .ticketFilterRow { grid-template-columns: 1fr; }
  .ticketDateRange { grid-column: auto; }
}


.dashboardToolsLine {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.dashboardToolsLine .btn { min-width: 112px; }
.dashboardCompactGrid {
  display: grid;
  gap: 12px;
  grid-template-columns: 180px 180px 200px minmax(240px, 1fr) minmax(240px, 320px);
  align-items: end;
}
.dashboardCostWrap {
  display: grid;
  gap: 12px;
  grid-template-columns: 170px minmax(180px, 1fr);
}
.dashboardCostRange {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
}
.dashboardFinanceField {
  min-width: 240px;
}
@media (max-width: 1280px) {
  .dashboardCompactGrid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .dashboardCostWrap,
  .dashboardCostRange {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .dashboardToolsLine { justify-content: flex-start; }
  .dashboardToolsLine .btn { min-width: 0; }
  .dashboardCompactGrid,
  .dashboardCostWrap,
  .dashboardCostRange {
    grid-template-columns: 1fr;
  }
}

.overdueRow td { color: #ff97aa; }
.overdueRow { background: rgba(255, 107, 129, .08); }
.startAligned { justify-content: flex-start; }
.compactFieldsCaixa { grid-template-columns: repeat(6, minmax(0,1fr)); }
.multiSelect {
  min-height: 118px;
  padding-right: 14px;
  background-image: none;
}
.multiSelect option { padding: 8px 10px; }
.exportMetaCompact { grid-template-columns: repeat(2, minmax(0,1fr)); max-width: 520px; }
@media (max-width: 900px) {
  .compactFieldsCaixa { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .exportMetaCompact { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .compactFieldsCaixa { grid-template-columns: 1fr; }
}


.exportDialogList { gap: 8px; margin-top: 10px; }
.cardsGrid.smallCards.threeUp { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.actionsDropdown { pointer-events: none; }
.actionsDropdown.open { pointer-events: auto; }
@media (max-width: 900px) {
  .cardsGrid.smallCards.threeUp { grid-template-columns: 1fr; }
}


.tableActions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.inlineForm { margin: 0; }
.globalActionsDropdown { min-width: 156px; }
.actionsMenuWrap [data-menu] { display: none !important; }

.rowTheme-blue td { background: rgba(109, 191, 255, .18); border-color: rgba(164, 216, 255, .28); }
.rowTheme-blue td:not([data-label="STATUS"]),
.rowTheme-blue td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-blue td:not([data-label="STATUS"]) strong { color: #eef8ff; }
.rowTheme-blue td::before { color: rgba(220, 241, 255, .84); }
.rowTheme-sky td { background: rgba(147, 216, 255, .18); border-color: rgba(189, 232, 255, .28); }
.rowTheme-sky td:not([data-label="STATUS"]),
.rowTheme-sky td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-sky td:not([data-label="STATUS"]) strong { color: #f2fbff; }
.rowTheme-sky td::before { color: rgba(225, 246, 255, .84); }
.rowTheme-cyan td { background: rgba(120, 232, 255, .18); border-color: rgba(172, 241, 255, .28); }
.rowTheme-cyan td:not([data-label="STATUS"]),
.rowTheme-cyan td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-cyan td:not([data-label="STATUS"]) strong { color: #f1feff; }
.rowTheme-cyan td::before { color: rgba(223, 252, 255, .84); }
.rowTheme-mint td { background: rgba(128, 255, 220, .16); border-color: rgba(179, 255, 233, .26); }
.rowTheme-mint td:not([data-label="STATUS"]),
.rowTheme-mint td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-mint td:not([data-label="STATUS"]) strong { color: #effff9; }
.rowTheme-mint td::before { color: rgba(224, 255, 245, .84); }
.rowTheme-green td { background: rgba(126, 231, 143, .16); border-color: rgba(177, 244, 188, .26); }
.rowTheme-green td:not([data-label="STATUS"]),
.rowTheme-green td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-green td:not([data-label="STATUS"]) strong { color: #f1fff2; }
.rowTheme-green td::before { color: rgba(228, 255, 232, .84); }
.rowTheme-lime td { background: rgba(197, 246, 111, .16); border-color: rgba(218, 250, 162, .26); }
.rowTheme-lime td:not([data-label="STATUS"]),
.rowTheme-lime td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-lime td:not([data-label="STATUS"]) strong { color: #fbffe8; }
.rowTheme-lime td::before { color: rgba(240, 255, 208, .84); }
.rowTheme-purple td { background: rgba(186, 151, 255, .18); border-color: rgba(213, 192, 255, .28); }
.rowTheme-purple td:not([data-label="STATUS"]),
.rowTheme-purple td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-purple td:not([data-label="STATUS"]) strong { color: #f8f1ff; }
.rowTheme-purple td::before { color: rgba(238, 228, 255, .84); }
.rowTheme-lilac td { background: rgba(216, 180, 255, .18); border-color: rgba(232, 210, 255, .28); }
.rowTheme-lilac td:not([data-label="STATUS"]),
.rowTheme-lilac td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-lilac td:not([data-label="STATUS"]) strong { color: #fbf4ff; }
.rowTheme-lilac td::before { color: rgba(245, 232, 255, .84); }
.rowTheme-gold td { background: rgba(255, 223, 145, .18); border-color: rgba(255, 235, 188, .30); }
.rowTheme-gold td:not([data-label="STATUS"]),
.rowTheme-gold td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-gold td:not([data-label="STATUS"]) strong { color: #fff8e9; }
.rowTheme-gold td::before { color: rgba(255, 243, 214, .84); }
.rowStatus.status-cancel td,
.rowStatus.status-red td { background: rgba(255, 107, 129, .10) !important; }

.themePaletteGrid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.themeSwatchBtn {
  display: grid;
  gap: 8px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  color: var(--text);
  padding: 14px;
  cursor: pointer;
}
.themeSwatchBtn:hover { border-color: color-mix(in srgb, var(--primary-2) 35%, transparent); }
.themeSwatchBtn.isActive { border-color: color-mix(in srgb, var(--primary-2) 58%, transparent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary-2) 20%, transparent) inset; }
.themeSwatchBtn strong { font-size: 14px; }
.themeSwatchBtn small { color: var(--muted); }
.themeRenameHint {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px dashed rgba(142, 209, 255, .18);
  background: rgba(255,255,255,.03);
  color: rgba(210, 230, 255, .88) !important;
  cursor: pointer;
  user-select: none;
}
.themeRenameHint:hover { border-color: rgba(142, 209, 255, .34); }
.themeSwatchColor {
  display: block;
  width: 100%;
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
}
.themeSwatch-default { background: linear-gradient(90deg, rgba(176,190,208,.34), rgba(255,255,255,.14)); }
.themeSwatch-blue { background: linear-gradient(90deg, rgba(109,191,255,.92), rgba(170,219,255,.42)); }
.themeSwatch-sky { background: linear-gradient(90deg, rgba(147,216,255,.92), rgba(202,236,255,.45)); }
.themeSwatch-cyan { background: linear-gradient(90deg, rgba(120,232,255,.92), rgba(188,245,255,.44)); }
.themeSwatch-mint { background: linear-gradient(90deg, rgba(128,255,220,.92), rgba(193,255,236,.44)); }
.themeSwatch-green { background: linear-gradient(90deg, rgba(126,231,143,.92), rgba(191,245,198,.44)); }
.themeSwatch-lime { background: linear-gradient(90deg, rgba(197,246,111,.90), rgba(227,252,171,.42)); }
.themeSwatch-purple { background: linear-gradient(90deg, rgba(186,151,255,.92), rgba(221,202,255,.44)); }
.themeSwatch-lilac { background: linear-gradient(90deg, rgba(216,180,255,.92), rgba(236,214,255,.44)); }
.themeSwatch-gold { background: linear-gradient(90deg, rgba(255,223,145,.92), rgba(255,240,197,.44)); }
@media (max-width: 760px) {
  .themePaletteGrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .themePaletteGrid { grid-template-columns: 1fr; }
}


.historySummaryGrid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:12px; margin-bottom:16px; }
.summaryCard { border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.025); padding:14px 16px; }
.summaryCard small { display:block; color:var(--muted); font-size:12px; margin-bottom:6px; letter-spacing:.08em; }
.summaryCard strong { display:block; font-size:16px; line-height:1.4; word-break:break-word; }
.checklistSummaryGrid { margin-bottom: 16px; }
.historyRefInline { margin: -2px 0 16px; }
.historyChecklistCards { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:14px; margin-bottom:18px; }
.historyChecklistCard { border:1px solid rgba(88,181,255,.18); border-radius:20px; background:rgba(255,255,255,.03); padding:16px; display:grid; gap:14px; }
.historyChecklistCard.isComplete { border-color: rgba(40, 199, 111, .45); box-shadow: 0 0 0 1px rgba(40, 199, 111, .12) inset; }
.historyChecklistCardHead { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.historyChecklistCardHead h5 { margin:0; font-size:16px; }
.historyChecklistCardHead p { margin:6px 0 0; color:var(--muted); font-size:13px; }
@media (max-width: 900px) { .historySummaryGrid { grid-template-columns: 1fr 1fr; } .historyChecklistCards { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .historySummaryGrid { grid-template-columns: 1fr; } }

.historyList { display:grid; gap:12px; }
.historyItem { border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.025); overflow:hidden; }
.historyItemHead { display:flex; gap:10px; justify-content:space-between; align-items:flex-start; padding:12px; }
.historyToggle { flex:1; background:transparent; border:0; color:inherit; text-align:left; padding:0; cursor:pointer; }
.historyTitle { display:block; font-weight:800; margin-bottom:4px; }
.historyDate { display:block; color:var(--muted); font-size:12px; }
.historyBody { padding:0 12px 12px; color:var(--muted); }
.historyPreview { display:none; }
.historyBody.collapsed .historyPreview { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.historyBody.collapsed .historyFull { display:none; }
.historyBody:not(.collapsed) .historyPreview { display:none; }

.ticketHistorySection.highlighted { border-color: rgba(88,181,255,.65); box-shadow: 0 0 0 1px rgba(88,181,255,.2) inset; }
.staticHistoryList { margin-top: 14px; }
.historyDetails { width: 100%; }
.historySummary { list-style: none; display:flex; justify-content:space-between; align-items:flex-start; gap: 12px; cursor:pointer; }
.historySummary::-webkit-details-marker { display:none; }
.historyBodyStatic { color: var(--muted); margin-top: 10px; white-space: pre-wrap; line-height: 1.6; }
.historyChevron { color: var(--muted); font-size: 18px; transition: transform .2s ease; }
.historyDetails[open] .historyChevron { transform: rotate(180deg); }

.historyToggleGrid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.historyToggleChip {
  border: 1px solid rgba(88,181,255,.24);
  background: rgba(255,255,255,.03);
  color: var(--text);
  border-radius: 16px;
  padding: 12px 16px;
  font-weight: 700;
  letter-spacing: .01em;
  cursor: pointer;
  transition: .2s ease;
}

.historyToggleChip:hover {
  border-color: rgba(88,181,255,.55);
  transform: translateY(-1px);
}

.historyToggleChip.active {
  background: rgba(40, 199, 111, .18);
  border-color: rgba(40, 199, 111, .7);
  color: #8ff0ba;
  box-shadow: 0 0 0 1px rgba(40, 199, 111, .18) inset;
}

.historyToggleChip:disabled {
  opacity: .7;
  cursor: wait;
}


/* Mobile app mode */
.mobileAppHint { display:none; }
.tableWrap td::before { display:none; }

@media (max-width: 760px) {
  html, body {
    min-height: 100%;
    overscroll-behavior-y: contain;
  }

  body {
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
  }

  input, select, textarea, button, .btn, .iconBtn {
    font-size: 16px;
  }

  .appShell {
    display: block;
    min-height: 100vh;
  }

  .sidebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    z-index: 90;
    height: auto;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    border-right: 0;
    border-top: 1px solid rgba(255,255,255,.07);
    background: rgba(4, 12, 19, .98);
    backdrop-filter: blur(14px);
    gap: 10px;
  }

  .brandRow,
  .sidebarFooter .miniUser {
    display: none;
  }

  .navMenu {
    display: grid;
    gap: 8px;
    margin-top: 0;
    overflow-y: auto;
    max-height: calc(100vh - 120px);
    scrollbar-width: none;
  }
  .navGroup,.navSubMenu{gap:8px}
  .navSubMenu{padding-left:12px}

  .navMenu::-webkit-scrollbar,
  .sidebarFooter::-webkit-scrollbar,
  .topbarActions::-webkit-scrollbar {
    display: none;
  }

  .navItem,
  .sidebarFooter .navItem {
    min-height: 56px;
    padding: 12px;
    justify-content: flex-start;
    border-radius: 18px;
    flex: 0 0 auto;
  }
  .navSubItem{min-height:50px}

  .navLabel,
  .sidebarFooter .navLabel {
    display: block !important;
    font-size: 13px;
  }

  .navIcon {
    width: 26px;
    font-size: 18px;
  }

  .sidebarFooter {
    display: grid;
    gap: 8px;
    overflow-x: visible;
  }

  .sidebarFooter .navItem.danger {
    min-width: 0;
  }

  .mainContent {
    padding: 16px 16px calc(112px + env(safe-area-inset-bottom));
  }

  .topbarMain {
    position: sticky;
    top: 0;
    z-index: 40;
    margin: -16px -16px 16px;
    padding: 16px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    background: linear-gradient(180deg, rgba(5,16,27,.97), rgba(5,16,27,.90));
    backdrop-filter: blur(10px);
  }

  .topbarMain h1 {
    font-size: 30px;
    line-height: 1.05;
  }

  .topbarMain p {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.45;
  }

  .topbarActions {
    flex-wrap: nowrap;
    overflow-x: auto;
    width: 100%;
    padding-bottom: 2px;
  }

  .topbarActions .btn,
  .topbarActions a.btn {
    white-space: nowrap;
  }

  .panel,
  .metricCard,
  .loginForm,
  .setupCard,
  .loginCardWide,
  .subPanel {
    border-radius: 20px;
  }

  .sectionHeader {
    gap: 12px;
  }

  .sectionHeader h2,
  .sectionHeader h3 {
    font-size: 18px;
  }

  .cardsGrid,
  .cardsGrid.smallCards,
  .filtersGrid,
  .filtersGrid.compactFilters,
  .formGrid,
  .formGrid.twoCols,
  .gridTwo,
  .compactFields,
  .costGrid,
  .costMetaGrid {
    grid-template-columns: 1fr !important;
  }

  .fieldLabel.span2 {
    grid-column: auto;
  }

  .inlineFieldRow,
  .repeatRow,
  .repeatRow.triple {
    grid-template-columns: 1fr;
  }

  .compactActionsBar,
  .filtersActions,
  .tableActions,
  .actionsInline {
    align-items: stretch;
  }

  .compactButtons,
  .filtersActions,
  .tableActions {
    width: 100%;
    justify-content: stretch;
  }

  .compactButtons .btn,
  .filtersActions .btn,
  .tableActions .btn,
  .dialogActions .btn,
  .actionsInline .btn {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
  }

  .tableWrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .tableWrap table,
  .tableWrap thead,
  .tableWrap tbody,
  .tableWrap th,
  .tableWrap td,
  .tableWrap tr {
    display: block;
    width: 100%;
  }

  .tableWrap table {
    min-width: 0;
    border-collapse: separate;
  }

  .tableWrap thead {
    display: none;
  }

  .tableWrap tbody {
    display: grid;
    gap: 12px;
  }

  .tableWrap tbody tr {
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(9,22,36,.92), rgba(7,17,28,.94));
  }

  .tableWrap td {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 14px;
    word-break: break-word;
    text-align: right;
  }

  .tableWrap td::before {
    content: attr(data-label);
    display: block;
    min-width: 112px;
    max-width: 112px;
    flex: 0 0 112px;
    text-align: left;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .tableWrap td > * {
    margin-left: auto;
  }

  .tableWrap td:first-child {
    padding-top: 14px;
  }

  .tableWrap td:last-child {
    padding-bottom: 14px;
    border-bottom: 0;
  }

  .tableWrap td .btn,
  .tableWrap td .iconBtn,
  .tableWrap td .statusBadge,
  .tableWrap td .miniBadge,
  .tableWrap td .chip,
  .tableWrap td .actionsMenuWrap,
  .tableWrap td .inlineForm {
    margin-left: auto;
  }

  .barItem {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .exportCard {
    padding: 16px;
  }

  .exportMeta {
    grid-template-columns: 1fr 1fr;
  }

  .exportToolbar {
    justify-content: stretch;
  }

  .exportToolbar .btn {
    flex: 1 1 100%;
    justify-content: center;
  }
}


.actionsMenuWrap.hasSeal { display:flex; align-items:center; gap:8px; }
.rowIndexCell { display:inline-flex; min-width: 28px; justify-content:center; align-items:center; padding:6px 8px; border-radius: 10px; background: rgba(255,255,255,.05); font-weight: 800; }
.starSeal { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:999px; background:rgba(255,255,255,.06); color:#ffffff; border:1px solid rgba(255,255,255,.25); font-size:16px; box-shadow:0 0 0 1px rgba(255,255,255,.04) inset; }
.rowStatus.flaggedNF { background: rgba(169, 124, 255, 0.10); }
.rowStatus.flaggedNF td:first-child { box-shadow: inset 4px 0 0 rgba(196, 150, 255, 0.95); }
.rowStatus.flaggedNF td:not(:first-child),
.rowStatus.flaggedNF td:not(:first-child) .editCellBtn,
.rowStatus.flaggedNF td:not(:first-child) strong,
.rowStatus.flaggedNF td:not(:first-child) .statusBadge,
.rowStatus.flaggedNF td:not(:first-child) .btn.tiny { color:#dec4ff !important; text-decoration: line-through; text-decoration-thickness: 1.5px; text-decoration-color: rgba(222,196,255,.9); }
.rowStatus.flaggedNF td[data-label="AÇÕES"] .btn,
.rowStatus.flaggedNF td[data-label="AÇÕES"] .iconBtn,
.rowStatus.flaggedNF td[data-label="AÇÕES"] .menuAction,
.rowStatus.flaggedNF td[data-label="AÇÕES"] .starSeal { text-decoration: none !important; }


.ticketSeal {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
  font-size:13px;
  line-height:1;
  cursor:pointer;
  transition:.16s ease;
}
.ticketSealGold {
  color:#ffd55c;
  border-color:rgba(255,213,92,.62);
  background:rgba(255,213,92,.14);
  box-shadow:0 0 0 1px rgba(255,213,92,.14) inset;
}
.ticketSealRed {
  color:#ff6b81;
  border-color:rgba(255,107,129,.55);
  box-shadow:0 0 0 1px rgba(255,107,129,.12) inset;
}
.triangleSeal {
  color:#ffd55c;
  border-color:rgba(255,213,92,.48);
  background:rgba(255,213,92,.10);
  box-shadow:0 0 0 1px rgba(255,213,92,.10) inset;
}
.moneySeal {
  color:#7cf1b4;
  border-color:rgba(124,241,180,.48);
  background:rgba(124,241,180,.10);
  box-shadow:0 0 0 1px rgba(124,241,180,.10) inset;
  cursor:default;
}
.ticketSeal:hover {
  transform:translateY(-1px);
}
.gearGold {
  color:#ffd55c;
  border-color:rgba(255,213,92,.45);
  box-shadow:0 0 0 1px rgba(255,213,92,.08) inset;
}
.starSealPremium {
  background:linear-gradient(135deg, rgba(255,213,92,.24), rgba(255,157,61,.28));
  color:#fff3c2;
  border-color:rgba(255,213,92,.78);
  box-shadow:0 0 20px rgba(255,200,87,.22), 0 0 0 1px rgba(255,213,92,.12) inset;
}
.checklistGrid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.historyListCompact {
  display:grid;
  gap:10px;
  margin-top:14px;
}
.historyCompactItem {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(8,18,31,.72);
  border:1px solid rgba(120,200,255,.12);
}
.historyCompactMain {
  min-width:0;
}
.historyCompactMain strong {
  display:block;
  color:#f3f8ff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.historyCompactActions {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.emptyMiniState {
  padding:18px;
  border-radius:16px;
  border:1px dashed rgba(120,200,255,.18);
  color:var(--muted);
  text-align:center;
}
.compactBetween {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
@media (max-width: 760px) {
  .historyCompactItem,
  .compactBetween {
    flex-direction:column;
    align-items:stretch;
  }
  .historyCompactActions {
    justify-content:flex-end;
  }
}


.rowFinalizedPaid td:not(:first-child),
.rowFinalizedPaid td:not(:first-child) .editCellBtn,
.rowFinalizedPaid td:not(:first-child) strong,
.rowFinalizedPaid td:not(:first-child) .statusBadge,
.rowFinalizedPaid td:not(:first-child) .btn.tiny {
  color:#d7f1de !important;
}

.rowFinalizedPaid td[data-label="AÇÕES"] .btn,
.rowFinalizedPaid td[data-label="AÇÕES"] .iconBtn,
.rowFinalizedPaid td[data-label="AÇÕES"] .menuAction,
.rowFinalizedPaid td[data-label="AÇÕES"] .starSeal,
.rowFinalizedPaid td[data-label="AÇÕES"] .ticketSeal {
  text-decoration: none !important;
}
.rowFinalizedPendingPayment td:first-child {
  box-shadow: inset 4px 0 0 rgba(124,241,180,.55);
}
.prestadorHistoryDialog .tableWrap {
  max-height: 50vh;
}


.avulsoDialogBody {
  max-width: 1080px;
}
.avulsoFormGrid {
  align-items: start;
}
.avulsoInnerPanel,
.avulsoHistoryPanel {
  margin-top: 0;
}
.compactAvulsoGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.avulsoHistoryList .historyCompactItem {
  align-items: flex-start;
}
.avulsoHistoryList .historyCompactMain {
  display: grid;
  gap: 6px;
}
.avulsoHistoryList .historyCompactMain small {
  color: var(--muted);
}
@media (max-width: 760px) {
  .compactAvulsoGrid {
    grid-template-columns: 1fr;
  }
}

/* UI polish overrides */
:root {
  --app-scale: 1;
  --button-border-metal: linear-gradient(135deg, rgba(228,235,242,.92), rgba(170,178,188,.56) 38%, rgba(173,145,78,.76) 72%, rgba(255,229,151,.88));
  --button-fill-dark: linear-gradient(180deg, rgba(15,26,39,.96), rgba(7,14,23,.96));
}

html, body {
  font-size: calc(15px * var(--app-scale));
}

.topbarMain {
  gap: 16px;
}

.topbarMain h1 {
  font-size: 30px;
}

.topbarMain p {
  margin-top: 4px;
  font-size: 14px;
}

.panel {
  padding: 18px;
  border-radius: 22px;
}

.metricCard {
  padding: 18px;
  border-radius: 22px;
}

.metricCard strong {
  font-size: 26px;
}

th, td {
  padding: 10px 8px;
}

.topbarActions,
.actionsInline,
.filtersActions,
.dialogActions,
.tableActions,
.ticketToolsLine,
.dashboardToolsLine {
  gap: 8px;
  row-gap: 8px;
}

.btn,
.iconBtn,
a.btn,
.navItem,
.sidebarFooter .navItem,
.menuAction,
.historyToggleChip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  background:
    var(--button-fill-dark) padding-box,
    var(--button-border-metal) border-box;
  color: var(--text);
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.18);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.btn:hover,
.iconBtn:hover,
a.btn:hover,
.navItem:hover,
.sidebarFooter .navItem:hover,
.menuAction:hover,
.historyToggleChip:hover {
  transform: translateY(-1px);
}

.btn.primary,
.btnPrimary,
.btn.success {
  background:
    linear-gradient(135deg, rgba(93,176,235,.96), rgba(204,233,255,.92)) padding-box,
    var(--button-border-metal) border-box;
  color: #07111d;
  font-weight: 800;
}

.btn.ghost {
  background:
    linear-gradient(180deg, rgba(15,26,39,.92), rgba(9,16,27,.95)) padding-box,
    var(--button-border-metal) border-box;
}

.btn.warning {
  background:
    linear-gradient(180deg, rgba(66,52,19,.88), rgba(39,29,11,.92)) padding-box,
    var(--button-border-metal) border-box;
}

.btn.danger,
.navItem.danger {
  background:
    linear-gradient(180deg, rgba(59,23,30,.90), rgba(31,12,17,.96)) padding-box,
    linear-gradient(135deg, rgba(255,213,220,.75), rgba(196,145,156,.45) 35%, rgba(174,67,86,.78) 72%, rgba(255,171,186,.88)) border-box;
}

.iconBtn {
  width: 42px;
  height: 42px;
  padding: 0;
}

.fontBtn {
  min-width: 42px;
  padding-inline: 12px;
  text-align: center;
}

.fontResetBtn {
  min-width: 64px;
}

.sizeControl {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border: 1px solid transparent;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(10,19,30,.92), rgba(7,13,22,.96)) padding-box,
    var(--button-border-metal) border-box;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 22px rgba(0,0,0,.16);
}

.sizeControlLabel {
  padding: 0 8px 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}

.sizeControl .btn {
  min-height: 36px;
}

.ticketToolsLine .btn,
.dashboardToolsLine .btn,
.topbarActions .btn,
.topbarActions .sizeControl,
.topbarActions a.btn {
  flex: 0 0 auto;
}

.ticketToolsLine .btn,
.dashboardToolsLine .btn {
  min-width: 0;
}

.navItem {
  justify-content: flex-start;
}

@media (max-width: 760px) {
  input, select, textarea, button, .btn, .iconBtn {
    font-size: 15px;
  }

  .topbarMain h1 {
    font-size: 26px;
  }

  .topbarActions {
    flex-wrap: wrap;
    overflow: visible;
    width: 100%;
  }

  .sizeControl {
    width: 100%;
    justify-content: space-between;
  }

  .sizeControlLabel {
    flex: 1 1 auto;
  }
}


.toggleCheckInline { display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid rgba(224,192,92,.55); border-radius:16px; background:rgba(255,255,255,.02); color:var(--text); min-height:46px; }
.toggleCheckInline input { accent-color:#9ad0ff; }
.barLink { color:inherit; text-decoration:none; border-bottom:1px dashed rgba(224,192,92,.45); }
.barLink:hover { border-bottom-color:rgba(255,255,255,.55); }
.maintenancePanel { min-height:70vh; display:flex; align-items:center; justify-content:center; }
.maintenanceCenter { width:min(560px, 92%); padding:36px 28px; border:1px solid rgba(224,192,92,.36); border-radius:28px; text-align:center; background:rgba(5,12,22,.78); box-shadow:0 20px 60px rgba(0,0,0,.32); }
.maintenanceCenter h2 { margin:0; font-size:clamp(28px, 4vw, 42px); }
[data-collapse-body].hidden { display:none !important; }


.reportExportDock {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.dashboardFilterBar,
.ticketFilterBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.dashboardFilterBarPremium,
.ticketFilterBarPremium {
  margin-bottom: 14px;
}

.reportExportDockInline,
.reportExportDockDashboard {
  justify-content: flex-start;
  align-self: auto;
  min-height: auto;
  margin-bottom: 0;
}

.reportExportDockCompact {
  gap: 8px;
  flex-wrap: nowrap;
}

.exportGoldBtn {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 122px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 15px;
  background:
    linear-gradient(160deg, rgba(4,13,31,.98) 0%, rgba(7,24,52,.99) 50%, rgba(5,15,33,.98) 100%) padding-box,
    linear-gradient(135deg, rgba(255,222,142,.88) 0%, rgba(107,231,255,.95) 20%, rgba(33,132,255,.98) 56%, rgba(255,209,118,.9) 100%) border-box;
  color: #f2fbff !important;
  font-weight: 800;
  letter-spacing: .08em;
  text-shadow: 0 0 14px rgba(102,223,255,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,248,226,.14),
    inset 0 -14px 24px rgba(0,0,0,.34),
    0 12px 26px rgba(1,9,24,.38),
    0 0 0 1px rgba(255,214,128,.08),
    0 0 22px rgba(32,151,255,.16);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.exportGoldBtn::before {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 26%, rgba(255,255,255,0) 62%),
    radial-gradient(circle at 14% 0%, rgba(255,214,120,.14), rgba(255,214,120,0) 36%),
    radial-gradient(circle at 70% 0%, rgba(73,223,255,.18), rgba(73,223,255,0) 46%);
  pointer-events: none;
  z-index: -1;
}

.exportGoldBtn::after {
  content: '';
  position: absolute;
  top: -60%;
  left: -26%;
  width: 42%;
  height: 220%;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(190,244,255,.26), rgba(255,224,145,.18), rgba(255,255,255,0));
  transform: rotate(18deg);
  opacity: .68;
  pointer-events: none;
}

.exportGoldBtn:hover {
  transform: translateY(-2px);
}

.exportGoldBtn:hover::after {
  animation: exportBlueSweep .9s ease;
}

.exportGoldBtn:active {
  transform: translateY(0) scale(.985);
}

.exportGoldBtnCompact {
  min-width: 108px;
  min-height: 42px;
  padding-inline: 14px;
  border-radius: 14px;
  font-size: 13px;
  letter-spacing: .07em;
}

@keyframes exportBlueSweep {
  0% { left: -26%; opacity: 0; }
  18% { opacity: .75; }
  100% { left: 118%; opacity: 0; }
}

@media (max-width: 1200px) {
  .dashboardFilterBar,
  .ticketFilterBar {
    align-items: flex-start;
  }

  .reportExportDockCompact {
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  .reportExportDock,
  .reportExportDockInline,
  .reportExportDockDashboard,
  .reportExportDockCompact {
    justify-content: stretch;
    width: 100%;
  }

  .exportGoldBtn,
  .exportGoldBtnCompact {
    flex: 1 1 calc(50% - 8px);
    min-width: 0;
  }
}

/* ===== Ajustes CRM1 Abril ===== */
body[data-ui-theme="blue"] {
  --bg: #06101b;
  --panel: rgba(11, 24, 40, 0.92);
  --panel-2: rgba(15, 32, 52, 0.92);
  --panel-top: rgba(10, 24, 39, 0.95);
  --panel-bottom: rgba(7, 17, 27, 0.98);
  --metric-top: rgba(9, 22, 36, 0.92);
  --metric-bottom: rgba(10, 18, 29, 0.92);
  --sidebar-top: rgba(4, 12, 19, 0.96);
  --sidebar-bottom: rgba(2, 8, 14, 0.98);
  --thead-bg: #0a1a2b;
  --line: rgba(112, 176, 255, 0.18);
  --text: #eff7ff;
  --muted: #93abd0;
  --primary: #45b4ff;
  --primary-2: #78d0ff;
  --success: #2ed18a;
  --warning: #f5c45b;
  --danger: #ff6b81;
}
body[data-ui-theme="green"] {
  --bg: #06150f;
  --panel: rgba(10, 34, 24, 0.92);
  --panel-2: rgba(8, 26, 19, 0.95);
  --panel-top: rgba(12, 38, 26, 0.95);
  --panel-bottom: rgba(6, 20, 14, 0.98);
  --metric-top: rgba(11, 41, 28, 0.90);
  --metric-bottom: rgba(7, 25, 18, 0.95);
  --sidebar-top: rgba(6, 24, 17, 0.98);
  --sidebar-bottom: rgba(3, 13, 9, 0.99);
  --thead-bg: #0e241a;
  --line: rgba(98, 228, 158, 0.18);
  --text: #effff5;
  --muted: #9ed6b2;
  --primary: #4ad88a;
  --primary-2: #85f7b0;
  --success: #7cf1b4;
  --warning: #e6cf6b;
  --danger: #ff8585;
}
body[data-ui-theme="gold"] {
  --bg: #181107;
  --panel: rgba(41, 28, 12, 0.92);
  --panel-2: rgba(28, 18, 7, 0.95);
  --panel-top: rgba(45, 31, 12, 0.95);
  --panel-bottom: rgba(21, 14, 6, 0.98);
  --metric-top: rgba(44, 29, 10, 0.90);
  --metric-bottom: rgba(24, 16, 7, 0.95);
  --sidebar-top: rgba(25, 17, 7, 0.98);
  --sidebar-bottom: rgba(13, 9, 4, 0.99);
  --thead-bg: #2a1a08;
  --line: rgba(240, 197, 92, 0.22);
  --text: #fff8eb;
  --muted: #d9c79e;
  --primary: #f3c654;
  --primary-2: #ffe089;
  --success: #9ff0c0;
  --warning: #ffd86d;
  --danger: #ff8b7f;
}
body[data-ui-theme="red"] {
  --bg: #18070d;
  --panel: rgba(40, 12, 21, 0.92);
  --panel-2: rgba(28, 7, 14, 0.95);
  --panel-top: rgba(44, 12, 24, 0.95);
  --panel-bottom: rgba(20, 6, 11, 0.98);
  --metric-top: rgba(42, 11, 23, 0.90);
  --metric-bottom: rgba(24, 6, 12, 0.95);
  --sidebar-top: rgba(24, 7, 14, 0.98);
  --sidebar-bottom: rgba(12, 3, 7, 0.99);
  --thead-bg: #2a0c15;
  --line: rgba(255, 111, 145, 0.20);
  --text: #fff0f3;
  --muted: #d6a2b0;
  --primary: #ff6b81;
  --primary-2: #ff97aa;
  --success: #82efb1;
  --warning: #f5c45b;
  --danger: #ff6b81;
}
body[data-ui-theme="cyan"] {
  --bg: #04141a;
  --panel: rgba(8, 32, 40, 0.92);
  --panel-2: rgba(6, 22, 28, 0.95);
  --panel-top: rgba(10, 38, 48, 0.95);
  --panel-bottom: rgba(4, 17, 22, 0.98);
  --metric-top: rgba(9, 38, 48, 0.90);
  --metric-bottom: rgba(4, 19, 24, 0.95);
  --sidebar-top: rgba(4, 24, 31, 0.98);
  --sidebar-bottom: rgba(2, 11, 15, 0.99);
  --thead-bg: #0a252d;
  --line: rgba(118, 230, 255, 0.20);
  --text: #effeff;
  --muted: #9ed4df;
  --primary: #37d8ff;
  --primary-2: #87efff;
  --success: #73efc8;
  --warning: #ffd36a;
  --danger: #ff8098;
}
body[data-ui-theme="emerald"] {
  --bg: #05140f;
  --panel: rgba(8, 34, 27, 0.92);
  --panel-2: rgba(6, 24, 18, 0.95);
  --panel-top: rgba(9, 40, 30, 0.95);
  --panel-bottom: rgba(4, 18, 13, 0.98);
  --metric-top: rgba(8, 42, 31, 0.90);
  --metric-bottom: rgba(5, 20, 15, 0.95);
  --sidebar-top: rgba(5, 24, 18, 0.98);
  --sidebar-bottom: rgba(2, 12, 9, 0.99);
  --thead-bg: #0b241c;
  --line: rgba(104, 255, 206, 0.20);
  --text: #effff8;
  --muted: #9fd9c5;
  --primary: #27d89c;
  --primary-2: #7ef5cc;
  --success: #86f7cf;
  --warning: #f2cf67;
  --danger: #ff8f9b;
}
body[data-ui-theme="purple"] {
  --bg: #120718;
  --panel: rgba(28, 12, 42, 0.92);
  --panel-2: rgba(20, 8, 30, 0.95);
  --panel-top: rgba(33, 11, 49, 0.95);
  --panel-bottom: rgba(14, 6, 21, 0.98);
  --metric-top: rgba(31, 11, 47, 0.90);
  --metric-bottom: rgba(15, 6, 24, 0.95);
  --sidebar-top: rgba(18, 7, 28, 0.98);
  --sidebar-bottom: rgba(10, 4, 16, 0.99);
  --thead-bg: #241033;
  --line: rgba(190, 123, 255, 0.20);
  --text: #fbf2ff;
  --muted: #ceb2e3;
  --primary: #b66cff;
  --primary-2: #deacff;
  --success: #7ef0c9;
  --warning: #ffd56f;
  --danger: #ff8fb7;
}
body[data-ui-theme="ruby"] {
  --bg: #17070b;
  --panel: rgba(40, 10, 18, 0.92);
  --panel-2: rgba(27, 7, 12, 0.95);
  --panel-top: rgba(45, 12, 21, 0.95);
  --panel-bottom: rgba(18, 5, 8, 0.98);
  --metric-top: rgba(42, 11, 18, 0.90);
  --metric-bottom: rgba(22, 6, 9, 0.95);
  --sidebar-top: rgba(24, 6, 11, 0.98);
  --sidebar-bottom: rgba(12, 3, 5, 0.99);
  --thead-bg: #2b0c13;
  --line: rgba(255, 110, 128, 0.22);
  --text: #fff1f4;
  --muted: #d7aab6;
  --primary: #ff5f7e;
  --primary-2: #ff9fb0;
  --success: #82efb1;
  --warning: #f8cb66;
  --danger: #ff5f7e;
}
body[data-ui-theme="slate"] {
  --bg: #0a0f16;
  --panel: rgba(19, 26, 38, 0.92);
  --panel-2: rgba(14, 18, 28, 0.95);
  --panel-top: rgba(20, 29, 43, 0.95);
  --panel-bottom: rgba(8, 12, 19, 0.98);
  --metric-top: rgba(18, 27, 39, 0.90);
  --metric-bottom: rgba(10, 14, 21, 0.95);
  --sidebar-top: rgba(10, 16, 24, 0.98);
  --sidebar-bottom: rgba(5, 9, 14, 0.99);
  --thead-bg: #161f2b;
  --line: rgba(147, 173, 203, 0.18);
  --text: #f2f7ff;
  --muted: #9fb0c7;
  --primary: #7ea6d9;
  --primary-2: #b4caea;
  --success: #7fe0b1;
  --warning: #f2ca6a;
  --danger: #ff8f98;
}
body[data-ui-neon="1"] {
  --shadow: 0 0 0 1px rgba(255,255,255,.04), 0 18px 40px rgba(0,0,0,.40), 0 0 28px color-mix(in srgb, var(--primary) 28%, transparent);
}
body[data-ui-neon="1"] .panel,
body[data-ui-neon="1"] .crmDialog,
body[data-ui-neon="1"] .metricCard,
body[data-ui-neon="1"] .btn.primary,
body[data-ui-neon="1"] .navItem.active {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent) inset, 0 0 22px color-mix(in srgb, var(--primary) 16%, transparent), var(--shadow);
}
body[data-ui-neon="1"] .brandLogo,
body[data-ui-neon="1"] .navIconGold,
body[data-ui-neon="1"] .starSealPremium {
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--primary) 35%, transparent));
}
body {
  background: radial-gradient(circle at top, color-mix(in srgb, var(--primary) 36%, #151c26), var(--bg) 46%, #040b12 100%);
}
.btn.primary, .btnPrimary, .btn.success { background: linear-gradient(135deg, var(--primary), var(--primary-2)); }
.navItem:hover, .navItem.active { border-color: color-mix(in srgb, var(--primary) 24%, transparent); }
.ticketToolsLine .btn,
.dashboardToolsLine .btn,
.topbarActions .btn,
.topbarActions a.btn,
.toggleCheckInline,
.sizeControl,
.squareBtn { min-height: 48px; }
.toggleCheckInline.activeGold { background: rgba(255,213,92,.14); border-color: rgba(255,213,92,.72); color: #fff2bc; box-shadow: 0 0 18px rgba(255, 213, 92, .12); }
.inlineFieldRowTriple { grid-template-columns: minmax(0,1fr) auto auto; align-items: stretch; }
.inlineFieldRowTriple select { min-width: 0; }
.squareBtn { min-width: 48px; width: 48px; padding-inline: 0; justify-content: center; }
.tmpCell { display:inline-flex; align-items:center; justify-content:center; min-width:42px; padding:8px 10px; border-radius:12px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); }
.metricsPriorityGrid { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.metricsPriorityGrid .metricCard { padding: 14px 15px; border-radius: 20px; min-height: 122px; }
.metricsPriorityGrid .metricCard strong { font-size: clamp(20px, 1.55vw, 25px); line-height: 1.08; letter-spacing: -0.03em; }
.metricsPriorityGridUser { grid-template-columns: repeat(4, minmax(0,1fr)); }
.metricsPriorityGridAdmin { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; }
.metricsPriorityGridAdmin .metricCard { min-width: 0; padding: 12px 12px; min-height: 108px; }
.metricsPriorityGridAdmin .metricCard span { font-size: 11px; line-height: 1.08; overflow-wrap: anywhere; }
.metricsPriorityGridAdmin .metricCard strong { font-size: clamp(14px, 1.18vw, 21px); line-height: 1.02; white-space: nowrap; }
.metricCardAdminFinance .metricValuePositive { color: #74f8a6; font-weight: 900; text-shadow: 0 0 18px rgba(116,248,166,.16); }
.metricsPriorityGrid .metricCard span { font-size: 12px; line-height: 1.15; }
.metricsPriorityGrid .metricCard small { font-size: 11px; line-height: 1.2; }
.metricsSecondaryGrid { grid-template-columns: repeat(6, minmax(0,1fr)); }
.osCustoGlobalBtn { border-color: rgba(229,188,86,.42); color: #fff3bf; background: linear-gradient(180deg, rgba(229,188,86,.13), rgba(255,255,255,.035)); }
.metricCard small { opacity: 0; max-height: 0; overflow: hidden; transition: .18s ease; }
.metricCard:hover small, .metricCard.active small { max-height: 64px; margin-top: 8px; }
.metricCard span { font-size: 13px; }
.themeSettingsBox { display:grid; gap:16px; }
.uiThemePalette { grid-template-columns: repeat(4, minmax(0,1fr)); align-items:stretch; }
.themeSwatch-red-ui { background: linear-gradient(90deg, rgba(255,107,129,.92), rgba(255,168,180,.44)); }
.themeNeonToggle { width: fit-content; }
.starSeal { cursor: pointer; }
#editPrestadorBtn[disabled] { opacity: .45; cursor: not-allowed; }
@media (max-width: 1600px) {
  .metricsPriorityGrid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 1200px) {
  .metricsPriorityGrid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .metricsSecondaryGrid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .metricsPriorityGrid, .metricsSecondaryGrid, .uiThemePalette { grid-template-columns: 1fr; }
  .inlineFieldRowTriple { grid-template-columns: minmax(0,1fr) auto auto; }
}


.rowTheme-peach td { background: rgba(255, 191, 160, .18); border-color: rgba(255, 220, 201, .28); }
.rowTheme-peach td:not([data-label="STATUS"]),
.rowTheme-peach td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-peach td:not([data-label="STATUS"]) strong { color: #fff6f0; }
.rowTheme-peach td::before { color: rgba(255, 233, 220, .84); }
.rowTheme-rose td { background: rgba(255, 176, 205, .18); border-color: rgba(255, 214, 228, .28); }
.rowTheme-rose td:not([data-label="STATUS"]),
.rowTheme-rose td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-rose td:not([data-label="STATUS"]) strong { color: #fff3f8; }
.rowTheme-rose td::before { color: rgba(255, 230, 240, .84); }
.rowTheme-sand td { background: rgba(242, 218, 173, .18); border-color: rgba(248, 233, 205, .28); }
.rowTheme-sand td:not([data-label="STATUS"]),
.rowTheme-sand td:not([data-label="STATUS"]) .editCellBtn,
.rowTheme-sand td:not([data-label="STATUS"]) strong { color: #fff9ef; }
.rowTheme-sand td::before { color: rgba(255, 243, 219, .84); }
.themeSwatch-peach { background: linear-gradient(90deg, rgba(255,191,160,.92), rgba(255,226,208,.46)); }
.themeSwatch-rose { background: linear-gradient(90deg, rgba(255,176,205,.92), rgba(255,220,234,.46)); }
.themeSwatch-sand { background: linear-gradient(90deg, rgba(242,218,173,.92), rgba(255,241,215,.46)); }
.ticketColorPalette { grid-template-columns: repeat(4, minmax(0,1fr)); }
.ticketColorPalette .themeSwatchBtn { min-height: 120px; }
.ticketColorPalette .themeSwatchColor { width: 100%; }
.ticketPaletteSection { margin-top:14px; }
.ticketPaletteSection h4 { margin:0 0 10px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }

.ticketColorActionBar { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); align-items:center; gap:12px; }
.ticketColorActionBar .btn { width:100%; justify-content:center; }
.ticketColorPresetGrid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-top:8px; }

.ticketColorMegaCell {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  cursor: pointer;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 12px 24px rgba(0,0,0,.18);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, filter .16s ease;
}
.ticketColorMegaCell::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.22), transparent 36%, transparent 64%, rgba(255,255,255,.16));
  opacity: .58;
  pointer-events: none;
}
.ticketColorMegaCell::after {
  content: '';
  position: absolute;
  inset: -24%;
  background: radial-gradient(circle at center, color-mix(in srgb, var(--swatch, #ffffff) 48%, #ffffff) 0%, transparent 62%);
  opacity: 0;
  pointer-events: none;
}
.ticketColorMegaCell:hover {
  transform: translateY(-3px) scale(1.03);
  border-color: rgba(255,255,255,.82);
}
.ticketColorMegaCell.isNeon {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 12px 24px rgba(0,0,0,.22), 0 0 18px color-mix(in srgb, var(--swatch, #ffffff) 28%, transparent);
}
.ticketColorMegaCell.isActive {
  border-color: #ffe07a;
  box-shadow: 0 0 0 2px rgba(255,224,122,.42), 0 0 0 1px rgba(0,0,0,.22) inset, 0 0 24px color-mix(in srgb, var(--swatch, #ffffff) 32%, transparent), 0 18px 36px rgba(0,0,0,.26);
  animation: ticketSwatchGlow 2.2s ease-in-out infinite;
}
.ticketColorMegaCell.isActive::after {
  opacity: .92;
  animation: ticketSwatchAura 2.4s linear infinite;
}
.ticketColorMegaCellText {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 4px;
  width: 100%;
  height: 100%;
  padding: 12px;
  text-shadow: none;
}
.ticketColorMegaCellText small {
  font-size: 10px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--swatch-text, rgba(17,17,17,.75));
  text-shadow: var(--swatch-shadow, none);
}
.ticketColorMegaCellText strong {
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
  color: var(--swatch-text, #111);
  text-shadow: var(--swatch-shadow, none);
}
.darkTextGrid .ticketColorMegaCellText small,
.darkTextGrid .ticketColorMegaCellText strong {
  color: #f5d76a;
  text-shadow: 0 1px 0 #000, 0 0 1px #000;
}
@keyframes ticketSwatchGlow {
  0%, 100% { transform: translateY(-2px) scale(1.02); filter: brightness(1); }
  50% { transform: translateY(-4px) scale(1.045); filter: brightness(1.08); }
}
@keyframes ticketSwatchAura {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.08); }
  100% { transform: rotate(360deg) scale(1); }
}
/* CRM V1453 - regra antiga de cor individual de linha apagada na origem.
   rowThemeCustom/rowSpecialGlow nao pintam mais fundo, letras, sombras nem glow. */
.rowThemeCustom td,
.rowSpecialGlow td,
tr[class*="rowTheme-"] td{
  background-image:none !important;
  text-shadow:none !important;
  animation:none !important;
  filter:none !important;
}

.ticketGlowToggleBtn {
  border-color: rgba(126, 214, 255, .34) !important;
  background: linear-gradient(180deg, rgba(10,26,44,.94), rgba(7,18,30,.98)) !important;
}
.ticketGlowToggleBtn.isActive {
  border-color: rgba(126, 255, 222, .62) !important;
  background: linear-gradient(180deg, rgba(18,62,74,.96), rgba(9,30,40,.98)) !important;
  color: #d9fff4 !important;
  box-shadow: 0 0 0 1px rgba(126,255,222,.2) inset, 0 0 20px rgba(126,255,222,.2);
}
.contractFormPanel[hidden] { display:none !important; }
.contractFormPanel.isVisible { display:block; }
@media (max-width: 1180px) { .ticketColorPresetGrid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media (max-width: 760px) { .ticketColorPresetGrid { grid-template-columns:repeat(4,minmax(0,1fr)); } .ticketColorActionBar { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .ticketColorPresetGrid { grid-template-columns:repeat(3,minmax(0,1fr)); } .ticketColorActionBar { grid-template-columns:1fr; } }
.srOnly { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.metricsBubbleGrid { display:grid; grid-template-columns: repeat(7, minmax(96px, 1fr)); justify-items:center; gap:12px; margin: 0 0 18px; align-items:start; }
.metricBubbleCard { position:relative; display:grid; justify-items:center; align-content:start; gap:8px; text-decoration:none; color:inherit; min-width: 0; }
.metricBubbleBall { width:100px; min-width:100px; height:100px; border-radius:999px; display:flex; align-items:center; justify-content:center; padding:16px; text-align:center; border:1px solid var(--line); background:linear-gradient(180deg, rgba(10,22,36,.96), rgba(6,14,22,.96)); box-shadow:0 18px 34px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.02) inset; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.metricBubbleBall strong { margin:0; font-size: 28px; line-height:1; }
.metricBubbleCaption { display:block; text-align:center; font-size:13px; line-height:1.15; color:var(--muted); max-width:112px; text-transform:none; }
.metricBubbleCard::after {
  content: attr(data-float-label);
  position: absolute;
  left: 50%;
  top: -10px;
  transform: translateX(-50%) translateY(-8px);
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.86);
  color: #fff;
  font-size: 12px;
  letter-spacing: .02em;
  white-space: nowrap;
  box-shadow: 0 12px 22px rgba(0,0,0,.32);
  opacity: 0;
  pointer-events: none;
  transition: opacity .14s ease, transform .14s ease;
  z-index: 10;
}
.metricBubbleCard:hover::after { transform: translateX(-50%) translateY(-18px); }
.metricBubbleCard:hover .metricBubbleBall,
.metricBubbleCard.active .metricBubbleBall { transform: translateY(-2px); }
.metricBubbleCard.danger .metricBubbleBall { border-color: rgba(255,130,148,.35); }
.metricBubbleCard.alert .metricBubbleBall { border-color: rgba(255,213,92,.35); }
.metricBubbleCard.success .metricBubbleBall { border-color: rgba(124,241,180,.35); }
.tableWrap.hasResizableTable { overflow:auto; }
[data-resizable-table] { table-layout: fixed; }
[data-resizable-table] thead th { position: sticky; }
.resizableTh { position: relative; }
.colResizeHandle {
  position: absolute;
  top: 0;
  right: -5px;
  width: 10px;
  height: 100%;
  cursor: col-resize;
  z-index: 5;
}
.colResizeHandle::before {
  content: '';
  position: absolute;
  top: 14%;
  bottom: 14%;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary-2) 32%, transparent);
  opacity: 0;
  transition: .15s ease;
}

.crmColumnHeader { user-select: none; }
.crmColumnHeader.crmSortedAsc,
.crmColumnHeader.crmSortedDesc {
  color: var(--primary-2);
}
.crmColumnHeader.crmSortedAsc::after,
.crmColumnHeader.crmSortedDesc::after {
  display: inline-block;
  margin-left: 6px;
  font-size: 11px;
  opacity: .9;
}
.crmColumnHeader.crmSortedAsc::after { content: '↑'; }
.crmColumnHeader.crmSortedDesc::after { content: '↓'; }
.crmColumnMenu {
  position: fixed;
  left: 12px;
  top: 12px;
  width: min(360px, calc(100vw - 24px));
  padding: 14px;
  border-radius: 20px;
  border: 1px solid rgba(223,190,92,.58);
  background: linear-gradient(180deg, rgba(9,22,36,.99), rgba(7,16,26,.99));
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  z-index: 12150;
}
.crmColumnMenu.open { display: block; }
.crmColumnMenuHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.crmColumnMenuHeader strong {
  font-size: 14px;
  letter-spacing: .06em;
}
.crmColumnMenuClose {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor: pointer;
}
.crmColumnMenuGroup,
.crmColumnMenuActions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.crmColumnMenuActions { margin-top: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.crmColumnMenuBtn {
  border: 1px solid rgba(223,190,92,.42);
  background: linear-gradient(180deg, rgba(14,28,44,.96), rgba(8,17,28,.98));
  color: var(--text);
  min-height: 42px;
  border-radius: 14px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding: 10px 12px;
}
.crmColumnMenuBtn.primary {
  background: linear-gradient(135deg, var(--primary-2), color-mix(in srgb, var(--primary-2) 54%, #b8ffd2));
  color: #06101b;
}
.crmColumnMenuLabel {
  display: block;
  margin: 14px 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  color: var(--muted);
}
.crmColumnMenuInput {
  width: 100%;
  min-height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.03);
  color: var(--text);
  padding: 0 14px;
  font: inherit;
  text-transform: uppercase;
}
.crmColumnMenuOptions {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.crmColumnMenuOptionsTitle {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  color: var(--muted);
  margin-bottom: 10px;
}
.crmColumnToggleList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: 240px;
  overflow: auto;
  padding-right: 4px;
}
.crmColumnToggleItem {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255,255,255,.03);
  font-size: 12px;
  font-weight: 700;
}
.crmColumnToggleItem input {
  width: 16px;
  height: 16px;
  accent-color: var(--primary-2);
}
@media (max-width: 760px) {
  .crmColumnMenuActions,
  .crmColumnMenuGroup,
  .crmColumnToggleList {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1180px) {
  .metricsBubbleGrid { grid-template-columns: repeat(3, minmax(108px, 1fr)); }
}
@media (max-width: 980px) {
  .metricBubbleCard { width: 108px; min-width: 108px; height: 108px; }
  .metricBubbleCard strong { font-size: 28px; }
  .ticketColorPalette { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .metricsBubbleGrid { grid-template-columns: repeat(2, minmax(110px, 1fr)); }
  .metricBubbleBall { width: 104px; min-width: 104px; height: 104px; }
  .metricBubbleCaption { max-width: 104px; }
}

body.isResizingColumns, body.isResizingColumns * { cursor: col-resize !important; user-select: none !important; }

.contractFormPanel { align-items:start; }
.contractCostCell strong { display:block; }
.contractCostCell small { display:block; opacity:.82; margin-top:6px; white-space:pre-line; }

.contractManualForm { align-items:start; }
.contractIntro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.contractIntro p { margin:0; color:var(--muted); }
.contractIntroBadge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,213,92,.35);
  color:#ffe5a1;
  background:rgba(255,213,92,.08);
  font-weight:700;
}
.labelRow { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.fieldPrompt { color:var(--muted); font-size:12px; font-weight:600; }
.contractPaymentCard { display:grid; gap:10px; }
.contractPaymentList { display:grid; gap:10px; }
.contractPaymentRow { display:grid; grid-template-columns: 160px 1fr 52px; gap:10px; align-items:center; }
.contractPaymentRow input { width:100%; }
.contractAddPay { justify-self:flex-start; }
@media (max-width: 760px) {
  .contractIntro { flex-direction:column; align-items:flex-start; }
  .contractPaymentRow { grid-template-columns: 1fr; }
}
.rowCancelled td { opacity:.62; }
.rowCancelled td:first-child { box-shadow: inset 4px 0 0 rgba(255,107,129,.58); }

.contractEditorDialog { width:min(1200px, 96vw); }
.contractEditorDialog .dialogHeader p { margin:6px 0 0; color:var(--muted); }
.contractEditorForm { display:grid; gap:16px; }
.contractEditorToolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.contractScaleTools, .contractExportActions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.contractScaleLabel {
  min-width:72px;
  text-align:center;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  font-weight:700;
}
.contractEditorHint {
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:var(--muted);
}
.contractPaperEditor {
  background:#fff;
  color:#111;
  border-radius:28px;
  padding:32px 34px 36px;
  border:1px solid rgba(255,255,255,.08);
  max-height:min(74vh, 980px);
  overflow:auto;
  box-shadow:0 18px 44px rgba(0,0,0,.26);
}
.contractPaperLogoWrap { display:flex; justify-content:center; margin-bottom:16px; }
.contractPaperLogo { width:calc(220px * (var(--contract-logo-scale, 100) / 100)); max-width:100%; height:auto; }
.contractPaperEditor h2 { margin:0 0 18px; text-align:center; font-size:22px; font-weight:800; letter-spacing:.02em; }
.contractPaperEditor h3 { margin:18px 0 8px; font-size:16px; font-weight:800; }
.contractPaperEditor p { margin:0 0 10px; line-height:1.6; color:#111; }
.contractInlineField,
.contractInlineTextarea,
.contractBlockField,
.contractDateField {
  font:inherit;
  color:#111;
  background:#fff9cc;
  border:1px dashed #b98700;
  border-radius:10px;
  padding:8px 10px;
  outline:none;
}
.contractInlineField { min-width:220px; display:inline-flex; vertical-align:middle; }
.contractWideField { min-width:min(520px, 100%); }
.contractInlineTextarea { display:inline-flex; vertical-align:middle; resize:vertical; min-width:280px; width:min(100%, 480px); }
.contractBlockField { width:100%; resize:vertical; }
.contractDateField { min-width:180px; }
.contractSignatureDateLine { margin-top:28px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.contractSignatureGridEditor { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:28px; }
.contractSignatureBox { display:grid; gap:8px; align-content:start; }
.contractSignatureBox strong { font-size:14px; }
.menuAction.dangerText { color:#ff9ea7; }
@media (max-width: 920px) {
  .contractSignatureGridEditor { grid-template-columns:1fr; }
  .contractPaperEditor { padding:22px 18px 24px; }
  .contractInlineField, .contractInlineTextarea, .contractWideField { min-width:100%; width:100%; display:block; margin:6px 0; }
}


/* Light ticket color rows */
.rowTheme-blue td, .rowTheme-sky td, .rowTheme-cyan td, .rowTheme-mint td, .rowTheme-green td, .rowTheme-lime td, .rowTheme-purple td, .rowTheme-lilac td, .rowTheme-gold td, .rowTheme-peach td, .rowTheme-rose td, .rowTheme-sand td {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.rowTheme-blue td { background: rgba(188, 227, 255, .88); border-color: rgba(106, 161, 214, .52); }
.rowTheme-sky td { background: rgba(205, 236, 255, .9); border-color: rgba(120, 171, 209, .48); }
.rowTheme-cyan td { background: rgba(192, 246, 255, .88); border-color: rgba(110, 184, 196, .48); }
.rowTheme-mint td { background: rgba(198, 255, 237, .88); border-color: rgba(106, 178, 157, .48); }
.rowTheme-green td { background: rgba(206, 248, 210, .88); border-color: rgba(110, 172, 116, .48); }
.rowTheme-lime td { background: rgba(234, 255, 193, .9); border-color: rgba(162, 184, 98, .5); }
.rowTheme-purple td { background: rgba(226, 210, 255, .88); border-color: rgba(143, 120, 186, .48); }
.rowTheme-lilac td { background: rgba(241, 220, 255, .9); border-color: rgba(170, 132, 194, .48); }
.rowTheme-gold td { background: rgba(255, 241, 193, .92); border-color: rgba(188, 154, 83, .52); }
.rowTheme-peach td { background: rgba(255, 225, 205, .9); border-color: rgba(202, 138, 104, .48); }
.rowTheme-rose td { background: rgba(255, 220, 232, .9); border-color: rgba(201, 131, 157, .48); }
.rowTheme-sand td { background: rgba(248, 233, 205, .92); border-color: rgba(188, 160, 110, .5); }
.rowTheme-blue td:not([data-label="AÇÕES"]),
.rowTheme-blue td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-blue td:not([data-label="AÇÕES"]) strong,
.rowTheme-sky td:not([data-label="AÇÕES"]),
.rowTheme-sky td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-sky td:not([data-label="AÇÕES"]) strong,
.rowTheme-cyan td:not([data-label="AÇÕES"]),
.rowTheme-cyan td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-cyan td:not([data-label="AÇÕES"]) strong,
.rowTheme-mint td:not([data-label="AÇÕES"]),
.rowTheme-mint td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-mint td:not([data-label="AÇÕES"]) strong,
.rowTheme-green td:not([data-label="AÇÕES"]),
.rowTheme-green td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-green td:not([data-label="AÇÕES"]) strong,
.rowTheme-lime td:not([data-label="AÇÕES"]),
.rowTheme-lime td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-lime td:not([data-label="AÇÕES"]) strong,
.rowTheme-purple td:not([data-label="AÇÕES"]),
.rowTheme-purple td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-purple td:not([data-label="AÇÕES"]) strong,
.rowTheme-lilac td:not([data-label="AÇÕES"]),
.rowTheme-lilac td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-lilac td:not([data-label="AÇÕES"]) strong,
.rowTheme-gold td:not([data-label="AÇÕES"]),
.rowTheme-gold td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-gold td:not([data-label="AÇÕES"]) strong,
.rowTheme-peach td:not([data-label="AÇÕES"]),
.rowTheme-peach td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-peach td:not([data-label="AÇÕES"]) strong,
.rowTheme-rose td:not([data-label="AÇÕES"]),
.rowTheme-rose td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-rose td:not([data-label="AÇÕES"]) strong,
.rowTheme-sand td:not([data-label="AÇÕES"]),
.rowTheme-sand td:not([data-label="AÇÕES"]) .editCellBtn,
.rowTheme-sand td:not([data-label="AÇÕES"]) strong {
  color: #12202c !important;
}
.rowTheme-blue td::before, .rowTheme-sky td::before, .rowTheme-cyan td::before, .rowTheme-mint td::before, .rowTheme-green td::before, .rowTheme-lime td::before, .rowTheme-purple td::before, .rowTheme-lilac td::before, .rowTheme-gold td::before, .rowTheme-peach td::before, .rowTheme-rose td::before, .rowTheme-sand td::before {
  color: rgba(17, 28, 39, .72);
}


#globalActionsMenu{
  overflow:hidden !important;
  max-height:none !important;
  min-width:132px;
}
#globalActionsMenu .menuAction{
  border:1px solid rgba(223,190,92,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.18);
}
.ticketTableWrap,
.dashboardTableWrap{scrollbar-width:none;-ms-overflow-style:none;}
.ticketTableWrap::-webkit-scrollbar,
.dashboardTableWrap::-webkit-scrollbar{height:0;width:0;display:none;}
.ticketDataTable .colIndex,
.ticketDataTable td.colIndex{width:46px;min-width:46px;max-width:46px;text-align:center;}
.ticketDataTable .colTicket,
.ticketDataTable td.colTicket{width:82px;min-width:82px;max-width:82px;}
.ticketDataTable td.colTicket .editCellBtn,
.ticketDataTable td.colIndex .rowIndexCell{display:inline-flex;justify-content:center;width:100%;}
.ticketDataTable td.colTicket .editCellBtn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dashboardTableWrap{overflow-x:auto;overflow-y:visible;}
.dashboardDataTable{min-width:1340px;table-layout:auto;}
.dashboardDataTable th:nth-child(5),
.dashboardDataTable td:nth-child(5){min-width:220px;width:220px;}
.dashboardDataTable th:nth-child(6),
.dashboardDataTable td:nth-child(6){min-width:140px;width:140px;}
.dashboardDataTable th:nth-child(7),
.dashboardDataTable td:nth-child(7){min-width:150px;width:150px;}
.dashboardDataTable td{word-break:normal;overflow-wrap:anywhere;}
.dashboardDataTable .editCellBtn.multiline{white-space:normal;line-height:1.35;text-align:left;}
.rowIndexCell{font-weight:800;opacity:.92;}
.contractNativeDropdown .contractMenuAction{
  min-height:26px;
  padding:6px 8px;
  font-size:11px;
  border-radius:10px;
}
.contractNativeDropdown .contractMenuForm + .contractMenuForm{margin-top:3px;}
.actionsMenuWrap.hasSeal .iconBtn{min-width:36px;width:36px;min-height:36px;height:36px;}

.goldBtn, .accessGoldBtn {
  border-color: rgba(229, 188, 86, .62) !important;
  background: linear-gradient(180deg, rgba(78,56,10,.96), rgba(46,31,4,.98)) !important;
  color: #ffe7a1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.16), 0 0 0 1px rgba(229,188,86,.12);
  font-weight: 800;
}
.goldBtn:hover, .accessGoldBtn:hover {
  border-color: rgba(243, 204, 112, .92) !important;
}

.menuAction.cancelBtn {
  border: 1px solid rgba(255, 145, 145, .58) !important;
  background: linear-gradient(180deg, rgba(104,24,32,.96), rgba(62,11,20,.98)) !important;
  color: #ffd3da !important;
}
.menuAction.cancelBtn:hover {
  border-color: rgba(255, 174, 174, .82) !important;
}
.menuAction.deleteBtn {
  border: 1px solid rgba(255, 178, 178, .66) !important;
  background: linear-gradient(180deg, rgba(165,66,78,.96), rgba(115,34,45,.98)) !important;
  color: #fff0f1 !important;
}
.menuAction.deleteBtn:hover {
  border-color: rgba(255, 205, 205, .88) !important;
}

.contractOverlay{position:fixed;inset:0;z-index:1800;background:rgba(3,9,16,.74);backdrop-filter:blur(8px);padding:20px;overflow:auto;}
.contractOverlayCard{max-width:min(1120px,94vw);margin:0 auto;background:linear-gradient(180deg, rgba(9,22,35,.98), rgba(5,11,19,.99));border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);}
.contractPayRowsWrap{display:grid;gap:14px;}
.contractPayRow{display:grid;grid-template-columns:minmax(220px,1.25fr) repeat(6,minmax(0,1fr)) auto;gap:12px;align-items:end;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:20px;background:rgba(255,255,255,.03);}
.contractPayRow .fieldLabel{margin:0;}
.contractPayRow .fieldLabel small{display:block;}
@media (max-width: 980px){.contractPayRow{grid-template-columns:1fr 1fr;}.contractPayRow > .iconBtn{justify-self:end;}}
@media (max-width: 620px){.contractPayRow{grid-template-columns:1fr;}}

.topbarTitleWrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.mobileSidebarBtn,
.sidebarBackdrop {
  display: none;
}

.ticketSealGreen {
  color: #8ff0ba;
  border-color: rgba(40, 199, 111, .7);
  background: rgba(40, 199, 111, .18);
  box-shadow: 0 0 0 1px rgba(40, 199, 111, .18) inset;
}

.paymentSeal {
  cursor: pointer;
}

.paymentSeal-paid {
  color: #8ff0ba;
  border-color: rgba(40, 199, 111, .72);
  background: rgba(40, 199, 111, .20);
  box-shadow: 0 0 0 1px rgba(40, 199, 111, .18) inset;
}

.paymentSeal-partial {
  color: #ffd67e;
  border-color: rgba(245, 196, 91, .70);
  background: rgba(245, 196, 91, .18);
  box-shadow: 0 0 0 1px rgba(245, 196, 91, .18) inset;
}

.paymentSeal-unpaid {
  color: #7cf1b4;
  border-color: rgba(124,241,180,.48);
  background: rgba(124,241,180,.10);
  box-shadow: 0 0 0 1px rgba(124,241,180,.10) inset;
}

.paymentChecklistWrap {
  margin-top: 18px;
  display: grid;
  gap: 14px;
}

.paymentChecklistTotals {
  margin-bottom: 0;
}

.paymentChecklistList {
  display: grid;
  gap: 10px;
}

.paymentChecklistRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(255,255,255,.03);
}

.paymentChecklistRow.isPaid {
  border-color: rgba(40, 199, 111, .24);
  background: rgba(40, 199, 111, .08);
}

.paymentChecklistRow.isPending {
  border-color: rgba(245, 196, 91, .18);
}

.paymentChecklistMain {
  min-width: 0;
}

.paymentChecklistMain strong {
  display: block;
  margin-bottom: 4px;
}

.paymentChecklistMeta,
.paymentChecklistNote {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.paymentChecklistNote {
  margin-top: 6px;
}

.paymentChecklistAction {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.paymentChecklistPayBtn {
  min-width: 72px;
}

.paymentChecklistEmpty {
  border: 1px dashed rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.02);
}

.paymentStateChip {
  position: relative;
}

.paymentStateChip.paymentState-partial {
  background: rgba(245, 196, 91, .18);
  border-color: rgba(245, 196, 91, .70);
  color: #ffd67e;
  box-shadow: 0 0 0 1px rgba(245, 196, 91, .16) inset;
}

.paymentStateChip.paymentState-paid {
  background: rgba(40, 199, 111, .18);
  border-color: rgba(40, 199, 111, .70);
  color: #8ff0ba;
  box-shadow: 0 0 0 1px rgba(40, 199, 111, .18) inset;
}

.paymentStateChip.paymentState-unpaid {
  color: var(--text);
}

.paymentStateChip:disabled {
  opacity: 1;
  cursor: default;
}

.chipSubLabel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 4px;
  font-size: 10px;
  letter-spacing: .06em;
}

@media (max-width: 760px) {
  body {
    padding-bottom: 0;
  }

  body.mobile-sidebar-open {
    overflow: hidden;
  }

  .mobileSidebarBtn {
    display: inline-flex;
  }

  .sidebarBackdrop {
    display: block;
    position: fixed;
    inset: 0;
    border: 0;
    padding: 0;
    background: rgba(3, 9, 16, .6);
    backdrop-filter: blur(3px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
    z-index: 88;
  }

  body.mobile-sidebar-open .sidebarBackdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .sidebar {
    left: 0;
    top: 0;
    right: auto;
    bottom: 0;
    width: min(86vw, 320px);
    height: 100vh;
    padding: 18px;
    border-top: 0;
    border-right: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, var(--sidebar-top), var(--sidebar-bottom));
    transform: translateX(-106%);
    transition: transform .22s ease;
    gap: 24px;
  }

  body.mobile-sidebar-open .sidebar {
    transform: translateX(0);
  }

  .brandRow {
    display: flex !important;
  }

  .sidebarFooter .miniUser,
  .sidebar .brandText,
  .sidebar .navLabel {
    display: block !important;
  }

  .navMenu {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: unset;
    gap: 12px;
    margin-top: 20px;
    overflow: visible;
  }

  .navItem,
  .sidebarFooter .navItem {
    min-height: 52px;
    width: 100%;
    justify-content: flex-start;
    padding: 12px 14px;
  }

  .navIcon {
    width: 26px;
    font-size: 18px;
  }

  .sidebarFooter {
    display: grid;
    gap: 14px;
    overflow: visible;
  }

  .sidebarFooter .navItem.danger {
    min-width: 0;
  }

  .mainContent {
    padding: 16px;
  }

  .paymentChecklistRow {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .paymentChecklistAction {
    justify-content: stretch;
  }

  .paymentChecklistAction .btn,
  .paymentChecklistAction .miniBadge {
    width: 100%;
    justify-content: center;
  }

  #ticketChecklistDialog,
  #ticketChecklistDialog[open],
  #ticketChecklistDialog.forceOpen,
  #ticketChecklistDialog.isManualOpen,
  #ticketDialog[open],
  #ticketDialog.forceOpen,
  #ticketDialog.isManualOpen,
  #ticketDialog.dialogTopLock {
    top: max(10px, env(safe-area-inset-top));
    max-height: calc(100vh - 20px);
    width: min(100vw - 10px, 1180px);
    border-radius: 22px;
  }
  #ticketDialog > .dialogForm,
  #ticketDialog > #ticketHistorySection {
    max-height: calc(100vh - 108px);
  }
  #ticketDialog > #ticketHistorySection {
    margin: 0 10px 10px;
  }
  
  #ticketChecklistDialog.dialogTopLock {
    width: min(96vw, 1080px);
    top: max(10px, env(safe-area-inset-top));
    max-height: calc(100vh - 20px);
  }

  #ticketChecklistDialog .dialogHeader {
    padding: 18px 18px 10px;
  }

  #ticketChecklistDialog .dialogForm {
    padding: 8px 18px 18px;
    max-height: calc(100vh - 132px);
  }
}


body.workspace-embed{height:100vh;overflow:hidden;background:radial-gradient(circle at top, color-mix(in srgb, var(--primary) 36%, #151c26), var(--bg) 46%, #040b12 100%)}
.workspace-embed .appShell{display:block}
.workspace-embed .mainContent{height:100vh;overflow:auto;padding:6px 10px 10px;scrollbar-gutter:stable both-edges}
.workspace-embed .topbarMain{margin-bottom:8px;position:sticky;top:0;z-index:5;padding:0 0 2px;background:linear-gradient(180deg,rgba(6,16,27,.96),rgba(6,16,27,.84),rgba(6,16,27,0))}
.workspace-embed .topbarMain h1{font-size:26px}
.workspace-embed .topbarActions{position:sticky;top:0}
.workspace-embed .workspaceEmbedTopbar{backdrop-filter:blur(8px)}

.workspace-embed .footerBar{display:none}
.workspace-embed .panel:last-of-type,.workspace-embed .budgetSettingsPage,.workspace-embed .budgetListWrap,.workspace-embed .ticketTableWrap{min-height:calc(100vh - 250px)}
.workspace-embed .budgetHero{margin-bottom:12px}
.workspace-embed .sectionHeader.compactHeader{margin-bottom:8px}
body.workspace-host-mode, body.workspace-host-mode .appShell{height:100vh;overflow:hidden}
body.workspace-host-mode .sidebar{overflow:auto}
body.workspace-host-mode .mainContent{height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:6px 16px 10px}
body.workspace-host-mode .workspaceShell{flex:1;min-height:0;display:grid;gap:6px;align-content:start}
body.workspace-host-mode .workspaceTabsBar{position:sticky;top:0;z-index:40;padding:0;margin:0}
body.workspace-host-mode .workspacePaneHost{flex:1;min-height:0;height:100%}
body.workspace-host-mode .workspacePane{min-height:0;height:100%;overflow:hidden}
body.workspace-host-mode .workspacePane.isActive{display:block}
body.workspace-host-mode .currentWorkspacePane{overflow:auto}
body.workspace-host-mode .currentWorkspacePane > .topbarMain:first-child{margin:0 0 8px;align-items:flex-start}
body.workspace-host-mode .workspaceFrame{height:100%;min-height:0;display:block}
.workspaceShell{display:grid;gap:6px}
.workspaceTabsBar{display:flex;gap:8px;align-items:center;overflow:auto;padding-bottom:0;scrollbar-width:thin}
.workspaceTab{display:inline-flex;align-items:center;gap:10px;max-width:260px;padding:8px 12px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-top),var(--panel-bottom));color:var(--text);box-shadow:var(--shadow);cursor:pointer;white-space:nowrap}
.workspaceTab.isActive{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#07111d;font-weight:800}
.workspaceTabLabel{overflow:hidden;text-overflow:ellipsis}
.workspaceTabClose{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.12);font-size:16px;line-height:1}
.workspaceTab.isActive .workspaceTabClose{background:rgba(7,17,29,.18)}
.workspaceTab{cursor:grab;user-select:none}.workspaceTab:active{cursor:grabbing}.workspaceTab.isDragging{opacity:.45;transform:scale(.98)}
.workspacePaneHost{position:relative;min-height:calc(100vh - 110px)}
.workspacePane{display:none;min-height:calc(100vh - 110px)}
.workspacePane.isActive{display:block}
.workspaceFrame{width:100%;min-height:calc(100vh - 110px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--panel-top),var(--panel-bottom));box-shadow:var(--shadow)}
.currentWorkspacePane{min-height:calc(100vh - 150px)}
@media (max-width: 760px){
  .workspaceTabsBar{gap:8px}
  .workspaceTab{max-width:220px;padding:9px 12px}
  body.workspace-host-mode .mainContent{padding:6px 10px 10px}
  .workspacePaneHost,.workspacePane,.workspaceFrame,.currentWorkspacePane{min-height:calc(100vh - 96px)}
  .workspace-embed .mainContent{padding:6px 8px 10px}
}


/* V39 workspace full-height tuning */
body.workspace-host-mode .mainContent{
  padding:4px 12px 6px;
}
body.workspace-host-mode .workspaceShell{
  grid-template-rows:auto 1fr;
  gap:4px;
  min-height:0;
  height:100%;
}
body.workspace-host-mode .workspaceTabsBar{
  min-height:42px;
  padding:0;
  margin:0 0 2px;
}
body.workspace-host-mode .workspacePaneHost{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
}
body.workspace-host-mode .workspacePane,
body.workspace-host-mode .workspaceFrame,
body.workspace-host-mode .currentWorkspacePane{
  height:100%;
  min-height:calc(100vh - 64px);
}
body.workspace-host-mode .currentWorkspacePane{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  overflow:auto;
}
body.workspace-host-mode .currentWorkspacePane > .topbarMain:first-child{
  position:sticky;
  top:0;
  z-index:20;
  margin:0 0 6px;
  padding:0 0 2px;
  background:linear-gradient(180deg,rgba(6,16,27,.96),rgba(6,16,27,.84),rgba(6,16,27,0));
}
.workspace-embed .mainContent{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  height:100vh;
  overflow:auto;
  padding:4px 8px 8px;
}
.workspace-embed .mainContent > .topbarMain:first-child{
  margin:0 0 6px;
}
.workspace-embed .mainContent > .panel,
.workspace-embed .mainContent > section,
.workspace-embed .mainContent > .budgetSettingsPage,
.workspace-embed .mainContent > .budgetListWrap,
.workspace-embed .mainContent > .ticketTableWrap{
  width:100%;
}
.workspace-embed .panel:last-of-type,
.workspace-embed .budgetSettingsPage,
.workspace-embed .budgetListWrap,
.workspace-embed .ticketTableWrap,
.workspace-embed .dashboardTableWrap{
  flex:1 0 auto;
  min-height:calc(100vh - 150px);
}
.workspace-embed .footerBar,
body.workspace-host-mode .footerBar{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.workspacePaneHost,
.workspacePane,
.workspaceFrame,
.currentWorkspacePane{
  min-height:calc(100vh - 64px);
}
.gridTwo{
  align-items:stretch;
}
.gridTwo > .panel{
  min-height:clamp(260px, 34vh, 420px);
}
.gridTwo + .panel{
  min-height:clamp(220px, 28vh, 360px);
}
.budgetPanel,
.budgetSettingsPage,
.budgetListWrap,
.ticketTableWrap,
.dashboardTableWrap{
  min-height:calc(100vh - 180px);
}
.budgetSettingsPage{
  display:flex;
  flex-direction:column;
}
.budgetSectionPageShell{
  flex:1 1 auto;
  min-height:0;
}
@media (max-width:760px){
  body.workspace-host-mode .mainContent{padding:4px 8px 6px;}
  body.workspace-host-mode .workspaceTabsBar{margin-bottom:2px;}
  .workspacePaneHost,.workspacePane,.workspaceFrame,.currentWorkspacePane,
  .workspace-embed .panel:last-of-type,.workspace-embed .budgetSettingsPage,.workspace-embed .budgetListWrap,.workspace-embed .ticketTableWrap,.workspace-embed .dashboardTableWrap,
  .budgetPanel,.budgetSettingsPage,.budgetListWrap,.ticketTableWrap,.dashboardTableWrap{min-height:calc(100vh - 112px);}
}


/* V40 cleanup */
body.workspace-host-mode .topbarActionsCompact:empty{display:none}
body.workspace-host-mode .currentWorkspacePane > .topbarMain:first-child{margin-bottom:4px}
.workspace-embed .topbarActionsCompact:empty{display:none}


/* CRM v72 - logos alternáveis e usuários em Configurações */
.brandLogoSwitch{
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  display:inline-grid;
  place-items:center;
  border-radius:20px;
  cursor:pointer;
}
.brandLogoSwitch:focus-visible{
  outline:2px solid var(--primary-2);
  outline-offset:4px;
}
.brandLogo{
  object-fit:contain;
  background:rgba(255,255,255,.04);
}
.crmLogoForm .fieldLabel small{
  color:var(--muted);
  font-size:12px;
}
.crmLogoPreviewCard{
  min-height:136px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.035);
  display:grid;
  place-items:center;
  gap:10px;
  padding:16px;
  text-align:center;
}
.crmLogoPreviewCard span{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.crmLogoPreviewCard img{
  max-width:min(260px, 100%);
  max-height:92px;
  object-fit:contain;
}
.crmLogoPreviewCard strong{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.crmUserEditor{
  margin-bottom:18px;
}
.crmUserActions{
  align-items:end;
  justify-content:flex-start;
}
.crmUserCards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.crmUserCard{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 8%, rgba(255,255,255,.04)), rgba(255,255,255,.025));
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}
.crmUserCard:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb, var(--primary) 38%, var(--line));
}
.crmUserCard small{
  display:block;
  margin-top:5px;
  color:var(--muted);
}
.crmUserCard .chipWrap{
  justify-content:flex-end;
}
@media (max-width: 1100px){
  .crmUserCards{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 720px){
  .crmUserCards{grid-template-columns:1fr;}
  .crmUserCard{display:grid;}
  .crmUserCard .chipWrap{justify-content:flex-start;}
}

/* CRM v73 - abas persistentes */
.workspaceTabFixed .workspaceTabLabel::before{content:'📌';margin-right:6px}
.workspaceTabFixed{cursor:pointer}

/* CRM v73 - atalhos internos da Execução */
.ticketQuickNav{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;margin-right:2px}
.ticketQuickNav .btn{min-height:38px;padding:8px 12px}

/* CRM v74 - correção: Dashboard fixo não pode bloquear a visualização das outras abas */
body.workspace-host-mode .workspacePane{
  display:none;
}
body.workspace-host-mode .workspacePane.isActive{
  display:block;
}
body.workspace-host-mode .workspacePane.currentWorkspacePane{
  display:none;
}
body.workspace-host-mode .workspacePane.currentWorkspacePane.isActive{
  display:flex;
}


/* CRM v79 - somente a barra de abas fica fixa; conteúdo, cabeçalhos e topo da página rolam normalmente */
body.workspace-host-mode .workspaceTabsBar{
  position: sticky;
  top: 0;
  z-index: 80;
  padding: 4px 0 6px;
  background: linear-gradient(180deg, rgba(8,24,40,.98), rgba(8,24,40,.94), rgba(8,24,40,.78));
  backdrop-filter: blur(10px);
}

body.workspace-host-mode .currentWorkspacePane > .topbarMain:first-child,
.workspace-embed .topbarMain,
.workspace-embed .mainContent > .topbarMain:first-child{
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  background: transparent !important;
  backdrop-filter: none !important;
}

.workspace-embed .topbarActions,
body.workspace-host-mode .topbarActions{
  position: static !important;
  top: auto !important;
}

body.workspace-host-mode thead th,
.workspace-embed thead th{
  position: static !important;
  top: auto !important;
  z-index: auto !important;
}

body.workspace-host-mode .currentWorkspacePane{
  scroll-padding-top: 6px;
}


/* CRM v83 - Orçamento com rolagem única: somente a página rola, sem prender topo/hero/lista */
.workspace-embed .budgetPanel,
body.workspace-host-mode .currentWorkspacePane .budgetPanel{
  min-height:auto !important;
  flex:0 0 auto !important;
}
.workspace-embed .budgetListWrap,
body.workspace-host-mode .currentWorkspacePane .budgetListWrap{
  max-height:none !important;
  min-height:auto !important;
  height:auto !important;
  flex:0 0 auto !important;
  overflow:visible !important;
}
.workspace-embed .mainContent,
body.workspace-host-mode .currentWorkspacePane{
  scroll-padding-top:0 !important;
}
body.workspace-host-mode .workspaceTabsBar{
  position:sticky;
  top:0;
}
body.workspace-host-mode .currentWorkspacePane > .topbarMain:first-child,
.workspace-embed .mainContent > .topbarMain:first-child,
.workspace-embed .topbarMain,
.workspace-embed .topbarActions,
body.workspace-host-mode .topbarActions{
  position:static !important;
  top:auto !important;
}

/* CRM v84 - a barra superior de abas não fica mais presa/fixa, liberando espaço visual no Orçamento */
body.workspace-host-mode .workspaceTabsBar{
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  background: transparent !important;
  backdrop-filter: none !important;
}
body.workspace-host-mode .mainContent{
  padding-top:6px !important;
}
body.workspace-host-mode .currentWorkspacePane > .topbarMain:first-child,
.workspace-embed .mainContent > .topbarMain:first-child,
.workspace-embed .topbarMain,
.workspace-embed .topbarActions,
body.workspace-host-mode .topbarActions{
  position: static !important;
  top: auto !important;
}

/* CRM v87 - identidade UrbanTec */
.brandRow{
  align-items:flex-start;
  gap:12px;
  padding-top:4px;
}
.brandWrap{
  flex:1;
  justify-content:center;
  min-height:118px;
}
.brandLogoSwitch{
  width:168px;
  min-height:108px;
  border-radius:30px;
  background:radial-gradient(circle at center, color-mix(in srgb, var(--primary) 18%, transparent), rgba(255,255,255,.025) 62%, transparent 100%);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 32%, transparent), 0 0 24px color-mix(in srgb, var(--primary) 34%, transparent), 0 0 52px color-mix(in srgb, var(--primary-2) 18%, transparent);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.brandLogoSwitch:hover{
  transform:translateY(-1px) scale(1.015);
}
.brandLogo{
  width:154px;
  height:auto;
  max-height:102px;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  filter:drop-shadow(0 0 16px color-mix(in srgb, var(--primary) 42%, transparent));
}
body.sidebar-collapsed .brandWrap{
  min-height:80px;
}
body.sidebar-collapsed .brandLogoSwitch{
  width:58px;
  min-height:58px;
  border-radius:20px;
}
body.sidebar-collapsed .brandLogo{
  width:54px;
  max-height:54px;
}
.loginBrand .brandLogoLarge{
  width:168px;
  height:auto;
  max-height:122px;
  object-fit:contain;
  filter:drop-shadow(0 0 18px color-mix(in srgb, var(--primary) 42%, transparent));
}
body[data-ui-neon="1"] .brandLogoSwitch{
  box-shadow:0 0 0 1px color-mix(in srgb, var(--primary-2) 56%, transparent), 0 0 30px color-mix(in srgb, var(--primary) 48%, transparent), 0 0 82px color-mix(in srgb, var(--primary-2) 30%, transparent);
}

.ticketServiceCosts { display:grid; gap:12px; }
.ticketServiceCostRow { display:grid; grid-template-columns: minmax(220px,1.5fr) minmax(170px,.7fr) minmax(180px,.55fr); gap:12px; align-items:center; padding:14px; border:1px solid rgba(255,255,255,.07); border-radius:20px; background:rgba(255,255,255,.025); }
.ticketServiceCostInfo strong, .ticketServiceCostMeta strong { display:block; }
.ticketServiceCostInfo small, .ticketServiceCostMeta small { display:block; margin-top:4px; color:var(--muted); }
.ticketServiceCostTotal { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; font-weight:900; letter-spacing:.02em; }
.emptyStateMini { padding:14px; border:1px dashed rgba(142,209,255,.25); border-radius:18px; color:var(--muted); background:rgba(142,209,255,.04); }
@media (max-width:980px){ .ticketServiceCostRow{ grid-template-columns:1fr; } .ticketServiceCostTotal{ justify-content:flex-start; } }

/* CRM v89 - logos com o mesmo enquadramento visual */
.brandLogoSwitch{
  width:168px !important;
  height:108px !important;
  min-height:108px !important;
  overflow:hidden;
}
.brandLogo{
  width:154px !important;
  height:96px !important;
  max-height:96px !important;
  object-fit:contain;
  object-position:center;
}
.brandLogoSwitch[data-current-logo="secondary"] .brandLogo{
  width:164px !important;
  height:100px !important;
  max-height:100px !important;
  object-fit:cover;
  object-position:center;
}
body.sidebar-collapsed .brandLogoSwitch{
  width:58px !important;
  height:58px !important;
  min-height:58px !important;
}
body.sidebar-collapsed .brandLogo{
  width:54px !important;
  height:54px !important;
  max-height:54px !important;
  object-fit:cover;
}

/* CRM v89 - colapsos parciais do dashboard e colapso padrão dos custos */
.gridTwo > .dashboardSeriesSection{
  min-height:auto !important;
  height:auto;
}
.dashboardSeriesSection .barList{
  transition:max-height .18s ease, opacity .18s ease;
}
.dashboardSeriesSection .barList.isPartialCollapsed .barItem:nth-of-type(n+2){
  display:none;
}
.dashboardSeriesSection .barList.isPartialCollapsed{
  max-height:52px;
  overflow:hidden;
}
.dashboardSeriesSection.isCollapsed{
  min-height:auto !important;
}
.dashboardSeriesSection.isCollapsed .sectionHeader{
  margin-bottom:0;
}

.ticketServiceCostRow{
  grid-template-columns:minmax(220px,1.45fr) minmax(170px,.7fr) minmax(180px,.55fr);
}
.cmcReport{max-width:100%;}
.cmcSummaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));}
.cmcTableWrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);}
.cmcTable{width:100%;border-collapse:collapse;min-width:760px;}
.cmcTable th,.cmcTable td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top;text-align:left;}
.cmcTable th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text);background:rgba(142,209,255,.07);}
.cmcTable td small,.cmcTable td em{display:block;margin-top:5px;color:var(--muted);font-style:normal;}
.cmcCalcGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;align-items:end;}
.cmcTaxToggle{min-height:56px;align-self:stretch;}
.cmcTaxPercent input:disabled{opacity:.55;}
.cmcProfitCard{grid-column:span 2;border-color:color-mix(in srgb, var(--primary) 40%, var(--line));box-shadow:0 0 22px color-mix(in srgb, var(--primary) 16%, transparent);}
@media (max-width:1100px){.cmcSummaryGrid,.cmcCalcGrid{grid-template-columns:repeat(2,minmax(0,1fr));}.cmcProfitCard{grid-column:span 2;}}
@media (max-width:720px){.cmcSummaryGrid,.cmcCalcGrid{grid-template-columns:1fr;}.cmcProfitCard{grid-column:auto;}}


/* CRM v90 - logos corrigidas e C.MC inline */
.brandLogoSwitch{
  width:168px !important;
  height:108px !important;
  min-height:108px !important;
  overflow:hidden;
}
.brandLogo,
.brandLogoSwitch[data-current-logo="secondary"] .brandLogo{
  width:154px !important;
  height:96px !important;
  max-height:96px !important;
  object-fit:contain !important;
  object-position:center !important;
}
body.sidebar-collapsed .brandLogoSwitch{
  width:58px !important;
  height:58px !important;
  min-height:58px !important;
}
body.sidebar-collapsed .brandLogo,
body.sidebar-collapsed .brandLogoSwitch[data-current-logo="secondary"] .brandLogo{
  width:54px !important;
  height:54px !important;
  max-height:54px !important;
  object-fit:contain !important;
}
.dashboardSeriesSection .barList:not(.isPartialCollapsed){
  max-height:none;
  overflow:visible;
}
.cmcInlinePanel{
  margin-top:16px;
  border:1px solid color-mix(in srgb, var(--primary) 34%, var(--line));
  border-radius:24px;
  background:linear-gradient(180deg, rgba(9,23,37,.98), rgba(6,14,24,.98));
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
.cmcInlinePanel[hidden]{display:none !important;}
.cmcInlinePanel .sectionHeader{margin-bottom:12px;}
.cmcInlinePanel .cmcReport{padding:16px;}

/* CRM v91 - neon completo, canvas e permissões */
.crmBgCanvas{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  pointer-events:none;
  z-index:-1;
  opacity:.75;
}
body[data-ui-canvas="1"]{
  background:
    radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--primary) 14%, transparent), transparent 34%),
    radial-gradient(circle at 82% 28%, color-mix(in srgb, var(--primary-2) 10%, transparent), transparent 38%),
    var(--bg);
}
body[data-ui-neon="1"] .sidebar{
  box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 28%, transparent), 0 0 32px color-mix(in srgb, var(--primary) 22%, transparent), inset 0 0 24px color-mix(in srgb, var(--primary) 7%, transparent);
}
body[data-ui-neon="1"] .navItem,
body[data-ui-neon="1"] .workspaceTabsBar,
body[data-ui-neon="1"] .panel,
body[data-ui-neon="1"] .budgetPanel{
  box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 18%, transparent), 0 0 24px color-mix(in srgb, var(--primary) 10%, transparent);
}
.themeToggleRow{
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.themeCanvasToggle{
  min-width:260px;
}
.noPermissionBtn{
  cursor:not-allowed;
  opacity:.78;
}
.cmcInlinePanel{
  position:relative;
}
.cmcInlinePanel::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 14%, transparent), transparent 34%, color-mix(in srgb, var(--primary-2) 10%, transparent));
}
.cmcTopCards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px;
}
.cmcTopCards .summaryCard{
  min-height:86px;
}
.cmcInlinePanel .cmcSummaryGrid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.cmcInlinePanel .cmcTable th:nth-child(1){width:24%}
.cmcInlinePanel .cmcTable th:nth-child(2){width:34%}
.cmcProfitCard strong{
  font-size:24px;
}
.accessGoldBtn[data-cmc-toggle]{
  background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 92%, #fff 8%), color-mix(in srgb, var(--primary-2) 72%, #101928 28%));
  color:#03101c;
  border:1px solid color-mix(in srgb, var(--primary-2) 70%, transparent);
  box-shadow:0 0 18px color-mix(in srgb, var(--primary) 24%, transparent);
  font-weight:900;
}
@media (max-width:900px){
  .cmcTopCards,.cmcInlinePanel .cmcSummaryGrid{grid-template-columns:1fr;}
}


/* CRM v107 - ajustes de encaixe do dashboard e compactação da execução */
.appShell{grid-template-columns:290px minmax(0,1fr);}
body.sidebar-collapsed .appShell{grid-template-columns:96px minmax(0,1fr);}
.mainContent{min-width:0;overflow-x:hidden;}
.panel,
.cardsGrid,
.gridTwo,
.dashboardMainFilter,
.dashboardFilterBar,
.ticketFilterBar,
.compactActionsBar,
.compactFields,
.ticketTableWrap,
.dashboardTableWrap{min-width:0;}
.metricsPriorityGridAdmin{gap:10px;}
@media (max-width:1700px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:1600px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:980px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(2,minmax(0,1fr));}
}
.ticketTableWrap{overflow-x:auto;overflow-y:visible;}
.ticketDataTable{width:100%;table-layout:auto;}
.ticketDataTable th,
.ticketDataTable td{padding:9px 6px;vertical-align:middle;}
.ticketDataTable .colIndex,
.ticketDataTable td.colIndex{width:58px;min-width:58px;max-width:58px;text-align:center;}
.ticketDataTable .colTicket,
.ticketDataTable td.colTicket{width:92px;min-width:92px;max-width:92px;}
.ticketDataTable td.colIndex .rowIndexCell{white-space:nowrap;line-height:1;min-width:34px;padding:6px 6px;}
.ticketDataTable td.colTicket .editCellBtn{white-space:nowrap;}
.ticketDataTable td[data-label="OS"],
.ticketDataTable td[data-label="TICKET"],
.ticketDataTable td[data-label="CONSULTOR"],
.ticketDataTable td[data-label="CIDADE"],
.ticketDataTable td[data-label="PRESTADOR"],
.ticketDataTable td[data-label="DATA PREVISTA"],
.ticketDataTable td[data-label="STATUS"]{white-space:nowrap;}
.ticketDataTable td[data-label="DETALHES"] .editCellBtn{line-height:1.15;}


/* CRM v108 - dashboard mais compacto para caber sem cortes */
.mainContent{padding:18px;}
.topbarMain{margin-bottom:14px;}
.metricsPriorityGrid{gap:8px;margin-bottom:10px;}
.metricsPriorityGridAdmin{grid-template-columns:repeat(6,minmax(145px,1fr));gap:8px;}
.metricsPriorityGridAdmin .metricCard{padding:10px 10px;min-height:92px;border-radius:18px;}
.metricsPriorityGridAdmin .metricCard span{font-size:10px;line-height:1.05;}
.metricsPriorityGridAdmin .metricCard strong{font-size:clamp(12px,1.02vw,18px);line-height:1.02;white-space:nowrap;}
.metricsPriorityGridAdmin .metricCard small{font-size:10px;line-height:1.12;}
.metricsBubbleGrid{grid-template-columns:repeat(7,minmax(80px,1fr));gap:8px;margin:0 0 14px;}
.metricBubbleCard{gap:6px;}
.metricBubbleBall{width:86px;min-width:86px;height:86px;padding:12px;}
.metricBubbleBall strong{font-size:24px;}
.metricBubbleCaption{font-size:12px;line-height:1.08;max-width:92px;}
.dashboardMainFilter.panel,
.gridTwo > .dashboardSeriesSection,
#dashboardDetailedSection{padding:18px;}
.sectionHeader{margin-bottom:14px;}
.sectionHeader h2{font-size:18px;}
.compactActionsBar{gap:10px;}
.compactFields{gap:10px;}
@media (max-width:1800px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(5,minmax(140px,1fr));}
}
@media (max-width:1540px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(4,minmax(140px,1fr));}
  .metricsBubbleGrid{grid-template-columns:repeat(4,minmax(80px,1fr));}
}
@media (max-width:1180px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(3,minmax(140px,1fr));}
  .metricsBubbleGrid{grid-template-columns:repeat(3,minmax(82px,1fr));}
}
@media (max-width:860px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(2,minmax(0,1fr));}
  .metricsBubbleGrid{grid-template-columns:repeat(2,minmax(82px,1fr));}
}


/* CRM v109 - dashboard sem estouro lateral */
.appShell{overflow-x:hidden;}
.mainContent{width:100%;max-width:100%;box-sizing:border-box;padding:14px;overflow-x:hidden;}
.mainContent > section,
.mainContent > .panel,
.mainContent > .gridTwo,
.mainContent > .topbarMain{max-width:100%;min-width:0;box-sizing:border-box;}
.metricsPriorityGridAdmin{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:8px;}
.metricsPriorityGridAdmin .metricCard{padding:10px 10px;min-height:86px;}
.metricsPriorityGridAdmin .metricCard span{font-size:10px;}
.metricsPriorityGridAdmin .metricCard strong{font-size:clamp(12px,.95vw,18px);}
.metricsPriorityGridAdmin .metricCard small{font-size:10px;}
.metricsBubbleGrid{grid-template-columns:repeat(4,minmax(76px,1fr)) !important;gap:6px;justify-items:center;}
.metricBubbleBall{width:78px;min-width:78px;height:78px;padding:10px;}
.metricBubbleBall strong{font-size:22px;}
.metricBubbleCaption{max-width:84px;font-size:11px;line-height:1.08;}
@media (max-width:1400px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(3,minmax(76px,1fr)) !important;}
}
@media (max-width:980px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(2,minmax(76px,1fr)) !important;}
}


/* CRM v110 - dashboard/filtros compactos e valor OS ao lado do custo */
.mainContent{padding:10px 12px;}
.topbarMain{margin-bottom:8px;}
.topbarMain h1{font-size:30px;line-height:1.05;}
.metricsPriorityGridAdmin{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:7px;margin-bottom:8px;}
.metricsPriorityGridAdmin .metricCard{min-height:74px;padding:8px 10px;border-radius:16px;}
.metricsPriorityGridAdmin .metricCard span{font-size:9.5px;line-height:1.05;}
.metricsPriorityGridAdmin .metricCard strong{font-size:clamp(12px,.92vw,17px);margin:6px 0 0;}
.metricsPriorityGridAdmin .metricCard small{display:none !important;}
.metricsBubbleGrid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:6px;margin-bottom:10px;}
.metricBubbleBall{width:66px;min-width:66px;height:66px;padding:8px;}
.metricBubbleBall strong{font-size:20px;}
.metricBubbleCaption{font-size:10.5px;max-width:76px;}
.dashboardMainFilter.panel{padding:14px 16px;margin-bottom:12px;}
.dashboardMainFilter .sectionHeader{margin-bottom:8px;}
.dashboardMainFilter .sectionHeader h2{font-size:18px;line-height:1.05;}
.dashboardFilterBarPremium{margin-bottom:8px;gap:8px;align-items:center;}
.dashboardToolsLine{gap:6px;}
.dashboardToolsLine .btn{min-width:auto;min-height:38px;padding:8px 12px;border-radius:13px;font-size:13px;}
.reportExportDockDashboard .exportGoldBtnCompact{min-height:38px;min-width:104px;padding-inline:12px;font-size:12px;}
.dashboardCompactGrid{grid-template-columns:150px 150px 180px minmax(190px,1fr) minmax(190px,260px);gap:8px;}
.dashboardCompactGrid .fieldLabel{font-size:11px;gap:5px;}
.dashboardCompactGrid input,
.dashboardCompactGrid select{min-height:38px;padding:8px 12px;font-size:13px;border-radius:13px;}
.dashboardCostWrap{gap:8px;grid-template-columns:145px minmax(150px,1fr);}
.gridTwo{gap:12px;margin-bottom:12px;}
.gridTwo > .dashboardSeriesSection{padding:14px 16px;}
.gridTwo > .dashboardSeriesSection .sectionHeader h2{font-size:17px;}
.barItem{gap:8px;grid-template-columns:minmax(92px,1fr) 1.6fr auto;}
#dashboardDetailedSection{padding:14px 16px;}
#dashboardDetailedSection .sectionHeader{margin-bottom:8px;}
.valueOsCell{color:#8fffd0;font-weight:900;white-space:nowrap;}
.dashboardDataTable{min-width:1260px;}
.ticketDataTable td[data-label="VALOR OS"],
.ticketDataTable td[data-label="CUSTO"],
.dashboardDataTable td:nth-last-child(4),
.dashboardDataTable td:nth-last-child(3){white-space:nowrap;}
@media (max-width:1500px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .dashboardCompactGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* CRM v111 - dashboard com KPIs e círculos em uma única linha compacta */
.metricsPriorityGridAdmin{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-bottom:10px !important;
}
.metricsPriorityGridAdmin .metricCard{
  min-width:0 !important;
  min-height:70px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
}
.metricsPriorityGridAdmin .metricCard span{
  display:block;
  font-size:9.5px !important;
  line-height:1.05 !important;
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.metricsPriorityGridAdmin .metricCard strong{
  display:block;
  font-size:clamp(13px,1vw,18px) !important;
  line-height:1.04 !important;
  margin:7px 0 0 !important;
  white-space:nowrap !important;
  letter-spacing:-.03em;
}
.metricsPriorityGridAdmin .metricCard small{
  display:none !important;
}
.metricsBubbleGrid{
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 14px !important;
  align-items:center !important;
  justify-items:center !important;
  padding:8px 10px 10px !important;
  border:1px solid rgba(88,255,194,.16);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(1,46,34,.44), rgba(1,18,21,.22));
}
.metricBubbleCard{
  width:100% !important;
  max-width:122px;
  gap:6px !important;
  align-content:center !important;
}
.metricBubbleBall{
  width:64px !important;
  min-width:64px !important;
  height:64px !important;
  padding:8px !important;
}
.metricBubbleBall strong{
  font-size:20px !important;
  line-height:1 !important;
}
.metricBubbleCaption{
  font-size:10.5px !important;
  line-height:1.08 !important;
  max-width:92px !important;
  min-height:24px;
  display:flex !important;
  align-items:flex-start;
  justify-content:center;
}
@media (max-width:1180px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .dashboardCompactGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* CRM v112 - correção final para encaixe em 100% sem corte lateral */
.appShell{
  grid-template-columns:250px minmax(0,1fr) !important;
  overflow-x:hidden !important;
}
body.sidebar-collapsed .appShell{
  grid-template-columns:88px minmax(0,1fr) !important;
}
.sidebar{
  padding:12px 10px !important;
}
.mainContent{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding:8px 9px !important;
  overflow-x:hidden !important;
}
.mainContent > section,
.mainContent > .panel,
.mainContent > .gridTwo,
.mainContent > .topbarMain{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.topbarMain{
  gap:8px !important;
  margin-bottom:6px !important;
}
.topbarMain h1{
  font-size:28px !important;
  line-height:1.02 !important;
}
.sectionHeader{
  gap:10px !important;
}
.metricsPriorityGridAdmin{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:6px !important;
  margin-bottom:8px !important;
}
.metricsPriorityGridAdmin .metricCard{
  min-width:0 !important;
  min-height:66px !important;
  padding:8px 9px !important;
  border-radius:15px !important;
}
.metricsPriorityGridAdmin .metricCard span{
  display:block !important;
  font-size:9px !important;
  line-height:1.02 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.metricsPriorityGridAdmin .metricCard strong{
  display:block !important;
  font-size:clamp(11px,.88vw,16px) !important;
  line-height:1.02 !important;
  margin:5px 0 0 !important;
  white-space:nowrap !important;
  letter-spacing:-.03em !important;
}
.metricsPriorityGridAdmin .metricCard small{display:none !important;}
.metricsBubbleGrid{
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:4px !important;
  margin:0 0 10px !important;
  padding:6px 6px 7px !important;
  align-items:start !important;
  justify-items:center !important;
}
.metricBubbleCard{
  width:100% !important;
  max-width:88px !important;
  min-width:0 !important;
  gap:4px !important;
}
.metricBubbleBall{
  width:56px !important;
  min-width:56px !important;
  height:56px !important;
  padding:6px !important;
}
.metricBubbleBall strong{
  font-size:18px !important;
  line-height:1 !important;
}
.metricBubbleCaption{
  font-size:10px !important;
  line-height:1.04 !important;
  max-width:72px !important;
  min-height:22px !important;
  text-align:center !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
.dashboardMainFilter.panel{
  padding:12px 12px !important;
  margin-bottom:10px !important;
}
.dashboardFilterBarPremium{
  margin-bottom:6px !important;
  gap:6px !important;
}
.dashboardToolsLine{
  gap:6px !important;
  margin-bottom:8px !important;
}
.dashboardToolsLine .btn,
.reportExportDockDashboard .exportGoldBtnCompact{
  min-width:auto !important;
  min-height:34px !important;
  padding:6px 10px !important;
  border-radius:12px !important;
  font-size:12px !important;
}
.dashboardCompactGrid{
  grid-template-columns:110px 110px 140px minmax(140px,1fr) minmax(140px,200px) !important;
  gap:6px !important;
}
.dashboardCompactGrid .fieldLabel{
  font-size:10px !important;
  gap:4px !important;
}
.dashboardCompactGrid input,
.dashboardCompactGrid select{
  min-height:34px !important;
  padding:6px 9px !important;
  font-size:12px !important;
  border-radius:12px !important;
}
.dashboardCostWrap{
  gap:6px !important;
  grid-template-columns:120px minmax(120px,1fr) !important;
}
.dashboardCostRange{
  gap:6px !important;
}
.gridTwo{
  gap:10px !important;
  margin-bottom:10px !important;
}
.gridTwo > .dashboardSeriesSection{
  padding:12px 12px !important;
}
.gridTwo > .dashboardSeriesSection .sectionHeader h2{
  font-size:16px !important;
  line-height:1.04 !important;
}
.barList{
  gap:10px !important;
}
.barItem{
  gap:6px !important;
  grid-template-columns:minmax(72px,.95fr) 1.65fr auto !important;
}
.barLink{
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:11px !important;
}
.barTrack{
  height:10px !important;
}
#dashboardDetailedSection{
  padding:12px 12px !important;
}
@media (max-width:1500px){
  .appShell{grid-template-columns:224px minmax(0,1fr) !important;}
  .metricsPriorityGridAdmin{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .dashboardCompactGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:980px){
  .appShell{grid-template-columns:1fr !important;}
  .metricsPriorityGridAdmin{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .dashboardCompactGrid,
  .dashboardCostWrap,
  .dashboardCostRange,
  .gridTwo{grid-template-columns:1fr !important;}
}


/* CRM v113 - Configurações alinhadas, colapsáveis, KPIs fixos e temas globais */
.configPageShell{
  display:grid !important;
  gap:14px !important;
  align-items:start !important;
}
.configPageShell > .gridTwo{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-bottom:0 !important;
  align-items:start !important;
}
.configPageShell .panel{
  width:100% !important;
  min-width:0 !important;
  padding:16px !important;
  border-radius:22px !important;
  margin-bottom:0 !important;
  overflow:hidden !important;
}
.configSectionHeader{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:12px !important;
  margin-bottom:12px !important;
  padding-bottom:10px !important;
  border-bottom:1px solid color-mix(in srgb, var(--primary) 18%, transparent) !important;
}
.configSectionHeader > div:first-child{min-width:0 !important;}
.configSectionHeader h2,
.configSectionHeader h3{
  margin:0 !important;
  line-height:1.08 !important;
  letter-spacing:-.02em !important;
}
.configSectionHeader p{margin:5px 0 0 !important;}
.configHeaderActions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex:0 0 auto !important;
}
.configHeaderActions form{margin:0 !important;}
.configCollapseBtn{
  width:38px !important;
  min-width:38px !important;
  height:34px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  font-size:20px !important;
  line-height:1 !important;
  border-color:color-mix(in srgb, var(--primary) 42%, transparent) !important;
}
.configSectionBody{
  display:grid !important;
  gap:14px !important;
  min-width:0 !important;
}
.configSectionBody[hidden]{display:none !important;}
.configPageShell .formGrid,
.configPageShell .formGrid.twoCols{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:end !important;
}
.configPageShell .formGrid:not(.twoCols){grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.configPageShell .fieldLabel,
.configPageShell .span2{min-width:0 !important;}
.configPageShell .span2{grid-column:1 / -1 !important;}
.configPageShell input,
.configPageShell select,
.configPageShell textarea{
  min-height:42px !important;
  border-radius:14px !important;
}
.configPageShell .themePaletteGrid,
.configPageShell .uiThemePalette{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}
.configPageShell .themeSwatchBtn{
  min-width:0 !important;
  min-height:84px !important;
  border-color:color-mix(in srgb, var(--primary) 22%, transparent) !important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 8%,rgba(255,255,255,.035)),rgba(255,255,255,.02)) !important;
}
.configPageShell .themeSwatchBtn.isActive{
  border-color:var(--primary-2) !important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--primary-2) 36%,transparent), 0 18px 34px color-mix(in srgb,var(--primary) 16%,transparent) !important;
}
.configPageShell .themeToggleRow,
.configPageShell .dialogActions,
.configPageShell .filtersActions,
.configPageShell .telegramBotActions,
.configPageShell .cashTopControls{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.configPageShell .telegramBotGrid,
.configPageShell .backupHistoryGrid,
.configPageShell .crmUserCards{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
.configPageShell table{min-width:720px !important;}
@media (max-width:1100px){
  .configPageShell > .gridTwo,
  .configPageShell .themePaletteGrid,
  .configPageShell .uiThemePalette,
  .configPageShell .telegramBotGrid,
  .configPageShell .backupHistoryGrid,
  .configPageShell .crmUserCards{grid-template-columns:1fr !important;}
}
@media (max-width:760px){
  .configPageShell .formGrid,
  .configPageShell .formGrid.twoCols,
  .configPageShell .formGrid:not(.twoCols){grid-template-columns:1fr !important;}
  .configSectionHeader{align-items:flex-start !important;}
  .configHeaderActions{align-self:flex-start !important;}
}

/* Dashboard: 6 quadrados KPI com largura máxima 150px e altura 66px */
.metricsPriorityGridAdmin{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,150px)) !important;
  justify-content:space-between !important;
  align-items:stretch !important;
  gap:6px !important;
  width:100% !important;
  overflow:hidden !important;
}
.metricsPriorityGridAdmin .metricCard{
  width:100% !important;
  max-width:150px !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  padding:7px 8px !important;
  border-radius:14px !important;
  overflow:hidden !important;
}
.metricsPriorityGridAdmin .metricCard span{
  font-size:8.5px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.metricsPriorityGridAdmin .metricCard strong{
  font-size:clamp(9px,1.05vw,15px) !important;
  line-height:1 !important;
  margin:5px 0 0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.metricsPriorityGridAdmin .metricCard small{display:none !important;}

/* Dashboard: 7 bolas KPI sempre na mesma linha, mesmo tamanho e reduzindo conforme a tela */
.metricsBubbleGrid{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  grid-auto-flow:column !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  gap:4px !important;
  width:100% !important;
  overflow:hidden !important;
}
.metricBubbleCard{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:78px !important;
  min-height:78px !important;
  max-height:78px !important;
  display:grid !important;
  justify-items:center !important;
  align-content:center !important;
  gap:3px !important;
  overflow:hidden !important;
}
.metricBubbleBall{
  width:clamp(32px,5vw,56px) !important;
  min-width:0 !important;
  height:clamp(32px,5vw,56px) !important;
  padding:5px !important;
}
.metricBubbleBall strong{
  font-size:clamp(10px,2.2vw,18px) !important;
  line-height:1 !important;
}
.metricBubbleCaption{
  width:100% !important;
  max-width:100% !important;
  min-height:14px !important;
  height:16px !important;
  font-size:clamp(6.8px,1.1vw,10px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  align-items:center !important;
}
@media (max-width:1500px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(6,minmax(0,150px)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(7,minmax(0,1fr)) !important;}
}
@media (max-width:980px){
  .metricsPriorityGridAdmin{grid-template-columns:repeat(6,minmax(0,150px)) !important;}
  .metricsBubbleGrid{grid-template-columns:repeat(7,minmax(0,1fr)) !important;}
}

/* Reforço de tema global: todos os blocos principais seguem as variáveis do tema escolhido */
body[data-ui-theme] .sidebar,
body[data-ui-theme] .panel,
body[data-ui-theme] .metricCard,
body[data-ui-theme] .crmDialogBox,
body[data-ui-theme] .budgetCard,
body[data-ui-theme] .configPageShell .panel{
  border-color:color-mix(in srgb, var(--primary) 18%, rgba(255,255,255,.06)) !important;
}
body[data-ui-theme] .sidebar{
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--primary) 20%, transparent), transparent 38%),
    linear-gradient(180deg, var(--sidebar-top), var(--sidebar-bottom)) !important;
}
body[data-ui-theme] .navItem:hover,
body[data-ui-theme] .navItem.active{
  border-color:color-mix(in srgb, var(--primary-2) 24%, transparent) !important;
}

/* CRM v114 - correções configurações */
.configLogoReinvestGrid > .panel:only-child{grid-column:1 / -1 !important;}
.configPageShell .panel.isCollapsed{
  min-height:0 !important;
  padding-bottom:12px !important;
}
.configPageShell .panel.isCollapsed .configSectionHeader{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
  align-items:center !important;
}
.configPageShell .panel.isCollapsed .configSectionHeader p,
.configPageShell .panel.isCollapsed .configSectionHeader small,
.configPageShell .panel.isCollapsed .configSectionHeader .subInfo,
.configPageShell .panel.isCollapsed .configSectionHeader .cashGreenStrong{
  display:none !important;
}
.configPageShell .panel.isCollapsed .configSectionHeader h2,
.configPageShell .panel.isCollapsed .configSectionHeader h3{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.configPageShell [data-cash-bot-result][hidden]{display:none !important;}
.configPageShell [data-cash-bot-result]:not([hidden]){display:block;margin-top:6px;}

/* CRM v116 - correção: KPIs do Dashboard sempre visíveis e sem corte */
.mainContent > .metricsPriorityGrid,
.mainContent > .metricsPriorityGridAdmin,
.mainContent > .metricsBubbleGrid{
  position:relative !important;
  z-index:3 !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  clip-path:none !important;
  contain:none !important;
  box-sizing:border-box !important;
}
.mainContent > .metricsPriorityGridAdmin{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,150px)) !important;
  grid-auto-flow:row !important;
  justify-content:space-between !important;
  align-items:stretch !important;
  gap:6px !important;
  width:100% !important;
  max-width:100% !important;
  min-height:66px !important;
  height:auto !important;
  margin:0 0 10px !important;
  padding:0 !important;
  overflow:visible !important;
}
.mainContent > .metricsPriorityGridAdmin .metricCard{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  width:100% !important;
  max-width:150px !important;
  min-width:0 !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  padding:7px 8px !important;
  border-radius:14px !important;
  overflow:hidden !important;
  opacity:1 !important;
  visibility:visible !important;
}
.mainContent > .metricsPriorityGridAdmin .metricCard span,
.mainContent > .metricsPriorityGridAdmin .metricCard strong{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.mainContent > .metricsPriorityGridAdmin .metricCard span{
  font-size:8.5px !important;
  line-height:1 !important;
}
.mainContent > .metricsPriorityGridAdmin .metricCard strong{
  font-size:clamp(9px,1.05vw,15px) !important;
  line-height:1 !important;
  margin:5px 0 0 !important;
}
.mainContent > .metricsPriorityGridAdmin .metricCard small{display:none !important;}
.mainContent > .metricsBubbleGrid{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  justify-content:stretch !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  gap:4px !important;
  width:100% !important;
  max-width:100% !important;
  min-height:80px !important;
  height:auto !important;
  margin:0 0 14px !important;
  padding:6px 8px !important;
  overflow:visible !important;
}
.mainContent > .metricsBubbleGrid .metricBubbleCard{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:68px !important;
  min-height:68px !important;
  max-height:68px !important;
  display:grid !important;
  justify-items:center !important;
  align-content:center !important;
  gap:3px !important;
  overflow:hidden !important;
  opacity:1 !important;
  visibility:visible !important;
}
.mainContent > .metricsBubbleGrid .metricBubbleBall{
  width:clamp(30px,4.8vw,54px) !important;
  min-width:0 !important;
  height:clamp(30px,4.8vw,54px) !important;
  min-height:0 !important;
  padding:5px !important;
  opacity:1 !important;
  visibility:visible !important;
}
.mainContent > .metricsBubbleGrid .metricBubbleBall strong{
  display:block !important;
  font-size:clamp(10px,2vw,18px) !important;
  line-height:1 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.mainContent > .metricsBubbleGrid .metricBubbleCaption{
  width:100% !important;
  max-width:100% !important;
  min-height:12px !important;
  height:14px !important;
  font-size:clamp(6px,.9vw,10px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  text-align:center !important;
}
@media (max-width:760px){
  .mainContent > .metricsPriorityGridAdmin{gap:3px !important;}
  .mainContent > .metricsPriorityGridAdmin .metricCard{padding:5px 4px !important;}
  .mainContent > .metricsBubbleGrid{gap:2px !important;padding:4px 3px !important;}
}

/* CRM v116 - token do Telegram precisa preservar maiúsculas/minúsculas */
input[name="bot_token"],
.telegramTokenInput{
  text-transform:none !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace !important;
  letter-spacing:0 !important;
}
input[name="bot_token"]::placeholder,
.telegramTokenInput::placeholder{
  text-transform:none !important;
}


/* CRM v117 - KPIs em seções separadas e sem corte */
.dashboardKpiPanel{padding:14px !important;margin-bottom:14px !important;overflow:visible !important;}
.dashboardKpiPanel .sectionHeader{margin-bottom:10px !important;}
.dashboardKpiBody{overflow:visible !important;min-width:0 !important;}
.dashboardKpiPanel .metricsPriorityGrid,.dashboardKpiPanel .metricsPriorityGridAdmin,.dashboardKpiPanel .metricsPriorityGridUser{display:grid !important;grid-template-columns:repeat(6,minmax(0,150px)) !important;gap:6px !important;justify-content:space-between !important;align-items:stretch !important;width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;overflow:visible !important;}
.dashboardKpiPanel .metricsPriorityGridUser{grid-template-columns:repeat(4,minmax(0,150px)) !important;}
.dashboardKpiPanel .metricCard{display:flex !important;flex-direction:column !important;justify-content:center !important;width:100% !important;max-width:150px !important;min-width:0 !important;height:66px !important;min-height:66px !important;max-height:66px !important;padding:7px 8px !important;border-radius:14px !important;overflow:hidden !important;opacity:1 !important;visibility:visible !important;}
.dashboardKpiPanel .metricCard span,.dashboardKpiPanel .metricCard strong{display:block !important;max-width:100% !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.dashboardKpiPanel .metricCard span{font-size:8.5px !important;line-height:1 !important;}
.dashboardKpiPanel .metricCard strong{font-size:clamp(9px,1.05vw,15px) !important;line-height:1 !important;margin:5px 0 0 !important;}
.dashboardKpiPanel .metricCard small{display:none !important;}
.dashboardKpiPanel .metricsBubbleGrid{display:grid !important;grid-template-columns:repeat(7,minmax(0,1fr)) !important;gap:4px !important;width:100% !important;margin:0 !important;padding:0 !important;overflow:visible !important;}
.dashboardKpiPanel .metricBubbleCard{width:100% !important;min-width:0 !important;max-width:none !important;height:68px !important;min-height:68px !important;max-height:68px !important;display:grid !important;justify-items:center !important;align-content:center !important;gap:3px !important;overflow:hidden !important;}
.dashboardKpiPanel .metricBubbleBall{width:clamp(30px,4.8vw,54px) !important;min-width:0 !important;height:clamp(30px,4.8vw,54px) !important;min-height:0 !important;padding:5px !important;}
.dashboardKpiPanel .metricBubbleBall strong{font-size:clamp(10px,2vw,18px) !important;line-height:1 !important;}
.dashboardKpiPanel .metricBubbleCaption{width:100% !important;max-width:100% !important;height:14px !important;font-size:clamp(6px,.9vw,10px) !important;line-height:1 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;text-align:center !important;}
@media (max-width:760px){.dashboardKpiPanel .metricsPriorityGrid,.dashboardKpiPanel .metricsPriorityGridAdmin,.dashboardKpiPanel .metricsPriorityGridUser{gap:3px !important;}.dashboardKpiPanel .metricCard{padding:5px 4px !important;}.dashboardKpiPanel .metricsBubbleGrid{gap:2px !important;}}

/* CRM v117 - Configurações sempre recolhidas ao carregar; recolhido mostra só a primeira linha */
.configPageShell .panel.isCollapsed .configSectionHeader{margin-bottom:0 !important;padding-bottom:0 !important;border-bottom:0 !important;}
.configPageShell .panel.isCollapsed .configSectionHeader p,.configPageShell .panel.isCollapsed .configSectionHeader small,.configPageShell .panel.isCollapsed .sectionHeader p,.configPageShell .panel.isCollapsed .sectionHeader small{display:none !important;}
.configPageShell .panel.isCollapsed{min-height:0 !important;}

/* CRM v117 - Telegram: token nunca pode virar maiúsculo visualmente */
.configPageShell input[name="bot_token"],.configPageShell .telegramTokenInput{text-transform:none !important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace !important;letter-spacing:0 !important;}
.configPageShell input[name="bot_token"]::placeholder,.configPageShell .telegramTokenInput::placeholder{text-transform:none !important;}

/* CRM v135 - controles de tamanho dos KPIs */
.dashboardKpiPanel{--kpi-square-w:150px;--kpi-square-h:66px;--kpi-square-font:11px;--kpi-circle-size:56px;--kpi-circle-font:10px;}
.kpiSizeControls{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.kpiSizeReadout{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:30px;padding:0 8px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.16);font-size:11px;font-weight:900;color:var(--primary-2);}
.dashboardKpiSquares .metricsPriorityGridAdmin{grid-template-columns:repeat(6,minmax(0,var(--kpi-square-w))) !important;}
.dashboardKpiSquares .metricsPriorityGridAdmin .metricCard{max-width:var(--kpi-square-w) !important;height:var(--kpi-square-h) !important;min-height:var(--kpi-square-h) !important;max-height:var(--kpi-square-h) !important;}
.dashboardKpiSquares .metricsPriorityGridAdmin .metricCard span{font-size:calc(var(--kpi-square-font) * .86) !important;}
.dashboardKpiSquares .metricsPriorityGridAdmin .metricCard strong{font-size:var(--kpi-square-font) !important;}
.dashboardKpiCircles .metricBubbleBall{width:var(--kpi-circle-size) !important;height:var(--kpi-circle-size) !important;}
.dashboardKpiCircles .metricBubbleBall strong{font-size:calc(var(--kpi-circle-font) * 1.7) !important;}
.dashboardKpiCircles .metricBubbleCaption{font-size:var(--kpi-circle-font) !important;}
@media(max-width:900px){.kpiSizeControls .btn{padding:8px 9px;font-size:11px}.kpiSizeReadout{min-width:82px}}


/* CRM v136 - KPIs com largura, altura e fonte ajustaveis sem limite maximo fixo */
.dashboardKpiPanel{
  --kpi-square-w:150px;
  --kpi-square-h:66px;
  --kpi-square-font:11px;
  --kpi-circle-w:56px;
  --kpi-circle-h:56px;
  --kpi-circle-card-h:78px;
  --kpi-circle-font:10px;
}
.dashboardKpiPanel .kpiSizeControls{
  display:flex !important;
  gap:5px !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
}
.dashboardKpiPanel .kpiSizeControls .btn.tiny{
  min-width:auto !important;
  min-height:30px !important;
  height:30px !important;
  padding:5px 8px !important;
  border-radius:11px !important;
  font-size:10.5px !important;
  line-height:1 !important;
}
.dashboardKpiPanel .kpiSizeReadout{
  min-width:104px !important;
  height:30px !important;
  padding:0 8px !important;
  white-space:nowrap !important;
}
.dashboardKpiSquares .metricsPriorityGrid,
.dashboardKpiSquares .metricsPriorityGridAdmin,
.dashboardKpiSquares .metricsPriorityGridUser{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, var(--kpi-square-w))) !important;
  justify-content:space-between !important;
  align-items:stretch !important;
  gap:6px !important;
  overflow:auto hidden !important;
  padding-bottom:2px !important;
}
.dashboardKpiSquares .metricsPriorityGridUser{grid-template-columns:repeat(4, minmax(0, var(--kpi-square-w))) !important;}
.dashboardKpiSquares .metricCard{
  width:var(--kpi-square-w) !important;
  max-width:none !important;
  height:var(--kpi-square-h) !important;
  min-height:var(--kpi-square-h) !important;
  max-height:none !important;
  padding:7px 8px !important;
  overflow:hidden !important;
}
.dashboardKpiSquares .metricCard span{
  font-size:calc(var(--kpi-square-font) * .86) !important;
  line-height:1.05 !important;
}
.dashboardKpiSquares .metricCard strong{
  font-size:var(--kpi-square-font) !important;
  line-height:1.05 !important;
  margin:5px 0 0 !important;
}
.dashboardKpiCircles .metricsBubbleGrid{
  display:grid !important;
  grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
  gap:4px !important;
  overflow:auto hidden !important;
  padding-bottom:2px !important;
}
.dashboardKpiCircles .metricBubbleCard{
  height:var(--kpi-circle-card-h) !important;
  min-height:var(--kpi-circle-card-h) !important;
  max-height:none !important;
  overflow:hidden !important;
}
.dashboardKpiCircles .metricBubbleBall{
  width:var(--kpi-circle-w) !important;
  min-width:0 !important;
  height:var(--kpi-circle-h) !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
}
.dashboardKpiCircles .metricBubbleBall strong{
  font-size:calc(var(--kpi-circle-font) * 1.7) !important;
  line-height:1 !important;
}
.dashboardKpiCircles .metricBubbleCaption{
  font-size:var(--kpi-circle-font) !important;
  line-height:1.05 !important;
}
@media(max-width:900px){
  .dashboardKpiPanel .kpiSizeControls{justify-content:flex-start !important;}
  .dashboardKpiPanel .kpiSizeControls .btn.tiny{font-size:10px !important;padding:5px 7px !important;}
  .dashboardKpiPanel .kpiSizeReadout{min-width:96px !important;}
}

/* CRM v137 - KPIs com largura, altura, titulo e texto independentes */
.dashboardKpiPanel{
  --kpi-square-w:150px;
  --kpi-square-h:66px;
  --kpi-square-title-font:10px;
  --kpi-square-text-font:11px;
  --kpi-circle-w:56px;
  --kpi-circle-h:56px;
  --kpi-circle-card-h:82px;
  --kpi-circle-title-font:10px;
  --kpi-circle-text-font:17px;
}
.dashboardKpiPanel .kpiSizeControls{
  display:flex !important;
  gap:5px !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
}
.dashboardKpiPanel .kpiSizeControls .btn.tiny{
  min-width:auto !important;
  min-height:30px !important;
  height:30px !important;
  padding:5px 8px !important;
  border-radius:11px !important;
  font-size:10.5px !important;
  line-height:1 !important;
}
.dashboardKpiPanel .kpiSizeReadout{
  min-width:126px !important;
  height:30px !important;
  padding:0 8px !important;
  white-space:nowrap !important;
  font-size:11px !important;
}
.dashboardKpiSquares .metricCard span{
  font-size:var(--kpi-square-title-font) !important;
  line-height:1.05 !important;
}
.dashboardKpiSquares .metricCard strong{
  font-size:var(--kpi-square-text-font) !important;
  line-height:1.05 !important;
  margin:5px 0 0 !important;
}
.dashboardKpiSquares .metricCard small{
  font-size:calc(var(--kpi-square-text-font) * .72) !important;
  line-height:1.05 !important;
}
.dashboardKpiCircles .metricBubbleBall strong{
  font-size:var(--kpi-circle-text-font) !important;
  line-height:1 !important;
}
.dashboardKpiCircles .metricBubbleCaption{
  font-size:var(--kpi-circle-title-font) !important;
  line-height:1.05 !important;
}
@media(max-width:900px){
  .dashboardKpiPanel .kpiSizeControls{justify-content:flex-start !important;}
  .dashboardKpiPanel .kpiSizeControls .btn.tiny{font-size:10px !important;padding:5px 7px !important;}
  .dashboardKpiPanel .kpiSizeReadout{min-width:116px !important;}
}


/* CRM v138 - Dashboard compacto e controles de fonte aplicando tambem nos quadrados */
body.page-dashboard,
body.page-dashboard .appShell,
body.page-dashboard .mainContent,
body.page-dashboard .workspaceShell,
body.page-dashboard .workspacePaneHost,
body.page-dashboard .currentWorkspacePane{
  max-width:100vw !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}
body.page-dashboard .mainContent{
  padding:6px 10px 8px !important;
}
body.page-dashboard .topbarMain,
body.page-dashboard .currentWorkspacePane > .topbarMain:first-child{
  gap:8px !important;
  margin-bottom:8px !important;
  align-items:center !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.page-dashboard .topbarTitleWrap{
  min-width:0 !important;
}
body.page-dashboard .topbarMain h1{
  font-size:27px !important;
  line-height:1 !important;
  margin:0 !important;
}
body.page-dashboard .topbarActions,
body.page-dashboard .topbarActionsCompact{
  gap:6px !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.page-dashboard .topbarActions .btn,
body.page-dashboard .topbarActions a.btn{
  min-height:36px !important;
  padding:8px 11px !important;
  border-radius:13px !important;
  font-size:13px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
body.page-dashboard.workspace-host-mode .workspaceTabsBar{
  gap:5px !important;
  min-height:38px !important;
  margin-bottom:2px !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}
body.page-dashboard .workspaceTab{
  max-width:210px !important;
  padding:7px 10px !important;
  border-radius:14px !important;
  font-size:13px !important;
}
body.page-dashboard .workspaceTabClose{
  width:18px !important;
  height:18px !important;
  font-size:14px !important;
}
body.page-dashboard .panel,
body.page-dashboard .dashboardKpiPanel,
body.page-dashboard .gridTwo > .dashboardSeriesSection,
body.page-dashboard #dashboardDetailedSection{
  padding:12px !important;
  border-radius:20px !important;
  margin-bottom:10px !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
body.page-dashboard .dashboardKpiPanel{
  padding:10px !important;
}
body.page-dashboard .sectionHeader,
body.page-dashboard .dashboardKpiPanel .sectionHeader{
  margin-bottom:8px !important;
  gap:8px !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.page-dashboard .dashboardKpiPanel .sectionHeader{
  display:grid !important;
  grid-template-columns:minmax(150px,1fr) auto !important;
  align-items:center !important;
}
body.page-dashboard .dashboardKpiPanel .sectionHeader h2{
  font-size:18px !important;
  line-height:1 !important;
  margin:0 !important;
  white-space:nowrap !important;
}
body.page-dashboard .dashboardKpiPanel .kpiSizeControls{
  gap:3px !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.page-dashboard .dashboardKpiPanel .kpiSizeControls .btn.tiny{
  min-height:26px !important;
  height:26px !important;
  padding:3px 6px !important;
  border-radius:10px !important;
  font-size:9.5px !important;
  line-height:1 !important;
}
body.page-dashboard .dashboardKpiPanel .kpiSizeReadout{
  min-width:102px !important;
  height:26px !important;
  padding:0 7px !important;
  border-radius:10px !important;
  font-size:10px !important;
  line-height:1 !important;
}
body.page-dashboard .dashboardKpiSquares .metricsPriorityGrid,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridAdmin,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridUser{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  gap:6px !important;
  overflow:hidden !important;
}
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridAdmin .metricCard,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridUser .metricCard,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGrid .metricCard{
  width:var(--kpi-square-w) !important;
  max-width:none !important;
  height:var(--kpi-square-h) !important;
  min-height:var(--kpi-square-h) !important;
  max-height:none !important;
  padding:7px 8px !important;
  overflow:hidden !important;
}
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridAdmin .metricCard span,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridUser .metricCard span,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGrid .metricCard span{
  font-size:var(--kpi-square-title-font) !important;
  line-height:1.05 !important;
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridAdmin .metricCard strong,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridUser .metricCard strong,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGrid .metricCard strong{
  font-size:var(--kpi-square-text-font) !important;
  line-height:1.05 !important;
  margin:5px 0 0 !important;
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridAdmin .metricCard small,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGridUser .metricCard small,
body.page-dashboard .dashboardKpiSquares .metricsPriorityGrid .metricCard small{
  display:none !important;
}
body.page-dashboard .dashboardKpiCircles .metricsBubbleGrid{
  gap:4px !important;
  overflow:hidden !important;
}
body.page-dashboard .dashboardKpiCircles .metricBubbleBall strong{
  font-size:var(--kpi-circle-text-font) !important;
}
body.page-dashboard .dashboardKpiCircles .metricBubbleCaption{
  font-size:var(--kpi-circle-title-font) !important;
}
body.page-dashboard .dashboardMainFilter,
body.page-dashboard .dashboardFilterBar,
body.page-dashboard .dashboardCompactGrid,
body.page-dashboard .gridTwo,
body.page-dashboard .dashboardTableWrap{
  max-width:100% !important;
  min-width:0 !important;
}
body.page-dashboard .dashboardCompactGrid{
  gap:6px !important;
}
body.page-dashboard .gridTwo{
  gap:10px !important;
}
body.page-dashboard .barItem{
  gap:6px !important;
  grid-template-columns:minmax(72px,.9fr) 1.55fr auto !important;
}
@media (max-width:1500px){
  body.page-dashboard .appShell{grid-template-columns:250px minmax(0,1fr) !important;}
  body.page-dashboard.sidebar-collapsed .appShell{grid-template-columns:88px minmax(0,1fr) !important;}
  body.page-dashboard .topbarActions .btn,
  body.page-dashboard .topbarActions a.btn{padding-inline:9px !important;font-size:12px !important;}
  body.page-dashboard .dashboardKpiPanel .sectionHeader{grid-template-columns:1fr !important;align-items:start !important;}
  body.page-dashboard .dashboardKpiPanel .kpiSizeControls{justify-content:flex-start !important;flex-wrap:wrap !important;}
}
@media (max-width:980px){
  body.page-dashboard .topbarMain{align-items:flex-start !important;}
  body.page-dashboard .topbarActions{flex-wrap:wrap !important;justify-content:flex-start !important;}
  body.page-dashboard .dashboardKpiPanel .kpiSizeControls{flex-wrap:wrap !important;}
}


/* CRM v139 - Dashboard: botoes de tamanho opcionais e corpo dos KPIs sempre visivel quando expandido */
body.page-dashboard .dashboardKpiPanel:not(.isCollapsed){
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
body.page-dashboard .dashboardKpiPanel:not(.isCollapsed) .dashboardKpiBody,
body.page-dashboard .dashboardKpiPanel:not(.isCollapsed) [data-collapse-body]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
}
body.page-dashboard .dashboardKpiSquares:not(.isCollapsed) .dashboardKpiBody{
  min-height:var(--kpi-square-h) !important;
}
body.page-dashboard .dashboardKpiCircles:not(.isCollapsed) .dashboardKpiBody{
  min-height:var(--kpi-circle-card-h) !important;
}
body.page-dashboard .dashboardKpiPanel.isCollapsed .dashboardKpiBody,
body.page-dashboard .dashboardKpiPanel.isCollapsed [data-collapse-body]{
  display:none !important;
}
body.page-dashboard .dashboardKpiPanel .sectionHeader{
  min-height:30px !important;
}
body.page-dashboard .dashboardKpiPanel .kpiSizeControls:has(> button[data-collapse-toggle]:only-child){
  justify-content:flex-end !important;
}
.configPageShell .toggleCheckInline span{
  line-height:1.2;
}

/* CRM v140 - Início redesenhado com KPIs preservados */
body.page-inicio .mainContent{
  gap:14px;
}
.inicioDashboardShell{
  display:grid;
  gap:14px;
}
.inicioHeroPanel{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border:1px solid rgba(125,211,252,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at top left, rgba(56,189,248,.18), transparent 34%),
    linear-gradient(135deg, rgba(6,18,32,.98), rgba(8,28,46,.92));
  box-shadow:0 22px 52px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.inicioHeroPanel::after{
  content:"";
  position:absolute;
  inset:auto -90px -120px auto;
  width:260px;
  height:260px;
  border-radius:999px;
  background:rgba(14,165,233,.10);
  filter:blur(6px);
  pointer-events:none;
}
.inicioHeroMain{
  position:relative;
  z-index:1;
  min-width:220px;
}
.inicioEyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
  padding:6px 10px;
  border:1px solid rgba(125,211,252,.22);
  border-radius:999px;
  color:#9ee7ff;
  background:rgba(14,165,233,.08);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.inicioHeroMain h2{
  margin:0;
  font-size:clamp(24px,3vw,38px);
  line-height:1;
  letter-spacing:-.04em;
}
.inicioHeroMain p{
  max-width:620px;
  margin:9px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.inicioHeroStats{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(112px,1fr));
  gap:10px;
  min-width:min(100%,480px);
}
.inicioHeroStat{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:86px;
  padding:13px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(2,8,16,.38);
  color:inherit;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.inicioHeroStat span{
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.inicioHeroStat strong{
  margin-top:6px;
  font-size:clamp(17px,2vw,26px);
  line-height:1;
  letter-spacing:-.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.inicioHeroMoney strong{font-size:clamp(13px,1.5vw,20px);}
.inicioKpiLayout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
  gap:14px;
  align-items:start;
}
body.page-inicio .dashboardKpiPanel{
  height:100%;
  margin:0 !important;
  padding:14px !important;
  border-radius:22px !important;
  border:1px solid rgba(125,211,252,.14) !important;
  background:linear-gradient(180deg, rgba(8,19,32,.96), rgba(5,13,24,.94)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body.page-inicio .dashboardKpiPanel .sectionHeader{
  align-items:flex-start !important;
  gap:10px !important;
  margin-bottom:12px !important;
  padding-bottom:10px !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}
body.page-inicio .dashboardKpiPanel .sectionHeader h2{
  margin:0 !important;
  font-size:15px !important;
  letter-spacing:.01em !important;
}
body.page-inicio .dashboardKpiPanel .kpiSizeControls{
  justify-content:flex-end !important;
  gap:4px !important;
}
body.page-inicio .dashboardKpiPanel .kpiSizeControls .btn.tiny{
  min-height:26px !important;
  height:26px !important;
  padding:4px 6px !important;
  border-radius:9px !important;
  font-size:9.5px !important;
}
body.page-inicio .dashboardKpiPanel .kpiSizeReadout{
  height:26px !important;
  min-width:108px !important;
  font-size:10px !important;
}
body.page-inicio .dashboardKpiSquares .metricsPriorityGrid,
body.page-inicio .dashboardKpiSquares .metricsPriorityGridAdmin,
body.page-inicio .dashboardKpiSquares .metricsPriorityGridUser{
  grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--kpi-square-w)), 1fr)) !important;
  justify-content:initial !important;
  gap:9px !important;
  overflow:visible !important;
}
body.page-inicio .dashboardKpiSquares .metricCard{
  width:100% !important;
  max-width:none !important;
  min-height:var(--kpi-square-h) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(10,30,48,.96), rgba(6,15,27,.98)) !important;
  border:1px solid rgba(255,255,255,.07) !important;
}
body.page-inicio .dashboardKpiSquares .metricCard.active{
  outline:2px solid rgba(56,189,248,.26) !important;
  box-shadow:0 0 0 4px rgba(56,189,248,.08), var(--shadow) !important;
}
body.page-inicio .dashboardKpiCircles .metricsBubbleGrid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:8px !important;
  overflow:visible !important;
}
body.page-inicio .dashboardKpiCircles .metricBubbleCard{
  min-height:var(--kpi-circle-card-h) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.025) !important;
  border:1px solid rgba(255,255,255,.055) !important;
  padding:8px 4px !important;
}
body.page-inicio .dashboardKpiCircles .metricBubbleCard.active{
  background:rgba(14,165,233,.10) !important;
  border-color:rgba(56,189,248,.26) !important;
}
body.page-inicio .dashboardKpiCircles .metricBubbleBall{
  background:linear-gradient(180deg, rgba(8,29,46,.98), rgba(2,10,20,.98)) !important;
}
body.page-inicio .dashboardKpiSquares .metricCard span{
  font-size:var(--kpi-square-title-font) !important;
  line-height:1.05 !important;
}
body.page-inicio .dashboardKpiSquares .metricCard strong{
  font-size:var(--kpi-square-text-font) !important;
  line-height:1.05 !important;
}
body.page-inicio .dashboardKpiSquares .metricCard small{
  font-size:calc(var(--kpi-square-text-font) * .72) !important;
  line-height:1.05 !important;
}
body.page-inicio .dashboardKpiCircles .metricBubbleBall strong{
  font-size:var(--kpi-circle-text-font) !important;
  line-height:1 !important;
}
body.page-inicio .dashboardKpiCircles .metricBubbleCaption{
  font-size:var(--kpi-circle-title-font) !important;
  line-height:1.05 !important;
}
body.page-inicio .dashboardKpiSquares .dashboardKpiBody,
body.page-inicio .dashboardKpiCircles .dashboardKpiBody{
  transition:max-height .18s ease, opacity .18s ease !important;
  overflow:hidden !important;
}
body.page-inicio .dashboardKpiSquares .dashboardKpiBody.isPartialCollapsed{
  display:block !important;
  max-height:calc(var(--kpi-square-h) + 24px) !important;
  overflow:hidden !important;
}
body.page-inicio .dashboardKpiCircles .dashboardKpiBody.isPartialCollapsed{
  display:block !important;
  max-height:calc(var(--kpi-circle-card-h) + 20px) !important;
  overflow:hidden !important;
}
body.page-inicio .inicioFilterPanel,
body.page-inicio .gridTwo > .dashboardSeriesSection,
body.page-inicio #dashboardDetailedSection{
  border-radius:22px !important;
  border:1px solid rgba(125,211,252,.12) !important;
  background:linear-gradient(180deg, rgba(8,18,31,.94), rgba(5,13,24,.94)) !important;
}
body.page-inicio .dashboardFilterBarPremium{
  border-radius:18px !important;
  padding:10px !important;
  background:rgba(255,255,255,.025) !important;
  border:1px solid rgba(255,255,255,.055) !important;
}
body.page-inicio .dashboardCompactGrid{
  grid-template-columns:repeat(5,minmax(130px,1fr)) !important;
  gap:8px !important;
}
body.page-inicio .gridTwo{
  gap:14px !important;
}
body.page-inicio #dashboardDetailedSection .sectionHeader h2::after{
  content:" do início";
  color:var(--muted);
  font-weight:700;
}
@media(max-width:1180px){
  .inicioKpiLayout{grid-template-columns:1fr;}
  .inicioHeroPanel{flex-direction:column;}
  .inicioHeroStats{min-width:0;width:100%;}
}
@media(max-width:780px){
  .inicioHeroPanel{padding:14px;border-radius:20px;}
  .inicioHeroStats{grid-template-columns:1fr;}
  body.page-inicio .dashboardCompactGrid{grid-template-columns:1fr !important;}
  body.page-inicio .dashboardKpiPanel .sectionHeader{flex-direction:column !important;}
  body.page-inicio .dashboardKpiPanel .kpiSizeControls{justify-content:flex-start !important;}
}

/* CRM v140 - compatibilidade dos ajustes antigos também no Início */
body.page-inicio,
body.page-inicio .appShell,
body.page-inicio .mainContent,
body.page-inicio .workspaceShell,
body.page-inicio .workspacePaneHost,
body.page-inicio .currentWorkspacePane{
  max-width:100vw !important;
  box-sizing:border-box !important;
}
body.page-inicio .dashboardKpiPanel:not(.isCollapsed){
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
body.page-inicio .dashboardKpiPanel:not(.isCollapsed) .dashboardKpiBody,
body.page-inicio .dashboardKpiPanel:not(.isCollapsed) [data-collapse-body]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
}
body.page-inicio .dashboardKpiSquares:not(.isCollapsed) .dashboardKpiBody{
  min-height:var(--kpi-square-h) !important;
}
body.page-inicio .dashboardKpiCircles:not(.isCollapsed) .dashboardKpiBody{
  min-height:var(--kpi-circle-card-h) !important;
}
body.page-inicio .dashboardKpiPanel.isCollapsed .dashboardKpiBody,
body.page-inicio .dashboardKpiPanel.isCollapsed [data-collapse-body]{
  display:none !important;
}
body.page-inicio .dashboardKpiPanel .kpiSizeControls:has(> button[data-collapse-toggle]:only-child){
  justify-content:flex-end !important;
}

/* CRM v149 - ajustes do Início: filtro, tabela compacta e colunas arrastáveis */
body.page-inicio .inicioFilterHeader{
  gap:12px !important;
  align-items:flex-start !important;
}
body.page-inicio .dashboardFilterHeaderActions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  margin-left:auto !important;
}
body.page-inicio .dashboardFilterHeaderActions .btn{
  min-height:30px !important;
  height:30px !important;
  padding:6px 10px !important;
  font-size:11px !important;
  border-radius:12px !important;
  white-space:nowrap !important;
}
body.page-inicio .dashboardMainFilter{
  margin-top:10px !important;
}
body.page-inicio #dashboardDetailedSection{
  max-width:calc(100% - 18px) !important;
  margin-right:14px !important;
  padding:14px 18px 16px 14px !important;
  overflow:hidden !important;
}
body.page-inicio #dashboardDetailedSection .sectionHeader{
  margin-bottom:10px !important;
}
body.page-inicio #dashboardDetailedSection .sectionHeader .btn{
  min-height:32px !important;
  padding:7px 12px !important;
  font-size:11px !important;
}
body.page-inicio .dashboardTableWrap{
  max-width:calc(100% - 10px) !important;
  margin-right:10px !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  border-radius:18px !important;
  padding-bottom:8px !important;
}
body.page-inicio #dashboardDetailTable{
  width:max-content !important;
  min-width:980px !important;
  table-layout:fixed !important;
  border-spacing:0 !important;
  font-size:11px !important;
}
body.page-inicio #dashboardDetailTable th,
body.page-inicio #dashboardDetailTable td{
  padding:6px 7px !important;
  vertical-align:top !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
body.page-inicio #dashboardDetailTable th{
  font-size:10px !important;
  letter-spacing:.03em !important;
  position:relative !important;
  user-select:none !important;
}
body.page-inicio #dashboardDetailTable th[data-column-key="acoes"],
body.page-inicio #dashboardDetailTable td[data-column-key="acoes"]{width:54px !important;min-width:54px !important;max-width:54px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="os"],
body.page-inicio #dashboardDetailTable td[data-column-key="os"]{width:74px !important;min-width:74px !important;max-width:74px !important;font-size:10px !important;}
body.page-inicio #dashboardDetailTable td[data-column-key="os"] .editCellBtn{font-size:10px !important;padding:5px 6px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="consultor"],
body.page-inicio #dashboardDetailTable td[data-column-key="consultor"]{width:98px !important;min-width:98px !important;max-width:98px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="ticket"],
body.page-inicio #dashboardDetailTable td[data-column-key="ticket"]{width:92px !important;min-width:92px !important;max-width:92px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="detalhes"],
body.page-inicio #dashboardDetailTable td[data-column-key="detalhes"]{width:175px !important;min-width:175px !important;max-width:175px !important;font-size:10px !important;}
body.page-inicio #dashboardDetailTable td[data-column-key="detalhes"] .editCellBtn{font-size:10px !important;line-height:1.12 !important;padding:5px 6px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="cidade"],
body.page-inicio #dashboardDetailTable td[data-column-key="cidade"]{width:96px !important;min-width:96px !important;max-width:96px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="prestador"],
body.page-inicio #dashboardDetailTable td[data-column-key="prestador"]{width:112px !important;min-width:112px !important;max-width:112px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="valor_os"],
body.page-inicio #dashboardDetailTable td[data-column-key="valor_os"]{width:88px !important;min-width:88px !important;max-width:88px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="custo"],
body.page-inicio #dashboardDetailTable td[data-column-key="custo"]{width:92px !important;min-width:92px !important;max-width:92px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="ultima_prevista"],
body.page-inicio #dashboardDetailTable td[data-column-key="ultima_prevista"]{width:92px !important;min-width:92px !important;max-width:92px !important;}
body.page-inicio #dashboardDetailTable th[data-column-key="status"],
body.page-inicio #dashboardDetailTable td[data-column-key="status"]{width:120px !important;min-width:120px !important;max-width:120px !important;}
body.page-inicio #dashboardDetailTable .editCellBtn,
body.page-inicio #dashboardDetailTable .statusBadge,
body.page-inicio #dashboardDetailTable .valueOsCell{
  font-size:11px !important;
  line-height:1.12 !important;
}
body.page-inicio #dashboardDetailTable .editCellBtn{
  min-height:0 !important;
  padding:5px 7px !important;
  border-radius:9px !important;
}
.crmColumnHeader[draggable="true"]{cursor:grab !important;}
.crmColumnHeader.crmColumnDragging{opacity:.55 !important;cursor:grabbing !important;}
.crmColumnHeader.crmColumnDragOver::after{
  content:"";
  position:absolute;
  inset:4px;
  border:1px dashed color-mix(in srgb, var(--primary) 70%, #fff);
  border-radius:9px;
  pointer-events:none;
}
@media(max-width:920px){
  body.page-inicio .inicioFilterHeader{flex-direction:column !important;}
  body.page-inicio .dashboardFilterHeaderActions{justify-content:flex-start !important;margin-left:0 !important;}
  body.page-inicio #dashboardDetailedSection{max-width:100% !important;margin-right:0 !important;}
}

/* CRM v150 - Modo detalhado padronizado */
body.page-inicio .inicioDashboardShell{
  padding-right:22px !important;
  box-sizing:border-box !important;
}
body.page-inicio .inicioDashboardShell > .inicioHeroPanel,
body.page-inicio .inicioDashboardShell > .inicioKpiLayout,
body.page-inicio .inicioDashboardShell > .inicioFilterPanel,
body.page-inicio .inicioDashboardShell > .gridTwo,
body.page-inicio .inicioDashboardShell > #dashboardDetailedSection{
  max-width:100% !important;
  box-sizing:border-box !important;
}
.crmDetailSection{
  overflow:hidden !important;
}
.detailSectionHeader{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.detailFontControls{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex-wrap:wrap !important;
}
.detailFontControls .btn.tiny{
  height:30px !important;
  min-height:30px !important;
  padding:5px 10px !important;
  border-radius:11px !important;
  font-weight:900 !important;
}
.detailFontReadout{
  min-width:52px !important;
  height:30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(229,188,86,.35) !important;
  border-radius:999px !important;
  color:#ffe8a3 !important;
  background:rgba(0,0,0,.26) !important;
  font-size:11px !important;
  font-weight:900 !important;
}
.crmDetailTableWrap{
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:10px !important;
  scrollbar-color:rgba(229,188,86,.85) rgba(255,255,255,.08) !important;
  scrollbar-width:thin !important;
}
.crmDetailTableWrap::-webkit-scrollbar{height:10px !important;}
.crmDetailTableWrap::-webkit-scrollbar-track{background:rgba(255,255,255,.08) !important;border-radius:999px !important;}
.crmDetailTableWrap::-webkit-scrollbar-thumb{background:linear-gradient(90deg, #f6d366, #c4862c) !important;border-radius:999px !important;}
.crmDetailTableWrap table{
  font-size:var(--crm-detail-font-size, 12px) !important;
  width:max-content !important;
  min-width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}
.crmDetailTableWrap th,
.crmDetailTableWrap td{
  padding:6px 8px !important;
  white-space:nowrap !important;
  line-height:1.12 !important;
  vertical-align:middle !important;
}
.crmDetailTableWrap .editCellBtn,
.crmDetailTableWrap .statusBadge,
.crmDetailTableWrap .valueOsCell,
.crmDetailTableWrap .sortLink{
  font-size:inherit !important;
  line-height:1.12 !important;
}
.crmDetailTableWrap .colTicket,
.crmDetailTableWrap td[data-column-key="ticket"]{
  min-width:72px !important;
}
.crmDetailTableWrap th[data-column-key="os"],
.crmDetailTableWrap td[data-column-key="os"],
.crmDetailTableWrap th:nth-child(2),
.crmDetailTableWrap td:nth-child(2){
  font-size:calc(var(--crm-detail-font-size, 12px) * .86) !important;
}
.crmDetailTableWrap th[data-column-key="detalhes"],
.crmDetailTableWrap td[data-column-key="detalhes"],
.crmDetailTableWrap th:nth-child(7),
.crmDetailTableWrap td:nth-child(7){
  font-size:calc(var(--crm-detail-font-size, 12px) * .88) !important;
  max-width:190px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.crmDetailTableWrap .editCellBtn.multiline{
  max-width:180px !important;
  white-space:normal !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
}
.reorderableColumnHead{
  cursor:grab !important;
  user-select:none !important;
}
.reorderableColumnHead:active{cursor:grabbing !important;}
.dragOverColumn{
  outline:2px solid rgba(229,188,86,.9) !important;
  outline-offset:-2px !important;
  background:rgba(229,188,86,.12) !important;
}
body.page-tickets .ticketFilterBarPremium .btn,
body.page-finalizados .ticketFilterBarPremium .btn,
body.page-tickets .ticketQuickNav .btn,
body.page-finalizados .ticketQuickNav .btn,
body.page-tickets .ticketFilterBarPremium .toggleCheckInline,
body.page-finalizados .ticketFilterBarPremium .toggleCheckInline{
  min-height:44px !important;
  height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 16px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
body.page-tickets .ticketToolsLine,
body.page-finalizados .ticketToolsLine,
body.page-tickets .ticketQuickNav,
body.page-finalizados .ticketQuickNav{
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.btnIcon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  min-width:18px !important;
  line-height:1 !important;
}
@media(max-width:780px){
  body.page-inicio .inicioDashboardShell{padding-right:10px !important;}
  .detailSectionHeader{flex-direction:column !important;align-items:flex-start !important;}
  .detailFontControls{justify-content:flex-start !important;}
}

/* CRM v151 - liberdade total de tamanho e posição */
[data-draggable-kpis] [data-kpi-key]{cursor:grab !important;user-select:none !important;}
[data-draggable-kpis] [data-kpi-key]:active{cursor:grabbing !important;}
[data-draggable-kpis] [data-kpi-key].kpiDragging{opacity:.52 !important;transform:scale(.98) !important;outline:2px dashed rgba(255,218,116,.75) !important;outline-offset:2px !important;}
.crmDetailTableWrap [data-resizable-table]{table-layout:fixed !important;}
.crmDetailTableWrap th,
.crmDetailTableWrap td{
  min-width:0 !important;
  max-width:none !important;
}
.crmDetailTableWrap th[data-column-key],
.crmDetailTableWrap td[data-column-key]{
  max-width:none !important;
}
.crmDetailTableWrap th[data-column-key="acoes"],.crmDetailTableWrap td[data-column-key="acoes"],
.crmDetailTableWrap th[data-column-key="os"],.crmDetailTableWrap td[data-column-key="os"],
.crmDetailTableWrap th[data-column-key="consultor"],.crmDetailTableWrap td[data-column-key="consultor"],
.crmDetailTableWrap th[data-column-key="ticket"],.crmDetailTableWrap td[data-column-key="ticket"],
.crmDetailTableWrap th[data-column-key="detalhes"],.crmDetailTableWrap td[data-column-key="detalhes"],
.crmDetailTableWrap th[data-column-key="cidade"],.crmDetailTableWrap td[data-column-key="cidade"],
.crmDetailTableWrap th[data-column-key="prestador"],.crmDetailTableWrap td[data-column-key="prestador"],
.crmDetailTableWrap th[data-column-key="valor_os"],.crmDetailTableWrap td[data-column-key="valor_os"],
.crmDetailTableWrap th[data-column-key="custo"],.crmDetailTableWrap td[data-column-key="custo"],
.crmDetailTableWrap th[data-column-key="ultima_prevista"],.crmDetailTableWrap td[data-column-key="ultima_prevista"],
.crmDetailTableWrap th[data-column-key="status"],.crmDetailTableWrap td[data-column-key="status"]{
  max-width:none !important;
}
.crmDetailTableWrap th[data-column-key="detalhes"],
.crmDetailTableWrap td[data-column-key="detalhes"],
.crmDetailTableWrap th:nth-child(7),
.crmDetailTableWrap td:nth-child(7){
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.crmDetailTableWrap .editCellBtn.multiline{
  max-width:none !important;
  -webkit-line-clamp:unset !important;
  display:inline-flex !important;
  white-space:normal !important;
}
.crmDetailTableWrap .colResizeHandle{width:18px !important;right:-9px !important;}
.crmDetailTableWrap .colResizeHandle::before{width:3px !important;background:linear-gradient(180deg, rgba(255,226,139,.92), rgba(120,210,255,.6)) !important;}
body.isResizingColumns .crmDetailTableWrap{scrollbar-width:auto !important;}
.detailFontReadout{min-width:62px !important;}

/* CRM v151 - remover travas fixas especificas do modo detalhado */
body.page-inicio #dashboardDetailTable th[data-column-key],
body.page-inicio #dashboardDetailTable td[data-column-key],
body.page-tickets table[data-resizable-table] th[data-column-key],
body.page-tickets table[data-resizable-table] td[data-column-key],
body.page-finalizados table[data-resizable-table] th[data-column-key],
body.page-finalizados table[data-resizable-table] td[data-column-key]{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}
body.page-inicio #dashboardDetailTable th[data-column-key="detalhes"],
body.page-inicio #dashboardDetailTable td[data-column-key="detalhes"],
body.page-inicio #dashboardDetailTable td[data-column-key="detalhes"] .editCellBtn,
body.page-tickets table[data-resizable-table] td[data-column-key="detalhes"] .editCellBtn,
body.page-finalizados table[data-resizable-table] td[data-column-key="detalhes"] .editCellBtn{
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  -webkit-line-clamp:unset !important;
}

/* CRM v152 - redimensionamento de colunas em todas as listas do CRM */
.crmTableResizeHost{
  overflow-x:auto !important;
  overflow-y:visible;
  max-width:100% !important;
  scrollbar-color:rgba(229,188,86,.85) rgba(255,255,255,.08) !important;
  scrollbar-width:thin !important;
}
.crmTableResizeHost::-webkit-scrollbar{height:10px !important;}
.crmTableResizeHost::-webkit-scrollbar-track{background:rgba(255,255,255,.08) !important;border-radius:999px !important;}
.crmTableResizeHost::-webkit-scrollbar-thumb{background:linear-gradient(90deg, #f6d366, #c4862c) !important;border-radius:999px !important;}
table.crmResizableTable{
  table-layout:fixed !important;
  width:max-content;
  min-width:100%;
}
table.crmResizableTable th,
table.crmResizableTable td{
  max-width:none !important;
}
table.crmResizableTable .resizableTh,
table.crmResizableTable th.resizableTh{
  position:relative !important;
  overflow:visible !important;
}
table.crmResizableTable .colResizeHandle{
  position:absolute !important;
  top:0 !important;
  right:-8px !important;
  width:16px !important;
  height:100% !important;
  cursor:col-resize !important;
  z-index:30 !important;
  touch-action:none !important;
}
table.crmResizableTable .colResizeHandle::before{
  content:'' !important;
  position:absolute !important;
  top:10% !important;
  bottom:10% !important;
  left:50% !important;
  width:3px !important;
  transform:translateX(-50%) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(255,226,139,.95), rgba(120,210,255,.72)) !important;
  opacity:0 !important;
  box-shadow:0 0 12px rgba(120,210,255,.35) !important;
  transition:opacity .14s ease, transform .14s ease !important;
}
body.isResizingColumns,
body.isResizingColumns *{
  cursor:col-resize !important;
  user-select:none !important;
}


/* CRM v153 - ajustes de largura da pagina Tickets e README organizado */
.appShell{
  grid-template-columns:290px minmax(0,1fr) !important;
  width:100% !important;
  max-width:100vw !important;
  overflow-x:hidden !important;
}
body.sidebar-collapsed .appShell{
  grid-template-columns:96px minmax(0,1fr) !important;
}
.mainContent{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
body.page-tickets .mainContent,
body.page-finalizados .mainContent{
  padding-right:22px !important;
  overflow-x:hidden !important;
}
body.page-tickets .mainContent > .topbarMain,
body.page-finalizados .mainContent > .topbarMain,
body.page-tickets .mainContent > .panel,
body.page-finalizados .mainContent > .panel,
body.page-tickets .ticketDetailSection,
body.page-finalizados .ticketDetailSection{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
body.page-tickets .ticketDetailSection,
body.page-finalizados .ticketDetailSection{
  margin-right:0 !important;
  overflow:hidden !important;
}
body.page-tickets .ticketDetailSection .crmDetailTableWrap,
body.page-finalizados .ticketDetailSection .crmDetailTableWrap,
body.page-tickets .ticketDetailSection .ticketTableWrap,
body.page-finalizados .ticketDetailSection .ticketTableWrap{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow-x:scroll !important;
  overflow-y:hidden !important;
  padding-bottom:14px !important;
}
body.page-tickets .ticketDetailSection table,
body.page-finalizados .ticketDetailSection table{
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
}
body.page-tickets .topbarActions,
body.page-finalizados .topbarActions{
  max-width:100% !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
}
body.page-tickets .ticketFilterBarPremium,
body.page-finalizados .ticketFilterBarPremium,
body.page-tickets .ticketToolsLine,
body.page-finalizados .ticketToolsLine{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
body.page-tickets .ticketToolsLine,
body.page-finalizados .ticketToolsLine{
  justify-content:flex-end !important;
}
@media(max-width:900px){
  body.page-tickets .mainContent,
  body.page-finalizados .mainContent{padding-right:12px !important;}
  body.page-tickets .ticketToolsLine,
  body.page-finalizados .ticketToolsLine{justify-content:flex-start !important;}
}


/* CRM v154 - PG Unico sem corte no topo e lista de orcamentos com rolagem horizontal/redimensionamento */
#avulsoPaymentDialog.dialogTopLock,
#avulsoPaymentDialog[open] {
  top: max(12px, env(safe-area-inset-top)) !important;
  transform: translateX(-50%) !important;
  max-height: calc(100vh - 24px) !important;
  overflow: hidden !important;
}
#avulsoPaymentDialog .dialogForm {
  max-height: calc(100vh - 104px) !important;
  overflow-y: auto !important;
}
.budgetListWrap.crmTableResizeHost,
.tableWrap.budgetListWrap,
.workspace-embed .budgetListWrap,
body.workspace-host-mode .currentWorkspacePane .budgetListWrap {
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}
.tableWrap.budgetListWrap .budgetListTable,
.budgetListWrap.crmTableResizeHost .budgetListTable {
  width: max(1600px, 100%);
  min-width: 1600px !important;
  table-layout: fixed !important;
}
.tableWrap.budgetListWrap .budgetListTable colgroup,
.budgetListWrap.crmTableResizeHost .budgetListTable colgroup {
  display: table-column-group !important;
}
.tableWrap.budgetListWrap .budgetListTable[data-resizable-table] {
  min-width: 1600px !important;
}

/* CRM v155 - letras globais sem teto artificial e colunas realmente livres */
.globalSizeControl .sizeControlLabel b{color:var(--text);font-weight:900;margin-left:4px;}
.globalSizeControl{flex:0 0 auto;}
html{min-width:0;}
.crmResizableTable{width:max-content!important;min-width:0!important;max-width:none!important;table-layout:fixed!important;}
.crmResizableTable col{min-width:0!important;max-width:none!important;}
.crmResizableTable th[data-column-key],
.crmResizableTable td[data-column-key]{min-width:0!important;max-width:none!important;width:auto!important;}
.crmTableResizeHost{overflow-x:auto!important;overflow-y:visible!important;scrollbar-gutter:stable;}
.colResizeHandle{width:18px!important;right:-9px!important;touch-action:none;}
body.page-orcamento .budgetListWrap .budgetListTable,
body.page-orcamento .budgetListWrap .budgetListTable[data-resizable-table],
body.page-tickets #ticketListTable,
body.page-tickets #ticketListTable[data-resizable-table],
body.page-finalizados #ticketListTable,
body.page-finalizados #ticketListTable[data-resizable-table]{width:max-content!important;min-width:0!important;max-width:none!important;table-layout:fixed!important;}
body.page-orcamento .budgetListWrap .budgetListTable colgroup,
body.page-tickets #ticketListTable colgroup,
body.page-finalizados #ticketListTable colgroup{display:table-column-group!important;}
body.isResizingColumns{cursor:col-resize!important;user-select:none!important;}


/* CRM v157 - Orçamento: Resumo Todos primeiro e rolagem horizontal dentro da sessão Orçamentos */
body.page-orcamento .globalSizeControl{display:none!important;}
body.page-orcamento .budgetHero{display:none!important;}
body.page-orcamento .budgetOverviewSection{order:1;}
body.page-orcamento .budgetOrdersSection{order:2;display:flex;flex-direction:column;min-height:0;}
body.page-orcamento .budgetOrdersActions{margin-left:auto;justify-content:flex-end;}
body.page-orcamento .budgetOrdersSection .budgetListWrap{
  width:100%!important;
  max-width:100%!important;
  max-height:clamp(320px, calc(100vh - 430px), 740px)!important;
  overflow:auto!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  padding-bottom:14px!important;
  border:1px solid rgba(229,188,86,.18);
  border-radius:22px;
  background:rgba(0,0,0,.08);
}
body.page-orcamento .budgetOrdersSection .budgetListWrap::-webkit-scrollbar{height:14px;width:14px;}
body.page-orcamento .budgetOrdersSection .budgetListWrap::-webkit-scrollbar-thumb{background:rgba(229,188,86,.62);border-radius:999px;border:3px solid rgba(6,14,24,.92);}
body.page-orcamento .budgetOrdersSection .budgetListWrap::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px;}
@media(max-width:900px){body.page-orcamento .budgetOrdersActions{width:100%;justify-content:flex-start;}body.page-orcamento .budgetOrdersSection .budgetListWrap{max-height:58vh!important;}}

/* CRM v158 - paginação 20/50/100 nas listas detalhadas e orçamento */
.detailHeaderActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.crmPagerSubtitle{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12px;
}
.crmPaginationControls{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
  color:var(--muted);
}
.crmPaginationControls.top{
  justify-content:flex-end;
}
.crmPaginationControls.bottom{
  justify-content:flex-start;
  margin-top:12px;
}
.crmPagerSize,
.crmPagerNav{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:5px 8px;
  border:1px solid rgba(229,188,86,.24);
  border-radius:15px;
  background:rgba(5,14,24,.72);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.crmPagerSize span,
.crmPagerInfo{
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  white-space:nowrap;
}
.crmPagerSelect{
  width:auto !important;
  min-width:76px !important;
  height:32px !important;
  min-height:32px !important;
  padding:4px 28px 4px 10px !important;
  border-radius:12px !important;
  font-weight:900 !important;
  color:var(--text) !important;
  background-color:rgba(13,28,45,.96) !important;
}
.crmPagerBtn{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid rgba(229,188,86,.42);
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#06101b;
  text-decoration:none;
  font-size:18px;
  font-weight:1000;
  line-height:1;
}
.crmPagerBtn.disabled{
  opacity:.38;
  pointer-events:none;
  filter:grayscale(.35);
}
.crmPagerRange{
  display:inline-flex;
  margin-left:8px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.budgetInlineMeta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
body.page-orcamento .budgetOrdersSection .crmPaginationControls.bottom{
  align-self:flex-start;
}
@media(max-width:900px){
  .detailSectionHeader,
  .detailHeaderActions,
  .crmPaginationControls.top{
    justify-content:flex-start !important;
    width:100%;
  }
  .crmPagerNav,
  .crmPagerSize{
    width:100%;
    justify-content:space-between;
  }
}


/* CRM v159/v160 - correções de altura da lista de orçamento e controles de letras */
body.page-orcamento .budgetFontControls{
  margin-right:4px !important;
  flex:0 0 auto !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap[data-detail-font-target="orcamento-lista"] .budgetListTable,
body.page-orcamento .budgetOrdersSection .budgetListWrap[data-detail-font-target="orcamento-lista"] .budgetListTable :where(th,td,span,strong,button,a,div){
  line-height:1.18 !important;
}
body.page-inicio .detailFontControls,
body.page-dashboard .detailFontControls{
  pointer-events:auto !important;
}

/* CRM v160 - paginação limpa, lista de orçamento maior e letras robustas */
.crmPaginationControls{
  gap:8px !important;
}
.crmPaginationControls.top{justify-content:flex-end !important;}
.crmPaginationControls.bottom{justify-content:flex-start !important;margin-top:12px !important;}
.crmPagerSize{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  min-height:38px !important;
}
.crmPagerNav{
  gap:6px !important;
  min-height:38px !important;
  padding:4px 6px !important;
  border-radius:16px !important;
  border:1px solid color-mix(in srgb, var(--primary-2) 40%, transparent) !important;
  background:linear-gradient(180deg, rgba(12,25,40,.92), rgba(5,12,22,.96)) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.crmPagerSelect{
  min-width:68px !important;
  width:68px !important;
  height:38px !important;
  min-height:38px !important;
  padding:5px 26px 5px 12px !important;
  border-radius:14px !important;
  border:1px solid color-mix(in srgb, var(--primary-2) 42%, transparent) !important;
  background:linear-gradient(180deg, rgba(17,35,54,.98), rgba(7,15,27,.98)) !important;
  color:var(--text) !important;
  font-weight:900 !important;
  text-align:center !important;
  box-shadow:0 10px 22px rgba(0,0,0,.18) !important;
}
.crmPagerBtn{
  width:36px !important;
  height:32px !important;
  border-radius:13px !important;
  border:1px solid color-mix(in srgb, var(--primary-2) 55%, transparent) !important;
  background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 88%, #ffffff 12%), var(--primary-2)) !important;
  color:#06101b !important;
  font-size:26px !important;
  font-weight:1000 !important;
  line-height:.8 !important;
  box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 24%, transparent) !important;
}
.crmPagerBtn:hover{transform:translateY(-1px) !important;}
.crmPagerBtn.disabled{opacity:.34 !important;filter:grayscale(.45) !important;box-shadow:none !important;}
.crmPagerInfo{
  min-width:48px !important;
  height:32px !important;
  padding:0 10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.05) !important;
  color:var(--primary-2) !important;
  font-size:12px !important;
  font-weight:1000 !important;
  letter-spacing:.02em !important;
}
.crmPagerRange,.crmPagerSize span{display:none !important;}

body.page-orcamento .budgetOrdersSection{
  min-height:1520px !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap{
  height:1280px !important;
  min-height:1280px !important;
  max-height:none !important;
  overflow:auto !important;
  padding-bottom:18px !important;
}
body.page-orcamento .budgetInlineMeta > strong,
body.page-orcamento .budgetInlineMeta > span:not(.crmPagerInfo){display:none !important;}
body.page-orcamento .budgetListTable td[data-label="STATUS"]{
  container-type:inline-size !important;
  container-name:budget-status-cell !important;
  min-width:0 !important;
}
body.page-orcamento .budgetListTable td[data-label="STATUS"] .budgetStatusPill{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding-block:clamp(3px, 2.2cqw, 8px) !important;
  padding-inline:clamp(5px, 4.8cqw, 14px) !important;
  border-radius:999px !important;
  white-space:normal !important;
  overflow:hidden !important;
  overflow-wrap:anywhere !important;
  text-overflow:clip !important;
  line-height:1.08 !important;
  font-size:clamp(7px, calc(6px + 5cqw), calc(var(--crm-detail-font-size, 13px) * 1.15)) !important;
}
@container budget-status-cell (max-width: 130px){
  .budgetStatusPill{line-height:1.02 !important;letter-spacing:-.02em !important;}
}
@container budget-status-cell (max-width: 95px){
  .budgetStatusPill{font-size:clamp(6px, calc(5px + 4cqw), calc(var(--crm-detail-font-size, 13px) * .82)) !important;padding-inline:4px !important;}
}
@container budget-status-cell (max-width: 70px){
  .budgetStatusPill{font-size:clamp(5px, calc(4px + 3.5cqw), calc(var(--crm-detail-font-size, 13px) * .65)) !important;padding:3px 3px !important;}
}
.crmDetailTableWrap,
.budgetListWrap[data-detail-font-target]{
  --crm-detail-font-size:13px;
}
.crmDetailTableWrap :where(table,th,td,.editCellBtn,.statusBadge,.valueOsCell,.sortLink),
.budgetListWrap[data-detail-font-target] :where(table,th,td,.editCellBtn,.statusBadge,.valueOsCell,.sortLink,.budgetOrderSub,.budgetOrderMain strong){
  font-size:var(--crm-detail-font-size, 13px) !important;
}
.detailFontControls{pointer-events:auto !important;position:relative !important;z-index:5 !important;}
.detailFontControls [data-detail-font]{pointer-events:auto !important;cursor:pointer !important;}

@media(max-width:900px){
  body.page-orcamento .budgetOrdersSection{min-height:auto !important;}
  body.page-orcamento .budgetOrdersSection .budgetListWrap{height:70vh !important;min-height:70vh !important;}
  .crmPagerNav,.crmPagerSize{width:auto !important;justify-content:flex-start !important;}
}


/* CRM v161 - Modo detalhado dobrado em Início, Tickets e Finalizados, com barra horizontal no final da seção */
body.page-inicio #dashboardDetailedSection,
body.page-tickets .ticketDetailSection,
body.page-finalizados .ticketDetailSection{
  min-height:1320px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body.page-inicio #dashboardDetailedSection .crmDetailTableWrap,
body.page-tickets .ticketDetailSection .crmDetailTableWrap,
body.page-finalizados .ticketDetailSection .crmDetailTableWrap,
body.page-tickets .ticketDetailSection .ticketTableWrap,
body.page-finalizados .ticketDetailSection .ticketTableWrap{
  height:1120px !important;
  min-height:1120px !important;
  max-height:none !important;
  flex:0 0 auto !important;
  overflow:auto !important;
  overflow-x:scroll !important;
  overflow-y:auto !important;
  padding-bottom:20px !important;
  scrollbar-gutter:stable both-edges !important;
}
body.page-inicio #dashboardDetailedSection .crmPaginationControls.bottom,
body.page-tickets .ticketDetailSection .crmPaginationControls.bottom,
body.page-finalizados .ticketDetailSection .crmPaginationControls.bottom{
  align-self:flex-start !important;
  margin-top:12px !important;
}
body.page-orcamento .budgetOrdersSection{
  min-height:3040px !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap{
  height:2560px !important;
  min-height:2560px !important;
  max-height:none !important;
  overflow:auto !important;
  overflow-x:scroll !important;
  overflow-y:auto !important;
  scrollbar-gutter:stable both-edges !important;
}
@media(max-width:900px){
  body.page-inicio #dashboardDetailedSection,
  body.page-tickets .ticketDetailSection,
  body.page-finalizados .ticketDetailSection{min-height:auto !important;}
  body.page-inicio #dashboardDetailedSection .crmDetailTableWrap,
  body.page-tickets .ticketDetailSection .crmDetailTableWrap,
  body.page-finalizados .ticketDetailSection .crmDetailTableWrap,
  body.page-tickets .ticketDetailSection .ticketTableWrap,
  body.page-finalizados .ticketDetailSection .ticketTableWrap{height:70vh !important;min-height:70vh !important;}
}

/* CRM v163 - Corrige espaco vazio no final do Modo detalhado em Orcamento.
   A lista volta a crescer conforme a quantidade real de linhas, mantendo a barra horizontal no fim da tabela. */
body.page-orcamento .budgetOrdersSection{
  min-height:auto !important;
  height:auto !important;
  overflow:visible !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:0 0 auto !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:18px !important;
  scrollbar-gutter:auto !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap .budgetListTable{
  width:max-content !important;
  min-width:1600px !important;
  max-width:none !important;
}
body.page-orcamento .budgetOrdersSection .crmPaginationControls.bottom{
  align-self:flex-start !important;
  margin-top:12px !important;
}

/* CRM v165 - altura dinâmica do Modo detalhado.
   A seção passa a acompanhar somente as linhas realmente exibidas pela paginação
   escolhida (20/50/100), mantendo a barra horizontal no fim real da tabela. */
body.page-inicio #dashboardDetailedSection,
body.page-tickets .ticketDetailSection,
body.page-finalizados .ticketDetailSection{
  min-height:auto !important;
  height:auto !important;
  overflow:visible !important;
}
body.page-inicio #dashboardDetailedSection .crmDetailTableWrap,
body.page-tickets .ticketDetailSection .crmDetailTableWrap,
body.page-finalizados .ticketDetailSection .crmDetailTableWrap,
body.page-tickets .ticketDetailSection .ticketTableWrap,
body.page-finalizados .ticketDetailSection .ticketTableWrap{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:0 0 auto !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:18px !important;
  scrollbar-gutter:auto !important;
}
body.page-inicio #dashboardDetailedSection .crmDetailTableWrap table,
body.page-tickets .ticketDetailSection .crmDetailTableWrap table,
body.page-finalizados .ticketDetailSection .crmDetailTableWrap table,
body.page-tickets .ticketDetailSection .ticketTableWrap table,
body.page-finalizados .ticketDetailSection .ticketTableWrap table{
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
}
body.page-inicio #dashboardDetailedSection .crmDetailTableWrap::-webkit-scrollbar,
body.page-inicio #dashboardDetailedSection .ticketTableWrap::-webkit-scrollbar,
body.page-inicio #dashboardDetailedSection .dashboardTableWrap::-webkit-scrollbar,
body.page-tickets .ticketDetailSection .crmDetailTableWrap::-webkit-scrollbar,
body.page-tickets .ticketDetailSection .ticketTableWrap::-webkit-scrollbar,
body.page-finalizados .ticketDetailSection .crmDetailTableWrap::-webkit-scrollbar,
body.page-finalizados .ticketDetailSection .ticketTableWrap::-webkit-scrollbar{
  display:block !important;
  height:14px !important;
  width:14px !important;
}
body.page-inicio #dashboardDetailedSection .crmDetailTableWrap::-webkit-scrollbar-track,
body.page-inicio #dashboardDetailedSection .ticketTableWrap::-webkit-scrollbar-track,
body.page-inicio #dashboardDetailedSection .dashboardTableWrap::-webkit-scrollbar-track,
body.page-tickets .ticketDetailSection .crmDetailTableWrap::-webkit-scrollbar-track,
body.page-tickets .ticketDetailSection .ticketTableWrap::-webkit-scrollbar-track,
body.page-finalizados .ticketDetailSection .crmDetailTableWrap::-webkit-scrollbar-track,
body.page-finalizados .ticketDetailSection .ticketTableWrap::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06) !important;
  border-radius:999px !important;
}
body.page-inicio #dashboardDetailedSection .crmDetailTableWrap::-webkit-scrollbar-thumb,
body.page-inicio #dashboardDetailedSection .ticketTableWrap::-webkit-scrollbar-thumb,
body.page-inicio #dashboardDetailedSection .dashboardTableWrap::-webkit-scrollbar-thumb,
body.page-tickets .ticketDetailSection .crmDetailTableWrap::-webkit-scrollbar-thumb,
body.page-tickets .ticketDetailSection .ticketTableWrap::-webkit-scrollbar-thumb,
body.page-finalizados .ticketDetailSection .crmDetailTableWrap::-webkit-scrollbar-thumb,
body.page-finalizados .ticketDetailSection .ticketTableWrap::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg, var(--primary), var(--primary-2)) !important;
  border-radius:999px !important;
  border:3px solid rgba(6,14,24,.92) !important;
}
body.page-orcamento .budgetOrdersSection{
  min-height:auto !important;
  height:auto !important;
  overflow:visible !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:0 0 auto !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:18px !important;
  scrollbar-gutter:auto !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap .budgetListTable{
  width:max-content !important;
  min-width:1600px !important;
  max-width:none !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap::-webkit-scrollbar{
  display:block !important;
  height:14px !important;
  width:14px !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06) !important;
  border-radius:999px !important;
}
body.page-orcamento .budgetOrdersSection .budgetListWrap::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg, var(--primary), var(--primary-2)) !important;
  border-radius:999px !important;
  border:3px solid rgba(6,14,24,.92) !important;
}
body.page-inicio #dashboardDetailedSection .crmPaginationControls.bottom,
body.page-tickets .ticketDetailSection .crmPaginationControls.bottom,
body.page-finalizados .ticketDetailSection .crmPaginationControls.bottom,
body.page-orcamento .budgetOrdersSection .crmPaginationControls.bottom{
  align-self:flex-start !important;
  margin-top:12px !important;
}
@media(max-width:900px){
  body.page-inicio #dashboardDetailedSection .crmDetailTableWrap,
  body.page-tickets .ticketDetailSection .crmDetailTableWrap,
  body.page-finalizados .ticketDetailSection .crmDetailTableWrap,
  body.page-tickets .ticketDetailSection .ticketTableWrap,
  body.page-finalizados .ticketDetailSection .ticketTableWrap,
  body.page-orcamento .budgetOrdersSection .budgetListWrap{
    height:auto !important;
    min-height:0 !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
  }
}


/* CRM v165 - ajustes visuais compactos e fontes robustas */
.configPageShell .themeToggleRow{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(120px, 180px)) !important;
  align-items:center !important;
  justify-content:start !important;
  gap:8px !important;
  margin-top:10px !important;
}
.configPageShell .compactThemeToggle{
  min-width:0 !important;
  width:100% !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  font-size:12px !important;
  justify-content:center !important;
  line-height:1 !important;
}
.configPageShell .compactThemeToggle input{width:14px !important;height:14px !important;}
[data-detail-font-target] :is(table, thead, tbody, tr, th, td, a, button, span, strong, small, div, label){
  font-size:var(--crm-detail-font-size, inherit);
}
body.page-orcamento .budgetOrdersSection .budgetListWrap,
body.page-inicio #dashboardDetailedSection .crmDetailTableWrap,
body.page-tickets .ticketDetailSection .crmDetailTableWrap,
body.page-finalizados .ticketDetailSection .crmDetailTableWrap{
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:18px !important;
}

/* CRM v173: o campo ESCOPO / DESCRICAO / NECESSIDADE do orcamento nao deve herdar a caixa alta global. */
body.page-orcamento .budgetScopeRichEditor,
body.page-orcamento .budgetScopeRichEditor *,
body.page-orcamento #budgetScopeEditor,
body.page-orcamento #budgetScopeEditor * {
  text-transform: none !important;
}


/* CRM V202 - ajustes de responsividade, detalhe e remoção do canvas pesado */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
body[data-ui-canvas="1"]{
  background:var(--bg) !important;
}
.crmBgCanvas,
.themeCanvasToggle{
  display:none !important;
}
.appShell,
.mainContent,
.panel,
.budgetPanel,
.workspacePage,
.pageSection{
  min-width:0 !important;
  max-width:100% !important;
}
.tableWrap,
.crmDetailTableWrap,
.ticketTableWrap,
.budgetListWrap,
.budgetOrdersTableWrap,
.dataTableWrap,
.modeDetailedWrap,
.detailedTableWrap{
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable both-edges;
}
.tableWrap table,
.crmDetailTableWrap table,
.ticketTableWrap table,
.budgetListWrap table,
.budgetOrdersTableWrap table,
.dataTableWrap table,
.modeDetailedWrap table,
.detailedTableWrap table{
  width:max-content;
  min-width:100%;
}
@media (max-width:1180px){
  .mainContent{padding-left:12px !important;padding-right:12px !important;}
  .panel,.budgetPanel{max-width:100% !important;}
}
@media (max-width:760px){
  .mobileSidebarBtn{
    display:inline-flex !important;
    position:fixed !important;
    top:calc(12px + env(safe-area-inset-top)) !important;
    left:12px !important;
    z-index:120 !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:999px !important;
    background:rgba(5,14,24,.72) !important;
    backdrop-filter:blur(12px) !important;
    box-shadow:0 12px 26px rgba(0,0,0,.28),0 0 0 1px rgba(115,186,247,.20) !important;
    opacity:.84 !important;
  }
  .topbarTitleWrap{padding-left:46px !important;}
  .topbarMain{position:relative;z-index:60;}
}

/* CRM_V212 refinamentos gerais */
.crmDetailTableWrap,
.tableWrap.crmDetailTableWrap,
.budgetListWrap {
  overflow-x: auto !important;
  overflow-y: visible;
  padding-bottom: 14px;
  scrollbar-gutter: stable both-edges;
}
.crmDetailTableWrap table,
.budgetListWrap table {
  min-width: 1120px;
}
.crmDetailTableWrap::-webkit-scrollbar,
.budgetListWrap::-webkit-scrollbar { height: 12px; }
.crmDateStack { display: inline-flex; flex-direction: column; gap: 2px; line-height: 1.12; max-width: 100%; white-space: normal; }
.crmDateStack strong { color: #38d47a; font-weight: 900; font-size: .92em; }
.crmEditDates { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; font-size: 12px; color: var(--muted, #8da3bd); }
.crmEditDates strong { color: #38d47a; }
.crmBlurredKpi .metricCard strong,
.crmBlurredKpi .metricBubbleBall strong,
.crmBlurredKpi .metricCard small {
  filter: blur(7px);
  user-select: none;
  pointer-events: none;
}
.budgetShortcutSection { margin-top: 14px; }
.budgetShortcutGrid { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.budgetProviderInlineBox { border: 1px solid rgba(115,186,247,.22); border-radius: 18px; padding: 14px; background: rgba(115,186,247,.06); }
.crmPermissionPanel { border: 1px solid rgba(115,186,247,.24); border-radius: 20px; padding: 14px; background: rgba(6,17,31,.28); }
.crmPermissionPanel h3 { margin: 0 0 6px; }
.crmPermissionGrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.crmPermissionGrid > div { display: grid; gap: 8px; align-content: start; }
.configUserLauncher .sectionHeader { align-items: center; }
.colIndex,
.rowIndexCell { white-space: nowrap !important; min-width: 42px; font-size: .82em; display: inline-block; }
.actionsDropdown .menuAction:disabled,
.btn.disabled { opacity: .55; cursor: not-allowed; }
.menuAction.successBtn { color: #5cff9b; }
@media (max-width: 920px) { .crmPermissionGrid { grid-template-columns: 1fr; } }

/* CRM_V213 - Modo detalhado compacto premium */
.osCyclePanel{
  position:relative;
  overflow:hidden;
  border-color:rgba(115,186,247,.20);
  background:linear-gradient(180deg,rgba(7,18,31,.94),rgba(4,10,18,.98));
}
.osCyclePanel:before{
  content:"";
  position:absolute;
  inset:-80px auto auto -90px;
  width:240px;
  height:240px;
  border-radius:999px;
  background:rgba(115,186,247,.10);
  filter:blur(8px);
  pointer-events:none;
}
.osCyclePanel > *{position:relative;z-index:1}
.osCycleList{display:grid;gap:10px}
.osCycleRow{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.018));
}
.osCycleRow.isComplete{border-color:rgba(56,212,122,.22);box-shadow:inset 3px 0 0 rgba(56,212,122,.72)}
.osCycleRow.isStarting{border-color:rgba(255,214,126,.18);box-shadow:inset 3px 0 0 rgba(255,214,126,.50)}
.osCycleHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.osCycleHead strong{display:block;font-size:13px;letter-spacing:.02em;color:#f3f9ff}
.osCycleHead span{display:block;margin-top:2px;font-size:11px;color:var(--muted);line-height:1.25}
.osCycleHead em{
  flex:0 0 auto;
  font-style:normal;
  font-weight:900;
  font-size:11px;
  color:#9ed8ff;
  border:1px solid rgba(115,186,247,.2);
  background:rgba(115,186,247,.06);
  border-radius:999px;
  padding:5px 8px;
}
.osCycleProgress{height:6px;overflow:hidden;border-radius:999px;border:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.045)}
.osCycleProgress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38d47a,#73baf7)}
.osCycleTrack{
  display:grid;
  grid-template-columns:repeat(7,minmax(118px,1fr));
  gap:8px;
  overflow-x:auto;
  padding-bottom:3px;
}
.osCycleStep{
  position:relative;
  min-height:58px;
  display:grid;
  align-content:start;
  gap:2px;
  padding:9px 9px 9px 32px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.026);
}
.osCycleStep span{
  position:absolute;
  left:9px;
  top:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.12);
}
.osCycleStep strong{font-size:10.5px;line-height:1.15;color:#dbefff;text-transform:uppercase;letter-spacing:.035em}
.osCycleStep small{font-size:10px;line-height:1.15;color:rgba(164,184,212,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.osCycleStep.isDone{background:rgba(56,212,122,.075);border-color:rgba(56,212,122,.20)}
.osCycleStep.isDone span{background:rgba(56,212,122,.16);color:#82f6b3;border-color:rgba(56,212,122,.28)}
.osCycleStep.isCurrent{background:rgba(255,214,126,.085);border-color:rgba(255,214,126,.24)}
.osCycleStep.isCurrent span{background:rgba(255,214,126,.15);color:#ffdf91;border-color:rgba(255,214,126,.30)}
.osCycleStep.isPending:not(.isCurrent){opacity:.72}
.crmPremiumCompact{
  padding:16px 18px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(7,18,31,.94),rgba(4,10,18,.985))!important;
  border-color:rgba(164,184,212,.11)!important;
}
.crmPremiumCompact .sectionHeader{margin-bottom:12px!important;align-items:center!important}
.crmPremiumCompact .sectionHeader h2,
.crmPremiumCompact .sectionHeader h3{font-size:18px!important;letter-spacing:-.02em!important;margin-bottom:2px!important}
.crmPremiumCompact .crmPagerSubtitle,
.crmPremiumCompact .sectionHeader p{font-size:11px!important;color:rgba(164,184,212,.84)!important;margin:0!important}
.crmPremiumCompact .detailHeaderActions{gap:7px!important;align-items:center!important}
.crmPremiumCompact .btn,
.crmPremiumCompact .iconBtn,
.crmPremiumCompact .budgetIconBtn{min-height:30px!important;border-radius:12px!important}
.crmPremiumCompact .crmDetailTableWrap,
.crmPremiumCompact .budgetListWrap{
  border-radius:18px!important;
  border-color:rgba(164,184,212,.10)!important;
  background:rgba(3,10,18,.34)!important;
  padding-bottom:10px!important;
}
.crmPremiumCompact :is(.ticketDataTable,.dashboardDataTable,.budgetListTable){border-collapse:separate!important;border-spacing:0 6px!important}
.crmPremiumCompact :is(.ticketDataTable,.dashboardDataTable,.budgetListTable) thead th{
  top:0;
  padding:8px 9px!important;
  font-size:10.5px!important;
  color:rgba(214,228,242,.76)!important;
  background:rgba(8,20,34,.96)!important;
  border-bottom:1px solid rgba(164,184,212,.10)!important;
}
.crmPremiumCompact :is(.ticketDataTable,.dashboardDataTable,.budgetListTable) tbody tr{
  background:rgba(255,255,255,.018)!important;
}
.crmPremiumCompact :is(.ticketDataTable,.dashboardDataTable,.budgetListTable) tbody td{
  padding:7px 9px!important;
  font-size:12px!important;
  line-height:1.22!important;
  border-top:1px solid rgba(164,184,212,.07)!important;
  border-bottom:1px solid rgba(164,184,212,.07)!important;
  background:rgba(255,255,255,.012)!important;
  color:rgba(231,240,249,.90)!important;
}
.crmPremiumCompact :is(.ticketDataTable,.dashboardDataTable,.budgetListTable) tbody td:first-child{border-left:1px solid rgba(164,184,212,.07)!important;border-radius:13px 0 0 13px!important}
.crmPremiumCompact :is(.ticketDataTable,.dashboardDataTable,.budgetListTable) tbody td:last-child{border-right:1px solid rgba(164,184,212,.07)!important;border-radius:0 13px 13px 0!important}
.crmPremiumCompact .editCellBtn,
.crmPremiumCompact .budgetOrderSub,
.crmPremiumCompact .financialLine{font-size:11.5px!important;line-height:1.2!important}
.crmPremiumCompact .statusBadge,
.crmPremiumCompact .budgetStatusPill,
.crmPremiumCompact .miniBadge{padding:5px 8px!important;font-size:10.5px!important;border-radius:999px!important}
.crmPremiumCompact .crmDateStack{gap:1px!important;line-height:1.05!important}
.crmPremiumCompact .crmDateStack strong{font-size:10.5px!important;color:#67e69d!important}
.crmPremiumCompact .actionsDropdown,
.crmPremiumCompact .budgetActionDropdown{border-radius:16px!important;background:rgba(5,13,23,.98)!important;border-color:rgba(115,186,247,.18)!important}
.crmPremiumCompact .rowStatus.status-red td,
.crmPremiumCompact .rowStatus.status-cancel td,
.crmPremiumCompact .rowStatus.status-yellow td{
  background:rgba(255,214,126,.045)!important;
}
.crmPremiumCompact .rowStatus.status-red td,
.crmPremiumCompact .rowStatus.status-cancel td{
  background:rgba(255,107,129,.075)!important;
  border-color:rgba(255,107,129,.16)!important;
}
.crmPremiumCompact .rowStatus.status-red td:first-child,
.crmPremiumCompact .rowStatus.status-cancel td:first-child{box-shadow:inset 3px 0 0 rgba(255,107,129,.88)!important}
.crmPremiumCompact .rowStatus.status-yellow td:first-child{box-shadow:inset 3px 0 0 rgba(255,214,126,.72)!important}
.crmPremiumCompact .financialLine.pending{color:#ffd67e!important}
.crmPremiumCompact .financialLine.paid{color:#82f6b3!important}
@media(max-width:1100px){.osCycleTrack{grid-template-columns:repeat(7,minmax(128px,1fr))}}
@media(max-width:760px){.osCycleHead{display:grid}.osCycleTrack{grid-template-columns:repeat(7,130px)}.crmPremiumCompact{padding:14px!important}}

/* CRM_V214 - ajustes compactos */
.osCycleStep{font-family:inherit;color:inherit;text-align:left;appearance:none;-webkit-appearance:none;}
.osCycleStep.isAction{cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease;}
.osCycleStep.isAction:hover{transform:translateY(-1px);border-color:rgba(115,186,247,.34);}
.osCycleStep.payment-unpaid{background:rgba(255,107,129,.095)!important;border-color:rgba(255,107,129,.34)!important;opacity:1!important;}
.osCycleStep.payment-unpaid span{background:rgba(255,107,129,.18)!important;color:#ff9bad!important;border-color:rgba(255,107,129,.42)!important;}
.osCycleStep.payment-partial{background:rgba(255,214,126,.12)!important;border-color:rgba(255,214,126,.38)!important;opacity:1!important;}
.osCycleStep.payment-partial span{background:rgba(255,214,126,.2)!important;color:#ffdf91!important;border-color:rgba(255,214,126,.44)!important;}
.osCycleStep.payment-paid{background:rgba(56,212,122,.105)!important;border-color:rgba(56,212,122,.34)!important;opacity:1!important;}
.osCycleStep.payment-paid span{background:rgba(56,212,122,.18)!important;color:#82f6b3!important;border-color:rgba(56,212,122,.42)!important;}
.osCycleDialog .dialogHeader p{margin:3px 0 0;color:var(--muted);font-size:12px;}
.osCycleSummaryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 14px;}
.osCycleSummaryGrid>div{border:1px solid rgba(115,186,247,.16);background:rgba(115,186,247,.055);border-radius:14px;padding:9px;min-width:0;}
.osCycleSummaryGrid small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.osCycleSummaryGrid strong{display:block;margin-top:3px;font-size:12px;color:#eef7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.osCyclePaidSummary{grid-template-columns:repeat(3,minmax(0,1fr));}
body.page-tickets .crmPremiumCompact td[data-column-key="data"],
body.page-finalizados .crmPremiumCompact td[data-column-key="data"]{white-space:nowrap!important;min-width:74px!important;max-width:92px!important;overflow:hidden!important;}
body.page-tickets .crmPremiumCompact .crmDateStack,
body.page-finalizados .crmPremiumCompact .crmDateStack{display:inline-grid!important;gap:1px!important;line-height:1.02!important;max-width:100%!important;white-space:nowrap!important;}
body.page-tickets .crmPremiumCompact .crmDateStack span,
body.page-tickets .crmPremiumCompact .crmDateStack strong,
body.page-finalizados .crmPremiumCompact .crmDateStack span,
body.page-finalizados .crmPremiumCompact .crmDateStack strong{display:block!important;font-size:9.5px!important;line-height:1.02!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;letter-spacing:-.02em!important;}
body.page-inicio #dashboardDetailTable td[data-column-key="status"]{white-space:nowrap!important;overflow:hidden!important;}
body.page-inicio #dashboardDetailTable td[data-column-key="status"] .statusBadge,
body.page-inicio #dashboardDetailTable td[data-column-key="status"] .statusCellBtn{max-width:100%!important;min-width:0!important;font-size:9.5px!important;line-height:1!important;padding:3px 6px!important;border-radius:999px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.page-inicio #dashboardDetailTable td[data-column-key="status"] .statusCellBtn{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;background:transparent!important;border:0!important;}
body.page-inicio #dashboardDetailTable td[data-column-key="status"] .statusCellBtn .statusBadge{padding:3px 6px!important;}
.configUserTopLauncher{margin-bottom:14px;}
.configUserOpenPanel .crmUserTopBar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.configUserOpenPanel .crmUserCards{margin-bottom:16px;}
.configUserOpenPanel .crmUserEditor{margin-top:8px;}
@media(max-width:760px){.osCycleSummaryGrid,.osCyclePaidSummary{grid-template-columns:1fr;}.configUserOpenPanel .crmUserTopBar{align-items:flex-start;flex-direction:column;}}

/* CRM_V215 - timeline premium expansível */
.navTree{display:grid;gap:8px;min-width:0}.navTree>summary{list-style:none;cursor:pointer}.navTree>summary::-webkit-details-marker{display:none}.navTree .navPlus{margin-left:auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);font-size:14px;font-weight:900;color:var(--text)}.navTree .navPlus:before{content:"+"}.navTree[open]>summary .navPlus:before{content:"−"}.navTreeLevel1{padding-left:14px;margin-top:8px}.navTreeLevel2{padding-left:14px;margin-top:8px}.navTreeChild{gap:6px}.navTreeChild>summary.navSubItem{min-height:42px;background:rgba(255,255,255,.018)}body.sidebar-collapsed .navTree .navPlus{display:none}body.sidebar-collapsed .navTreeLevel1,body.sidebar-collapsed .navTreeLevel2{padding-left:0}.osCycleTimelinePremium{border-color:rgba(115,186,247,.22)!important;background:linear-gradient(180deg,rgba(5,17,30,.98),rgba(3,9,17,.99))!important}.osCycleTitleBar h2{letter-spacing:-.03em}.osCycleTimelineRow{position:relative;padding:14px!important;border-radius:22px!important;border-color:rgba(164,184,212,.10)!important;background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.018))!important;box-shadow:0 12px 32px rgba(0,0,0,.18)}.osCycleTimelineHead{align-items:center!important}.osCycleHeadActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.osCycleToggle{min-height:28px!important;padding:6px 10px!important;border-radius:999px!important;font-size:11px!important}.osCycleMiniProgress{height:8px!important;background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.075)!important}.osCycleMiniProgress i{background:linear-gradient(90deg,#38d47a 0%,#73baf7 58%,#ffd67e 100%)!important;box-shadow:0 0 18px rgba(115,186,247,.25)}.osCycleBody{display:grid;overflow:hidden;transition:max-height .24s ease,opacity .2s ease,margin .2s ease;max-height:260px;opacity:1}.osCycleTimelineRow.isCollapsed .osCycleBody{max-height:0;opacity:0;margin-top:-8px;pointer-events:none}.osCycleTimelineTrack{position:relative;grid-template-columns:repeat(7,minmax(142px,1fr))!important;gap:10px!important;padding:8px 2px 4px!important}.osCycleTimelineTrack:before{content:"";position:absolute;left:20px;right:20px;top:30px;height:2px;background:linear-gradient(90deg,rgba(56,212,122,.45),rgba(115,186,247,.35),rgba(255,214,126,.25));pointer-events:none}.osCycleTimelineStep{min-height:82px!important;padding:12px 10px 10px!important;display:grid!important;justify-items:center!important;align-content:start!important;text-align:center!important;gap:5px!important;border-radius:18px!important;background:rgba(255,255,255,.028)!important;backdrop-filter:blur(8px);overflow:hidden}.osCycleTimelineStep .osCycleIcon{position:relative!important;left:auto!important;top:auto!important;width:34px!important;height:34px!important;font-size:18px!important;border-radius:16px!important;background:rgba(115,186,247,.12)!important;border:1px solid rgba(115,186,247,.20)!important;color:#fff!important;z-index:1}.osCycleTimelineStep .osCycleCheck{position:absolute!important;right:8px!important;top:8px!important;left:auto!important;width:18px!important;height:18px!important;font-size:11px!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;color:#dfefff!important}.osCycleTimelineStep strong{font-size:10px!important;line-height:1.12!important;letter-spacing:.045em!important;max-width:100%}.osCycleTimelineStep small{font-size:9.5px!important;line-height:1.1!important;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.osCycleTimelineStep.isDone .osCycleIcon{background:rgba(56,212,122,.16)!important;border-color:rgba(56,212,122,.32)!important;box-shadow:0 0 20px rgba(56,212,122,.14)}.osCycleTimelineStep.isCurrent .osCycleIcon{background:rgba(255,214,126,.16)!important;border-color:rgba(255,214,126,.36)!important;box-shadow:0 0 20px rgba(255,214,126,.16)}.osCycleTimelineStep.payment-unpaid .osCycleIcon{background:rgba(255,107,129,.18)!important;border-color:rgba(255,107,129,.42)!important}.osCycleTimelineStep.payment-partial .osCycleIcon{background:rgba(255,214,126,.20)!important;border-color:rgba(255,214,126,.44)!important}.osCycleTimelineStep.payment-paid .osCycleIcon{background:rgba(56,212,122,.18)!important;border-color:rgba(56,212,122,.42)!important}.osCycleTimelineRow.isCollapsed .osCycleTimelineHead{margin-bottom:0}.osCycleTimelineRow.isCollapsed .osCycleMiniProgress{margin-bottom:0}@media(max-width:1100px){.osCycleTimelineTrack{grid-template-columns:repeat(7,145px)!important}}@media(max-width:760px){.navTreeLevel1,.navTreeLevel2{padding-left:8px}.osCycleTimelineHead{display:grid!important}.osCycleHeadActions{justify-content:flex-start}.osCycleTimelineTrack{grid-template-columns:repeat(7,138px)!important}.osCycleTimelineStep{min-height:78px!important}}

/* CRM_V279 - badge da caixa MSG na sidebar */
.navBadge{margin-left:auto;min-width:24px;height:22px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,214,126,.18);border:1px solid rgba(255,214,126,.36);color:#ffe59a;font-size:11px;font-weight:900;line-height:1}.navItemMsg.active .navBadge{background:rgba(0,0,0,.18);color:#fff}body.sidebar-collapsed .navBadge{display:none!important}

/* CRM_V280 - badge MSG luminoso discreto */
.navItemMsg .navBadge{
  position:relative;
  box-shadow:0 0 0 1px rgba(255,214,126,.14),0 0 18px rgba(255,214,126,.22);
  animation:crmMsgBadgePulse 2.2s ease-in-out infinite;
}
.navItemMsg .navBadge:after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:999px;
  border:1px solid rgba(255,214,126,.16);
  opacity:.75;
  pointer-events:none;
}
@keyframes crmMsgBadgePulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.18)}}
@media (prefers-reduced-motion: reduce){.navItemMsg .navBadge{animation:none!important}}

/* CRM V290 - sidebar reorganizada */
.navDivider{
  height:1px;
  margin:4px 10px;
  background:linear-gradient(90deg,transparent,rgba(255,214,126,.28),transparent);
  opacity:.85;
}
.navGroupRecebimentos .navSubMenu{margin-top:8px;}
.navGroupRecebimentos .navSubItem{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:9px 14px;
  border-radius:14px;
  color:var(--muted);
  text-decoration:none;
  font-weight:900;
  border:1px solid rgba(255,255,255,.06);
}
.navGroupRecebimentos .navSubItem:hover,
.navGroupRecebimentos .navSubItem.active{
  border-color:rgba(255,214,126,.32);
}
body.sidebar-collapsed .navDivider{margin-left:4px;margin-right:4px;}

/* CRM V294 - matriz de permissoes e auditoria */
.permissionSummaryGrid {
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px;
  margin-top:14px;
}
.permissionSummaryGrid article {
  padding:14px;
  border:1px solid rgba(255,214,126,.18);
  border-radius:18px;
  background:rgba(0,20,38,.36);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.permissionSummaryGrid strong { display:block; color:#fff; font-size:1rem; }
.permissionSummaryGrid span { display:block; color:#ffd66f; font-weight:900; margin-top:4px; }
.permissionSummaryGrid small { color:var(--muted); font-weight:800; }
.permissionMatrixDetails { margin-top:14px; }
.permissionMatrixDetails summary {
  cursor:pointer;
  padding:12px 14px;
  border:1px solid rgba(255,214,126,.18);
  border-radius:16px;
  background:rgba(255,214,126,.08);
  font-weight:900;
}
.permissionMatrixWrap {
  width:100%;
  overflow:auto;
  margin-top:12px;
  border-radius:18px;
}
.permissionMatrixTable td small { display:block; color:var(--muted); margin-top:3px; max-width:520px; }
.crmPermHidden { display:none !important; }
.crmPermBlurred { filter:blur(4px); opacity:.45; pointer-events:none; user-select:none; }
@media (max-width:900px){.permissionSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:580px){.permissionSummaryGrid{grid-template-columns:1fr;}}

/* CRM V296 - sidebar compacta e nova ordem */
.sidebar { overflow-y: auto; }
.navMenu.compactNav { gap: 7px !important; }
.navMenu.compactNav .navItem { min-height: 40px !important; padding: 8px 13px !important; border-radius: 15px !important; }
.navMenu.compactNav .navDivider { margin: 5px 0 !important; opacity: .45; }
.navMenu.compactNav .navSubMenu { padding: 5px 0 4px 16px !important; gap: 5px !important; }
.navMenu.compactNav .navSubItem { min-height: 35px !important; padding: 8px 11px !important; border-radius: 13px !important; display:flex; align-items:center; gap:8px; }
.navMenu.compactNav .navTree:not([open]) .navSubMenu { display: none !important; }
.navMenu.compactNav .navTree summary { list-style: none; }
.navMenu.compactNav .navTree summary::-webkit-details-marker { display:none; }
.navMenu.compactNav .navPlus::before { content:'+'; }
.navMenu.compactNav .navTree[open] .navPlus::before { content:'−'; }
.sidebarFooter { padding-top: 6px !important; }


/* CRM V299 - sidebar compacta e nova ordem */
.sidebar .navMenu{gap:7px;margin-top:12px}
.sidebar .navItem{min-height:40px;padding:9px 12px;border-radius:14px}
.sidebar .navIcon{width:22px}
.sidebar .navDivider{margin:2px 8px}
.sidebar .navSubMenu{gap:6px;padding-left:12px}
.sidebar .navGroupRecebimentos .navSubItem{min-height:32px;padding:7px 12px;border-radius:12px;font-size:.92rem}
.sidebar .brandRow{margin-bottom:6px}
.sidebarFooter .navItem{min-height:40px}
.budgetShortcutSection .sectionHeader p{display:none}
.budgetShortcutGrid{justify-content:flex-end}
.budgetShortcutGrid .btn,.budgetShortcutGrid .budgetIconBtn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.crmAuditBtn{border-color:rgba(113,255,185,.35)!important;background:rgba(113,255,185,.12)!important;color:#cbffe5!important}


/* CRM V301 - padrão visual único do botão 🔗 Acessar */
.accessGoldBtn,
a.accessGoldBtn,
button.accessGoldBtn,
.menuAction.accessGoldBtn,
.btn.accessGoldBtn {
  border-color: rgba(255, 214, 107, .48) !important;
  background: linear-gradient(135deg, rgba(126, 87, 15, .96), rgba(255, 214, 107, .86)) !important;
  color: #181006 !important;
  font-weight: 1000 !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.10), 0 0 18px rgba(255,214,107,.18) !important;
}
.accessGoldBtn:hover {
  transform: translateY(-1px);
}
.accessGoldBtn.is-invalid {
  opacity: .72;
  border-color: rgba(255, 110, 110, .45) !important;
  background: linear-gradient(135deg, rgba(92, 30, 30, .95), rgba(255, 108, 108, .45)) !important;
  color: #ffe7e7 !important;
}


/* CRM V302 - sidebar sem barra quando Recebimentos está recolhido */
.sidebar {
  padding: 10px 14px !important;
  gap: 8px !important;
  overflow-y: hidden !important;
}
.sidebar:has(.navTree[open]) {
  overflow-y: auto !important;
}
.brandRow {
  gap: 8px !important;
  margin-bottom: 4px !important;
}
.brandWrap {
  transform: scale(.82);
  transform-origin: top center;
  margin: -8px auto -12px !important;
}
.brandLogo {
  max-height: 92px !important;
  object-fit: contain !important;
}
.sidebar .navMenu {
  gap: 4px !important;
  margin-top: 4px !important;
}
.sidebar .navItem {
  min-height: 34px !important;
  padding: 7px 11px !important;
  border-radius: 13px !important;
  gap: 9px !important;
  font-size: .92rem !important;
}
.sidebar .navIcon {
  width: 21px !important;
}
.sidebar .navDivider {
  margin: 1px 8px !important;
  min-height: 1px !important;
}
.sidebar .navSubMenu {
  gap: 4px !important;
  padding: 5px 0 5px 12px !important;
}
.sidebar .navSubItem {
  min-height: 29px !important;
  padding: 6px 10px !important;
  border-radius: 11px !important;
  font-size: .86rem !important;
}
.sidebarFooter {
  gap: 6px !important;
  margin-top: 4px !important;
}
.sidebarFooter .navItem {
  min-height: 36px !important;
}
.profitPercentCell {
  color: #b9f6d7;
  background: rgba(46, 209, 138, .11);
  border: 1px solid rgba(46, 209, 138, .22);
  border-radius: 999px;
  padding: 5px 9px;
  display: inline-flex;
  min-width: 54px;
  justify-content: center;
}


/* CRM V303 - cores automáticas da coluna % */
.profitPercentCell.profitPercentGood {
  color: #b9f6d7 !important;
  border-color: rgba(46, 209, 138, .36) !important;
  background: linear-gradient(135deg, rgba(46, 209, 138, .18), rgba(46, 209, 138, .08)) !important;
  box-shadow: 0 0 16px rgba(46, 209, 138, .12);
}
.profitPercentCell.profitPercentWarn {
  color: #ffe6aa !important;
  border-color: rgba(255, 198, 82, .42) !important;
  background: linear-gradient(135deg, rgba(255, 198, 82, .20), rgba(255, 198, 82, .08)) !important;
  box-shadow: 0 0 16px rgba(255, 198, 82, .10);
}
.profitPercentCell.profitPercentBad {
  color: #ffd0d0 !important;
  border-color: rgba(255, 86, 86, .44) !important;
  background: linear-gradient(135deg, rgba(255, 86, 86, .20), rgba(255, 86, 86, .08)) !important;
  box-shadow: 0 0 16px rgba(255, 86, 86, .10);
}
.profitPercentCell.profitPercentNeutral {
  color: var(--muted) !important;
  border-color: rgba(255,255,255,.13) !important;
  background: rgba(255,255,255,.055) !important;
}


/* CRM V304 - ícones da coluna % */
.profitPercentCell {
  gap: 5px;
  align-items: center;
}
.profitPercentCell.profitPercentGood::after {
  content: "boa";
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .78;
}
.profitPercentCell.profitPercentWarn::after {
  content: "atenção";
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .78;
}
.profitPercentCell.profitPercentBad::after {
  content: "baixa";
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .78;
}



/* CRM V427 - Area moderna para arrastar arquivos */
.crmFileDropzone{
  position:relative;
  display:grid;
  gap:10px;
  width:100%;
  min-height:124px;
  padding:14px;
  border:1px dashed rgba(115,186,247,.42);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(115,186,247,.09),rgba(229,188,86,.045)),rgba(255,255,255,.025);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 16px 34px rgba(0,0,0,.14);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.crmFileDropzone:hover,.crmFileDropzone.isDragging{
  border-color:rgba(124,241,180,.72);
  transform:translateY(-1px);
}
.crmFileDropzone input[type="file"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.crmFileDropzoneMain{display:flex;align-items:center;gap:12px;min-width:0;}
.crmFileDropzoneIcon{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:17px;
  border:1px solid rgba(115,186,247,.26);
  background:rgba(115,186,247,.12);
  font-size:22px;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.crmFileDropzoneMain strong{display:block;color:var(--text);font-weight:1000;line-height:1.2;}
.crmFileDropzoneMain small{display:block;margin-top:3px;color:var(--muted);font-weight:800;line-height:1.35;}
.crmFileDropzoneFiles{display:flex;gap:7px;flex-wrap:wrap;align-items:center;min-height:32px;color:var(--muted);font-size:.82rem;font-weight:800;}
.crmFileDropzoneFile{display:inline-flex;align-items:center;gap:6px;max-width:260px;padding:7px 10px;border-radius:999px;border:1px solid rgba(98,185,255,.22);background:rgba(98,185,255,.10);color:#dff5ff;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.crmFileDropzoneFile.isPdf{border-color:rgba(255,214,126,.28);background:rgba(255,214,126,.10);color:#fff0bd;}
.crmFileDropzoneFile.isImage{border-color:rgba(124,241,180,.28);background:rgba(124,241,180,.10);color:#d9ffe9;}
.crmFileDropzoneFile.isVideo{border-color:rgba(185,145,255,.30);background:rgba(185,145,255,.11);color:#efe5ff;}
.crmFileDropzoneFile.isWarn{border-color:rgba(255,86,86,.30);background:rgba(255,86,86,.10);color:#ffd0d0;}
@media(max-width:760px){.crmFileDropzone{min-height:112px;padding:12px}.crmFileDropzoneMain{align-items:flex-start}.crmFileDropzoneIcon{width:38px;height:38px;flex-basis:38px;font-size:19px}}

/* CRM V319 - Validação de serviço / Mural de evidências */
.validationMiniPreview {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  min-height:42px;
  padding:10px;
  border:1px dashed rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.validationFileChip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:260px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(98,185,255,.22);
  background:rgba(98,185,255,.10);
  color:#dff5ff;
  font-weight:900;
  font-size:.82rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.validationWarn {
  color:#ffd0d0;
  border:1px solid rgba(255,86,86,.30);
  background:rgba(255,86,86,.10);
  border-radius:12px;
  padding:8px 10px;
  font-weight:1000;
}


/* CRM V320 - Financeiro completo */
.financeShell{display:grid;gap:16px;padding-bottom:24px}
.financeVaultHero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;border:1px solid rgba(255,214,107,.18);border-radius:26px;padding:18px;background:radial-gradient(circle at top left,rgba(255,214,107,.16),transparent 38%),linear-gradient(135deg,rgba(7,17,31,.92),rgba(13,31,50,.84));box-shadow:0 22px 55px rgba(0,0,0,.18)}
.financeVaultHero h1{margin:0;font-size:1.65rem}.financeVaultHero p{margin:6px 0 0;color:var(--muted)}
.financeFilters{display:flex;gap:9px;align-items:end;flex-wrap:wrap;justify-content:flex-end}.financeFilters label{display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:900}.financeFilters input{min-width:132px}
.financeTabs{display:flex;gap:8px;flex-wrap:wrap}.financeTabs a{border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:9px 12px;background:rgba(255,255,255,.04);color:var(--text);text-decoration:none;font-weight:900}.financeTabs a.active{background:linear-gradient(135deg,rgba(255,214,107,.24),rgba(75,160,255,.12));border-color:rgba(255,214,107,.35);box-shadow:0 0 18px rgba(255,214,107,.13)}
.financeVaultCards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.financeVaultCards.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.financeVaultCards article{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:13px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:0 12px 30px rgba(0,0,0,.11)}
.financeVaultCards span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;font-weight:1000;letter-spacing:.04em}.financeVaultCards strong{display:block;margin-top:6px;font-size:1.12rem;color:#f5fbff}.financeVaultCards small{display:block;color:var(--muted);margin-top:5px;font-weight:700}
.financePanel{overflow:visible}.financeTwoCols{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.financeListMini{display:grid;gap:7px}.financeMiniRow{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);border-radius:14px;padding:9px}.financeMiniRow span{color:var(--muted);font-size:.82rem}.financeMiniRow strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.financeMiniRow em{font-style:normal;color:#ffe6aa;font-weight:1000}
.financeSearch{display:flex;gap:8px;align-items:center;margin:10px 0 14px}.financeSearch input{flex:1}
.financeTableWrap{overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(0,0,0,.12)}
.financeTable{width:100%;min-width:920px;border-collapse:separate;border-spacing:0}.financeTable th,.financeTable td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;vertical-align:middle}.financeTable th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.04)}.financeTable tr.isOverdue td{background:rgba(255,80,80,.055)}
.financeBadge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-weight:1000;font-size:.76rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}.financeBadge.ok{color:#b9f6d7;background:rgba(46,209,138,.12);border-color:rgba(46,209,138,.32)}.financeBadge.warn{color:#ffe6aa;background:rgba(255,214,107,.12);border-color:rgba(255,214,107,.32)}.financeBadge.muted{color:var(--muted)}
.financeCloseGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:58vh;overflow:auto}.financeCloseGrid>div{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;background:rgba(255,255,255,.03)}.financeCheck{display:flex;gap:8px;align-items:flex-start;border-bottom:1px dashed rgba(255,255,255,.08);padding:7px 0;font-size:.86rem}.financeCheck input{margin-top:2px}.wideDialog{width:min(1080px,96vw)!important}
.checkboxLine{display:flex!important;gap:8px;align-items:center}.checkboxLine input{width:auto!important}
@media(max-width:1200px){.financeVaultCards{grid-template-columns:repeat(3,minmax(0,1fr))}.financeVaultHero{grid-template-columns:1fr}.financeFilters{justify-content:flex-start}.financeTwoCols{grid-template-columns:1fr}}
@media(max-width:760px){.financeVaultCards,.financeVaultCards.compact{grid-template-columns:1fr}.financeCloseGrid{grid-template-columns:1fr}.financeMiniRow{grid-template-columns:1fr}.financeFilters{display:grid}.financeFilters input{width:100%}}


/* CRM V322 - Status do caixa, regerar despesas e log de fechamento */
.financeHeroTopline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.financeCashStatusBadge{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:6px 12px;font-weight:1000;font-size:.8rem;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 18px rgba(255,255,255,.06)}
.financeCashStatusBadge.status-aberto{color:#dbeafe;background:rgba(59,130,246,.14);border-color:rgba(96,165,250,.34)}
.financeCashStatusBadge.status-parcial{color:#ffe6aa;background:rgba(255,214,107,.13);border-color:rgba(255,214,107,.36)}
.financeCashStatusBadge.status-fechado{color:#b9f6d7;background:rgba(46,209,138,.13);border-color:rgba(46,209,138,.36)}
.financeCashStatusHint{display:block;margin-top:6px;color:var(--muted);font-weight:800}
.financeHeroActions{display:flex;align-items:end;justify-content:flex-end}
.financeInlineForm{margin:0;display:flex;align-items:center;gap:8px}
.financeInlineForm .btn{white-space:nowrap}
.financeTable .miniBtn{min-height:31px;padding:6px 9px}
@media(max-width:1100px){.financeHeroActions{justify-content:flex-start}.financeVaultHero{grid-template-columns:1fr!important}}


/* CRM V323 - Financeiro sem botões duplicados e cards clicáveis */
.financeCardLink{display:block;text-decoration:none;color:inherit;border-radius:20px;min-width:0}
.financeCardLink article{height:100%;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.financeCardLink:hover article{transform:translateY(-2px);border-color:rgba(255,214,107,.38);}
.financeFilterPill{display:inline-flex;vertical-align:middle;margin-left:8px;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,214,107,.32);background:rgba(255,214,107,.12);color:#ffe6aa;font-size:.72rem;font-weight:1000}

/* CRM V324 - NFs juntas no Financeiro e hover dos cards */
.financeCardLink article{position:relative;overflow:hidden; padding-bottom:34px;}
.financeCardLink article::after{content:'Abrir filtro →';position:absolute;right:12px;bottom:10px;opacity:0;transform:translateX(-6px);transition:opacity .16s ease,transform .16s ease;color:#ffe6aa;font-size:.76rem;font-weight:1000;text-shadow:0 0 12px rgba(255,214,107,.45)}
.financeCardLink:hover article::after{transform:translateX(0)}
.financeNfGuide{border-color:rgba(98,185,255,.18)!important;background:linear-gradient(135deg,rgba(8,26,43,.86),rgba(18,31,48,.72))!important}
.financeNfQuickLinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.financeNfQuickLinks a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--text);border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.045);padding:9px 12px;font-weight:1000}
.financeNfQuickLinks a:hover{border-color:rgba(255,214,107,.38);}
.financeNfQuickLinks strong{color:#ffe6aa}
.financeNfSection{scroll-margin-top:110px}
.financeNfTable{min-width:1280px!important}

/* CRM V325 - Correção de workspace, selo de NF e fechamento rápido */
.financeNfSeal{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:1000;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:var(--muted)}
.financeNfSeal.seal-early{color:#b9f6d7;background:rgba(46,209,138,.13);border-color:rgba(46,209,138,.34)}
.financeNfSeal.seal-ontime{color:#dbeafe;background:rgba(59,130,246,.13);border-color:rgba(96,165,250,.34)}
.financeNfSeal.seal-late{color:#ffd0d0;background:rgba(255,76,76,.13);border-color:rgba(255,76,76,.35)}
.financeNfSeal.seal-waiting{color:#ffe6aa;background:rgba(255,214,107,.12);border-color:rgba(255,214,107,.32)}
.financeNfSeal.seal-neutral{color:#eaf6ff;background:rgba(255,255,255,.06)}
.financeQuickClosePanel{display:flex;gap:14px;align-items:center;justify-content:space-between;border-color:rgba(46,209,138,.22)!important;background:linear-gradient(135deg,rgba(46,209,138,.10),rgba(11,22,36,.88))!important}
.financeQuickClosePanel h2{margin:0 0 5px}.financeQuickClosePanel p{margin:0;color:var(--muted);font-weight:800}
@media(max-width:760px){.financeQuickClosePanel{display:grid}}


/* CRM V326 - controle de itens usados no caixa */
.financeUseBadge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:1000;border:1px solid rgba(255,255,255,.12);white-space:nowrap}
.financeUseBadge.used{color:#baf7d7;background:rgba(46,209,138,.14);border-color:rgba(46,209,138,.34);box-shadow:0 0 16px rgba(46,209,138,.10)}
.financeUseBadge.open{color:#d9e7ff;background:rgba(96,165,250,.10);border-color:rgba(96,165,250,.24)}
.financeHeaderActions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.financeCloseGrid .subInfo{display:block;margin:4px 0 8px;color:var(--muted)}


/* CRM V327 - Estorno de fechamento e cadeado verde */
.financeUseBadge.used{color:#baf7d7;background:rgba(16,185,129,.16);border-color:rgba(16,185,129,.45);box-shadow:0 0 18px rgba(16,185,129,.16)}
.financeUseBadge.reversed{color:#ffd0d0;background:rgba(255,76,76,.13);border-color:rgba(255,76,76,.35)}
.financeClosingActions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.financeClosingActions form{margin:0}
.btn.danger{background:linear-gradient(135deg,rgba(255,76,76,.96),rgba(126,20,44,.96));color:#fff;border-color:rgba(255,190,190,.35)}


/* CRM V328 - Correção global de popups cortados no topo */
.crmDialog[open],
.crmDialog.forceOpen,
.crmDialog.isManualOpen {
  position: fixed !important;
  left: 50% !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  transform: translateX(-50%) !important;
  max-height: calc(100dvh - 28px) !important;
  max-width: calc(100vw - 24px) !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.crmDialog .dialogHeader {
  position: sticky;
  top: 0;
  z-index: 8;
  background: linear-gradient(180deg, rgba(8,19,31,.99), rgba(8,19,31,.95));
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding-bottom: 14px;
}
.crmDialog > .dialogForm,
.crmDialog > form.dialogForm {
  max-height: calc(100dvh - 120px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.crmDialog > .dialogForm.compact,
.crmDialog > form.dialogForm.compact {
  max-width: none;
}
.crmDialog.wideDialog > .dialogForm,
.crmDialog.wideDialog > form.dialogForm {
  max-height: calc(100dvh - 120px);
}
.crmDialog .dialogActions {
  position: sticky;
  bottom: 0;
  z-index: 7;
  background: linear-gradient(0deg, rgba(8,19,31,.99), rgba(8,19,31,.92));
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 12px;
}
@supports not (height: 100dvh) {
  .crmDialog[open],
  .crmDialog.forceOpen,
  .crmDialog.isManualOpen {
    max-height: calc(100vh - 28px) !important;
  }
  .crmDialog > .dialogForm,
  .crmDialog > form.dialogForm {
    max-height: calc(100vh - 120px);
  }
}
@media (max-height: 680px) {
  .crmDialog .dialogHeader { padding-top: 14px; padding-bottom: 10px; }
  .crmDialog > .dialogForm,
  .crmDialog > form.dialogForm { max-height: calc(100dvh - 96px); }
}


/* CRM V330 - Saídas integradas com custos de OS e formulário inteligente */
.financeSubTitle{margin:18px 0 10px;font-size:1rem;color:#ffe6aa;letter-spacing:.02em;text-transform:uppercase}
.inputWithActions{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px;gap:6px;align-items:center}
.iconBtn.miniIcon{width:38px;height:38px;min-width:38px;border-radius:12px;font-weight:1000}
.financeCommissionInfo{display:block;margin-top:6px;font-weight:900;font-size:.76rem;line-height:1.35}
.financeCommissionInfo.warn{color:#ffb4a8}.financeCommissionInfo.ok{color:#b9f6d7}
.fieldLabel.hidden{display:none!important}
.financeTable td small{display:block;color:var(--muted);margin-top:3px;font-weight:700}


/* CRM V331 - KPIs de NF, origem da saída e etiquetas */
.financeNfKpiGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.financeNfKpiGrid article{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:13px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:0 12px 26px rgba(0,0,0,.10)}
.financeNfKpiGrid span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;font-weight:1000;letter-spacing:.04em}
.financeNfKpiGrid strong{display:block;margin-top:6px;font-size:1.22rem;color:#f5fbff}
.financeNfKpiGrid small{display:block;margin-top:5px;color:#e6d49a;font-weight:800}
.financeSearchWrap{flex-wrap:wrap}
.financeMiniSelect{min-height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0b1a2c;color:var(--text);padding:0 12px;font-weight:900}
.financeInlineSelect{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.8rem;font-weight:1000}
.financeOriginTag{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-weight:1000;font-size:.72rem;border:1px solid rgba(255,255,255,.13);white-space:nowrap}
.financeOriginTag.origin-custos_os{color:#d9f4ff;background:rgba(59,130,246,.14);border-color:rgba(96,165,250,.38)}
.financeOriginTag.origin-despesas{color:#ffe8ad;background:rgba(255,214,107,.13);border-color:rgba(255,214,107,.38)}
.financeOriginTag.origin-vale{color:#ffd8e4;background:rgba(255,76,120,.13);border-color:rgba(255,76,120,.34)}
.financeOriginTag.origin-comissao{color:#dfd4ff;background:rgba(143,91,255,.15);border-color:rgba(143,91,255,.38)}
.financeOriginTag.origin-salario{color:#c8f7d8;background:rgba(46,209,138,.13);border-color:rgba(46,209,138,.36)}
@media(max-width:900px){.financeNfKpiGrid{grid-template-columns:1fr}.financeInlineSelect{width:100%}.financeMiniSelect{width:100%}}


/* CRM V332 - Previsão de caixa e gráfico de linha */
.financeForecastCards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.financeForecastLegend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 10px}
.financeForecastLegend span{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:1000;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045)}
.financeForecastLegend span::before{content:"";width:18px;height:4px;border-radius:99px;display:inline-block}
.financeForecastLegend .legendIn::before{background:#52d68a}
.financeForecastLegend .legendOut::before{background:#ff6262}
.financeForecastLegend .legendBalance::before{background:#63a8ff}
.financeForecastChart{border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));overflow:auto;margin-bottom:14px}
.financeForecastSvg{width:100%;min-width:720px;height:auto;display:block}
.financeForecastSvg .grid{stroke:rgba(255,255,255,.20);stroke-width:1}
.financeForecastSvg .grid.soft{stroke:rgba(255,255,255,.07)}
.financeForecastSvg .line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,255,255,.08))}
.financeForecastSvg .lineIn{stroke:#52d68a}
.financeForecastSvg .lineOut{stroke:#ff6262}
.financeForecastSvg .lineBalance{stroke:#63a8ff}
.financeForecastSvg text{fill:rgba(236,245,255,.72);font-size:13px;font-weight:800}
@media(max-width:900px){.financeForecastCards{grid-template-columns:1fr!important}}


/* CRM V342 - aviso de sigla pendente ao vincular Link no Orçamento */
.budgetLinkClientWarn {
  display: inline-flex;
  width: fit-content;
  margin-top: 7px;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 1000;
  color: #ffdca3;
  background: rgba(255,163,26,.14);
  border: 1px solid rgba(255,163,26,.42);
}
.budgetLinkClientWarn[hidden] {
  display: none !important;
}


/* CRM V369 - colunas redimensionáveis sem limite visual pesado */
table.crmResizableTable th,
table.crmResizableTable td{
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:auto;
  vertical-align:middle;
}
table.crmResizableTable th > *,
table.crmResizableTable td > *{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
table.crmResizableTable .btn,
table.crmResizableTable a.btn,
table.crmResizableTable button.btn{
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  line-height:1.15;
  padding-left:6px;
  padding-right:6px;
}
table.crmResizableTable .crmColUltraCompact{
  font-size:var(--crm-col-font-size, 8px) !important;
  line-height:var(--crm-col-line-height, 1.1) !important;
  letter-spacing:0 !important;
  padding-left:2px !important;
  padding-right:2px !important;
}
table.crmResizableTable .crmColUltraCompact *{
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}


/* CRM V371 - tabelas redimensionáveis: quebra por palavra inteira, depois reduz fonte até 3px */
table.crmResizableTable th,
table.crmResizableTable td,
table.crmResizableTable th > *,
table.crmResizableTable td > *{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  white-space:normal!important;
}
table.crmResizableTable .crmColUltraCompact,
table.crmResizableTable .crmColUltraCompact *{
  font-size:var(--crm-col-font-size, 8px)!important;
  line-height:var(--crm-col-line-height, 1.08)!important;
}
.ticketDetailTotals{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.ticketDetailTotals article{min-width:150px;border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:8px 10px;background:rgba(255,255,255,.045);box-shadow:0 10px 26px rgba(0,0,0,.16)}.ticketDetailTotals span{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.ticketDetailTotals strong{display:block;color:var(--text);font-size:15px;margin-top:2px}.ticketDetailTotals .profit strong{color:#7cf1b4}

/* V380 - seleção oficial da logo padrão dos PDFs */
.crmPdfLogoForm{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.pdfLogoSettingsIntro{
  display:grid;
  gap:6px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb, var(--primary) 24%, var(--line));
  border-radius:18px;
  background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 13%, rgba(255,255,255,.035)), rgba(255,255,255,.035));
}
.pdfLogoSettingsIntro strong{
  font-size:15px;
  letter-spacing:.02em;
}
.pdfLogoSettingsIntro small{
  color:var(--muted);
  line-height:1.45;
}
.crmPdfLogoChoice{
  position:relative;
  min-height:150px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.035);
  display:grid;
  grid-template-rows:auto 1fr;
  align-items:center;
  justify-items:center;
  gap:10px;
  padding:16px;
  text-align:center;
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.crmPdfLogoChoice:hover,
.crmPdfLogoChoice.active{
  transform:translateY(-1px);
  border-color:color-mix(in srgb, var(--primary) 65%, var(--line));
}
.crmPdfLogoChoice input{
  position:absolute;
  top:12px;
  left:12px;
  accent-color:var(--primary);
}
.crmPdfLogoChoice span{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
}
.crmPdfLogoChoice img{
  max-width:min(260px, 100%);
  max-height:86px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));
}
.crmPdfLogoChoice em{
  color:var(--muted);
  font-size:13px;
  font-style:normal;
}

/* CRM V396 - chips discretos de filtros ativos nos próprios formulários */
.crmFilterFormEnhanced{position:relative!important;}
.crmFilterChipsBar{
  grid-column:1/-1;
  width:100%;
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:0 0 8px 0;
  padding:6px 8px;
  border-radius:14px;
  border:1px solid rgba(255,214,107,.16);
  background:linear-gradient(135deg,rgba(255,214,107,.075),rgba(115,186,247,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.crmFilterCountChip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(115,186,247,.24);
  background:rgba(115,186,247,.10);
  color:#dff3ff;
  font-size:.68rem;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
}
.crmFilterChipList{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;flex:1;}
.crmFilterChip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:260px;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(255,214,107,.22);
  background:rgba(255,214,107,.085);
  color:#ffe9ad;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.crmFilterChip strong{font-size:.64rem;color:#fff4c8;text-transform:uppercase;letter-spacing:.035em;}
.crmFilterChip em{font-style:normal;color:#cfeeff;overflow:hidden;text-overflow:ellipsis;}
.crmFilterChip.muted{flex:0 0 auto;color:#b9dfff;border-color:rgba(115,186,247,.22);background:rgba(115,186,247,.08);}
.crmFilterClearMini{
  flex:0 0 auto;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(6,16,27,.72);
  color:#fff6cc;
  font-size:.68rem;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(0,0,0,.16);
}
.crmFilterClearMini:hover{border-color:rgba(255,214,107,.42);}
@media(max-width:760px){
  .crmFilterChipsBar{align-items:flex-start;padding:7px;}
  .crmFilterChip{max-width:100%;}
  .crmFilterClearMini{width:100%;justify-content:center;}
}

/* CRM V399 - Inicio: KPI Producao alinhado + mapa Brasil + desempenho vendedor */
body.page-inicio .dashboardKpiCircles .metricsBubbleGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(112px,1fr))!important;align-items:stretch!important;gap:12px!important;}
body.page-inicio .dashboardKpiCircles .metricBubbleCard{height:118px!important;min-height:118px!important;max-height:118px!important;display:grid!important;place-items:center!important;align-content:center!important;padding:8px!important;}
body.page-inicio .dashboardKpiCircles .metricBubbleBall{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;}
body.page-inicio .dashboardKpiCircles .metricBubbleCaption{height:24px!important;white-space:normal!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.inicioGeoLayout{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:18px;align-items:start}.inicioBrazilMap{min-height:310px;border:1px solid var(--line);border-radius:26px;padding:18px;background:radial-gradient(circle at 50% 30%,rgba(115,186,247,.18),transparent 55%),linear-gradient(180deg,rgba(9,24,39,.98),rgba(4,10,18,.98));display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:38px;gap:7px}.inicioMapUf{border:1px solid rgba(255,255,255,.09);border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--muted);background:rgba(255,255,255,.035)}.inicioMapUf.hasData{color:#06131f;background:linear-gradient(135deg,#7cf1b4,#73baf7);box-shadow:0 10px 24px rgba(64,190,255,.18)}.inicioStateList{max-height:310px;overflow:auto;padding-right:6px;display:grid;gap:7px}.inicioStateRow{display:grid;grid-template-columns:1fr 74px 74px;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:9px 11px;background:rgba(255,255,255,.035);font-size:12px}.inicioStateRow strong{font-size:12px}.inicioStateRow span{text-align:right;color:var(--muted);font-weight:800}.inicioStateRow .approved{color:#7cf1b4}.inicioStateRow.active{border-color:rgba(115,186,247,.35);background:rgba(115,186,247,.08)}.inicioSellerPerformancePanel .inlineMonthForm{display:flex;gap:8px;align-items:center}.inicioSellerPerformancePanel input[type="month"]{border:1px solid var(--line);background:rgba(6,14,22,.96);color:var(--text);border-radius:12px;padding:8px 10px}.inicioSellerPerformanceWrap{max-height:420px;overflow:auto}.inicioSellerPerformanceTable th,.inicioSellerPerformanceTable td{white-space:nowrap}.successText{color:#7cf1b4;font-weight:900}@media(max-width:900px){.inicioGeoLayout{grid-template-columns:1fr}.inicioBrazilMap{grid-template-columns:repeat(4,1fr)}.inicioStateRow{grid-template-columns:1fr 64px 64px}}

/* CRM V400 - Mapa Brasil realçado e filtros por período no início */
.inicioPeriodHeader{gap:14px;align-items:flex-start}.inicioPeriodForm{display:flex;gap:10px;align-items:end;flex-wrap:wrap;justify-content:flex-end}.inicioPeriodForm label{display:grid;gap:5px;font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.inicioPeriodForm input[type="date"]{min-width:142px;border:1px solid var(--line);background:rgba(6,14,22,.96);color:var(--text);border-radius:12px;padding:8px 10px;font-weight:800}.inicioGeoLayoutMapOnly{display:block}.inicioBrazilMapShape{position:relative;min-height:560px;border:1px solid rgba(115,186,247,.24);border-radius:28px;overflow:hidden;background:radial-gradient(circle at 47% 38%,rgba(115,186,247,.20),transparent 48%),linear-gradient(180deg,rgba(9,24,39,.98),rgba(4,10,18,.98));box-shadow:inset 0 0 0 1px rgba(229,188,86,.08)}.inicioBrazilSvg{position:absolute;inset:18px 10% 34px 10%;width:80%;height:calc(100% - 52px);filter:drop-shadow(0 24px 50px rgba(0,0,0,.38))}.inicioBrazilSvg path{fill:rgba(115,186,247,.10);stroke:rgba(115,186,247,.45);stroke-width:1.4}.inicioMapBadge{position:absolute;transform:translate(-50%,-50%);min-width:46px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(8,18,30,.88);box-shadow:0 10px 24px rgba(0,0,0,.25);padding:4px 5px;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"uf uf" "total approved";gap:2px;text-align:center;line-height:1;z-index:2}.inicioMapBadge b{grid-area:uf;font-size:11px;color:#dcecff}.inicioMapBadge em,.inicioMapBadge i{font-style:normal;font-size:10px;font-weight:900;border-radius:9px;padding:3px 2px}.inicioMapBadge em{grid-area:total;background:rgba(115,186,247,.15);color:#a9ddff}.inicioMapBadge i{grid-area:approved;background:rgba(124,241,180,.15);color:#7cf1b4}.inicioMapBadge.hasData{border-color:rgba(124,241,180,.55);background:linear-gradient(180deg,rgba(7,28,42,.95),rgba(4,15,25,.95));box-shadow:0 14px 32px rgba(64,190,255,.20)}.inicioMapLegend{position:absolute;right:18px;bottom:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inicioMapLegend span{border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:7px 10px;background:rgba(0,0,0,.22);font-size:11px;font-weight:900;color:var(--muted)}.inicioMapLegend em,.inicioMapLegend i{font-style:normal;color:#7cf1b4}.inicioSellerActions{align-items:flex-end}.inicioSellerPerformanceTable th{font-size:11px}.inicioSellerPerformanceTable td{font-size:12px}@media(max-width:900px){.inicioPeriodHeader{display:grid}.inicioPeriodForm{justify-content:flex-start}.inicioBrazilMapShape{min-height:640px}.inicioMapBadge{min-width:42px}.inicioBrazilSvg{inset:24px 2% 42px 2%;width:96%}}

/* CRM V401 - Mapa Brasil fiel por estados no fim do Início */
.inicioGeoPanelReal{margin-top:18px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(15,34,52,.98),rgba(8,13,18,.98));border-color:rgba(115,186,247,.24)}
.inicioGeoPanelReal:before{content:"";position:absolute;inset:-40% -20% auto auto;width:520px;height:520px;background:radial-gradient(circle,rgba(115,186,247,.18),transparent 62%);pointer-events:none}.inicioGeoPanelReal>.sectionHeader,.inicioBrazilMapBoard{position:relative;z-index:1}.inicioBrazilMapBoard{display:grid;grid-template-columns:minmax(360px,1fr) 270px;gap:18px;align-items:stretch}.inicioBrazilSvgWrap{min-height:660px;border:1px solid rgba(115,186,247,.18);border-radius:30px;background:radial-gradient(circle at 52% 42%,rgba(115,186,247,.18),transparent 52%),linear-gradient(180deg,rgba(3,14,25,.86),rgba(3,8,14,.98));box-shadow:inset 0 0 0 1px rgba(229,188,86,.06),0 22px 55px rgba(0,0,0,.24);display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.inicioBrazilRealSvg{width:min(100%,620px);height:100%;max-height:720px;overflow:visible}.inicioBrazilStateLink{cursor:pointer;outline:none;text-decoration:none}.inicioBrazilState{fill:rgba(115,186,247,.13);stroke:rgba(195,223,255,.55);stroke-width:2.2;transition:fill .18s ease,stroke .18s ease,filter .18s ease,transform .18s ease;transform-box:fill-box;transform-origin:center}.inicioBrazilState.hasData{fill:rgba(115,186,247,.34);stroke:rgba(124,241,180,.65);filter:drop-shadow(0 10px 20px rgba(69,188,255,.12))}.inicioBrazilState.isSelected{fill:rgba(255,213,103,.78);stroke:rgba(255,235,170,.98);filter:drop-shadow(0 0 18px rgba(255,213,103,.42))}.inicioBrazilStateLink:hover .inicioBrazilState,.inicioBrazilStateLink:focus .inicioBrazilState{fill:rgba(124,241,180,.54);stroke:rgba(255,235,170,.9);transform:scale(1.012)}.inicioBrazilUfText{font-size:16px;font-weight:1000;fill:#f4fbff;paint-order:stroke;stroke:rgba(0,9,17,.72);stroke-width:4;stroke-linejoin:round;pointer-events:none}.inicioBrazilMetricText{font-size:13px;font-weight:1000;fill:#7cf1b4;paint-order:stroke;stroke:rgba(0,9,17,.75);stroke-width:4;stroke-linejoin:round;pointer-events:none}.inicioBrazilMapSide{display:grid;align-content:start;gap:12px}.inicioMapSideCard{border:1px solid rgba(255,255,255,.10);border-radius:20px;padding:14px 16px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:0 14px 30px rgba(0,0,0,.16)}.inicioMapSideCard.primary{border-color:rgba(255,213,103,.30);background:linear-gradient(135deg,rgba(255,213,103,.18),rgba(115,186,247,.06))}.inicioMapSideCard span,.inicioMapSideCard small{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.inicioMapSideCard strong{display:block;margin-top:5px;font-size:16px;color:var(--text)}.inicioMapStateListMini{max-height:470px;overflow:auto;padding-right:4px;display:grid;gap:8px}.inicioStateMiniRow{display:grid;grid-template-columns:38px 1fr 1fr;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:9px 10px;text-decoration:none;background:rgba(255,255,255,.035);color:var(--text);transition:.18s ease}.inicioStateMiniRow:hover{border-color:rgba(124,241,180,.42);transform:translateY(-1px)}.inicioStateMiniRow b{height:30px;border-radius:12px;display:grid;place-items:center;background:rgba(115,186,247,.16);color:#bfe7ff}.inicioStateMiniRow span,.inicioStateMiniRow i{font-style:normal;font-size:11px;font-weight:900;color:var(--muted);text-align:right}.inicioStateMiniRow i{color:#7cf1b4}.dashboardCompactGrid select option[value="estado"]{font-weight:900}@media(max-width:1100px){.inicioBrazilMapBoard{grid-template-columns:1fr}.inicioBrazilMapSide{grid-template-columns:repeat(2,minmax(0,1fr))}.inicioMapStateListMini{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-height:none}.inicioBrazilSvgWrap{min-height:620px}}@media(max-width:680px){.inicioBrazilSvgWrap{min-height:560px;padding:8px}.inicioBrazilRealSvg{width:100%;max-height:610px}.inicioBrazilUfText{font-size:13px}.inicioBrazilMetricText{font-size:10px}.inicioBrazilMapSide{grid-template-columns:1fr}.inicioStateMiniRow{grid-template-columns:34px 1fr 1fr}}

/* CRM V402 - filtro UF ativo, ranking e intensidade do mapa */
.inicioActiveStateFilter{margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(124,241,180,.26);border-radius:18px;padding:12px 14px;background:linear-gradient(135deg,rgba(124,241,180,.10),rgba(115,186,247,.055));box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.inicioActiveStateFilter span,.inicioActiveStateFilter small{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.inicioActiveStateFilter strong{display:block;color:#7cf1b4;font-size:16px;margin:2px 0}.inicioBrazilState.hasData{fill:color-mix(in srgb,#73baf7 calc(var(--os-alpha, .35) * 100%), rgba(8,22,36,.72));stroke:rgba(124,241,180,calc(.28 + var(--ap-alpha, 0) * .62));filter:drop-shadow(0 0 calc(3px + var(--ap-alpha,0) * 15px) rgba(124,241,180,calc(.04 + var(--ap-alpha,0) * .28)))}
.inicioBrazilState.hasData + .inicioBrazilUfText + .inicioBrazilMetricText{fill:color-mix(in srgb,#7cf1b4 calc(55% + var(--ap-alpha, 0) * 45%), #bfe7ff)}
.inicioMapRankingTitle{margin:4px 0 -4px;color:#ffd76b;font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.06em}.inicioStateMiniRow.ranking{grid-template-columns:62px 1fr 1.35fr}.inicioStateMiniRow.ranking b{width:auto;padding:0 8px;white-space:nowrap}.inicioMapRankingList{max-height:380px}@supports not (color:color-mix(in srgb,#fff 50%,#000)){.inicioBrazilState.hasData{fill:rgba(115,186,247,.42)}}
@media(max-width:680px){.inicioActiveStateFilter{display:grid}.inicioStateMiniRow.ranking{grid-template-columns:56px 1fr}.inicioStateMiniRow.ranking i{grid-column:1/-1;text-align:left}}

/* V403 - Tooltip premium no Mapa Brasil */
.inicioBrazilTooltip{position:fixed;left:0;top:0;z-index:9999;min-width:260px;max-width:min(340px,calc(100vw - 28px));padding:14px;border:1px solid rgba(255,213,103,.38);border-radius:20px;background:linear-gradient(145deg,rgba(7,19,32,.98),rgba(11,35,54,.96));box-shadow:0 22px 55px rgba(0,0,0,.42),0 0 0 1px rgba(124,241,180,.08) inset;backdrop-filter:blur(14px);pointer-events:none;opacity:0;visibility:hidden;transform:translate3d(-9999px,-9999px,0) scale(.98);transition:opacity .14s ease,transform .14s ease,visibility .14s ease;color:var(--text)}
.inicioBrazilTooltip.isVisible{opacity:1;visibility:visible;transform:translate3d(var(--tooltip-x,18px),var(--tooltip-y,18px),0) scale(1)}
.inicioBrazilTooltipTop{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-bottom:12px}.inicioBrazilTooltipTop span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,213,103,.92),rgba(124,241,180,.72));color:#06131f;font-weight:1000;box-shadow:0 10px 24px rgba(255,213,103,.20)}.inicioBrazilTooltipTop strong{font-size:16px;line-height:1.15;color:#f8fbff}.inicioBrazilTooltipGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inicioBrazilTooltipGrid div{border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:9px;background:rgba(255,255,255,.045)}.inicioBrazilTooltipGrid small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900}.inicioBrazilTooltipGrid b{display:block;margin-top:4px;font-size:14px;color:#dcecff}.inicioBrazilTooltipGrid div:nth-child(2) b,.inicioBrazilTooltipGrid div:nth-child(3) b,.inicioBrazilTooltipGrid div:nth-child(4) b{color:#7cf1b4}.inicioBrazilTooltip em{display:block;margin-top:10px;font-style:normal;font-size:11px;font-weight:900;color:#ffd76b;text-align:center}.inicioBrazilStateLink:hover .inicioBrazilUfText,.inicioBrazilStateLink:focus .inicioBrazilUfText{fill:#fff7d0}.inicioBrazilStateLink:hover .inicioBrazilMetricText,.inicioBrazilStateLink:focus .inicioBrazilMetricText{fill:#7cf1b4}

/* CRM V415 - seções sempre completas, botão moderno de expandir/recolher e respiro inferior */
.crmUniversalSection,
.panel.crmUniversalSection,
.crmCollapsiblePanel,
.panel.crmCollapsiblePanel{
  max-height:none !important;
  overflow:visible !important;
  contain:none !important;
}
.crmAutoCollapseContent,
.crmCollapseContent{
  min-height:0;
  max-height:none !important;
  overflow:visible;
  padding-bottom:18px;
}
.crmUniversalSection.is-collapsed .crmAutoCollapseContent,
.crmCollapsiblePanel.is-collapsed .crmCollapseContent{
  display:none !important;
}
.crmSectionToggleHeader,
.sectionHeader:has(.crmUniversalCollapseBtn),
.configSectionHeader:has(.crmUniversalCollapseBtn){
  align-items:center !important;
}
.crmUniversalCollapseBtn,
.configCollapseBtn,
.crmCollapseToggle,
.crmCollapseBtn,
[data-collapse-toggle],
[data-crm-collapse-toggle],
[data-crm-section-toggle]{
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:16px !important;
  border:1px solid color-mix(in srgb, var(--primary-2) 40%, rgba(255,255,255,.12)) !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(145deg, color-mix(in srgb, var(--primary) 36%, rgba(6,16,28,.96)), rgba(5,12,22,.96)) !important;
  color:#f9fbff !important;
  box-shadow:0 12px 26px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.035) inset, 0 0 22px color-mix(in srgb, var(--primary) 18%, transparent) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease !important;
}
.crmUniversalCollapseBtn:hover,
.configCollapseBtn:hover,
.crmCollapseToggle:hover,
.crmCollapseBtn:hover,
[data-collapse-toggle]:hover,
[data-crm-collapse-toggle]:hover,
[data-crm-section-toggle]:hover{
  transform:translateY(-1px) scale(1.04);
  border-color:color-mix(in srgb, var(--primary-2) 70%, rgba(255,255,255,.18)) !important;
}
.crmUniversalCollapseBtn[aria-expanded="true"],
.crmCollapseToggle[aria-expanded="true"],
.crmCollapseBtn[aria-expanded="true"],
[data-collapse-toggle][aria-expanded="true"],
[data-crm-collapse-toggle][aria-expanded="true"],
[data-crm-section-toggle][aria-expanded="true"]{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.20), transparent 30%),
    linear-gradient(145deg, color-mix(in srgb, var(--primary-2) 48%, var(--primary)), color-mix(in srgb, var(--primary) 18%, rgba(5,13,24,.98))) !important;
}
.crmCollapseIcon{
  display:grid;
  place-items:center;
  font-size:26px;
  line-height:1;
  font-weight:1000;
  transform:translateY(-1px);
  text-shadow:0 0 14px color-mix(in srgb, var(--primary-2) 55%, transparent);
  transition:transform .22s ease;
}
.crmUniversalCollapseBtn[aria-expanded="true"] .crmCollapseIcon,
.crmCollapseToggle[aria-expanded="true"] .crmCollapseIcon,
.crmCollapseBtn[aria-expanded="true"] .crmCollapseIcon,
[data-collapse-toggle][aria-expanded="true"] .crmCollapseIcon,
[data-crm-collapse-toggle][aria-expanded="true"] .crmCollapseIcon,
[data-crm-section-toggle][aria-expanded="true"] .crmCollapseIcon{
  transform:translateY(-2px) rotate(0deg);
}
.crmUniversalCollapseBtn.isClicking,
.crmCollapseToggle.isClicking,
.crmCollapseBtn.isClicking{
  animation:crmCollapseTap .34s ease both;
}
@keyframes crmCollapseTap{
  0%{transform:scale(1)}
  45%{transform:scale(.88) rotate(-5deg); filter:brightness(1.18)}
  100%{transform:scale(1) rotate(0deg)}
}
.panel .tableWrap,
.crmDetailTableWrap,
.budgetListWrap,
.ticketTableWrap,
.opTableWrap{
  padding-bottom:18px !important;
  margin-bottom:10px !important;
  scrollbar-gutter:stable both-edges;
}
.panel .tableWrap::after,
.crmDetailTableWrap::after,
.budgetListWrap::after,
.ticketTableWrap::after,
.opTableWrap::after{
  content:"";
  display:block;
  height:10px;
  min-height:10px;
}
body.page-oportunidades .opListPanel:not(.is-collapsed){
  display:flex !important;
  flex-direction:column !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  padding-bottom:22px !important;
  margin-bottom:18px !important;
}
body.page-oportunidades .opListPanel:not(.is-collapsed) .crmCollapseContent{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding-bottom:24px !important;
}
body.page-oportunidades .opListPanel:not(.is-collapsed) .opTableWrap{
  flex:0 0 auto !important;
  height:auto !important;
  max-height:none !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:24px !important;
  margin-bottom:14px !important;
}
body.page-oportunidades .opListPanel:not(.is-collapsed) .opTable tbody tr:last-child td{
  border-bottom-color:transparent !important;
}
@media (max-width:760px){
  .crmUniversalCollapseBtn,
  .crmCollapseToggle,
  .crmCollapseBtn,
  [data-collapse-toggle],
  [data-crm-collapse-toggle],
  [data-crm-section-toggle]{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    border-radius:14px !important;
  }
}
.crmCollapsiblePanel.is-collapsed > .crmSectionBody,
.crmCollapsiblePanel.is-collapsed > .crmAutoCollapseContent,
.crmCollapsiblePanel.is-collapsed > .crmCollapseContent{display:none !important;}
.crmSectionTitle:has(.crmUniversalCollapseBtn){
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.crmSectionTitle:has(.crmUniversalCollapseBtn) h2,
.crmSectionTitle:has(.crmUniversalCollapseBtn) h3{
  margin:0 !important;
}

/* CRM V424 - aviso de vinculo automatico +Link/OS */
.budgetAutoLinkNotice{display:grid;gap:5px;padding:12px 14px;border:1px solid rgba(255,211,102,.22);border-radius:18px;background:linear-gradient(135deg,rgba(255,211,102,.08),rgba(80,190,255,.04));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.budgetAutoLinkNotice strong{font-weight:950;color:#ffd66b;text-transform:uppercase;letter-spacing:.02em;font-size:12px}
.budgetAutoLinkNotice small{color:rgba(235,242,255,.78);line-height:1.35;font-weight:700}

/* V432 - Início: produção compacta, collapse e novo mapa/grade Brasil */
body.page-inicio .inicioKpiQuantity,
body.page-inicio .inicioKpiQuantity .dashboardKpiBody{overflow:visible!important;max-height:none!important;height:auto!important;}
body.page-inicio .inicioKpiQuantity .metricsBubbleGrid{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))!important;gap:10px!important;align-items:stretch!important;margin:0!important;}
body.page-inicio .inicioKpiQuantity .metricBubbleCard{height:auto!important;min-height:112px!important;max-height:none!important;padding:8px 6px!important;overflow:visible!important;}
body.page-inicio .inicioKpiQuantity .metricBubbleCaption{white-space:normal!important;text-align:center!important;line-height:1.15!important;}
body.page-inicio .inicioSellerPerformancePanel .inicioSellerActions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;justify-content:flex-end;}
body.page-inicio .inicioSellerPerformancePanel [data-collapse-body][hidden],
body.page-inicio .inicioGeoPanelReal [data-collapse-body][hidden]{display:none!important;}
body.page-inicio .inicioMapHeaderActions{display:flex;gap:10px;align-items:end;justify-content:flex-end;flex-wrap:wrap;}
body.page-inicio .inicioBrazilGridBoard{grid-template-columns:minmax(0,3fr) minmax(230px,1fr)!important;gap:16px!important;align-items:stretch!important;}
body.page-inicio .inicioBrazilUfGrid{display:grid;grid-template-columns:repeat(7,minmax(68px,1fr));gap:9px;min-height:430px;border:1px solid rgba(115,186,247,.18);border-radius:28px;background:radial-gradient(circle at 45% 25%,rgba(115,186,247,.17),transparent 54%),linear-gradient(180deg,rgba(4,16,28,.92),rgba(3,8,14,.98));padding:16px;box-shadow:inset 0 0 0 1px rgba(229,188,86,.05),0 18px 45px rgba(0,0,0,.20);}
body.page-inicio .inicioBrazilUfCard{min-height:78px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:rgba(255,255,255,.035);color:var(--text);text-decoration:none;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"uf uf" "os ap";gap:5px;align-content:center;padding:9px 8px;transition:.18s ease;position:relative;overflow:hidden;}
body.page-inicio .inicioBrazilUfCard:before{content:"";position:absolute;inset:-40% -20% auto auto;width:85px;height:85px;background:radial-gradient(circle,rgba(115,186,247,.12),transparent 64%);pointer-events:none;}
body.page-inicio .inicioBrazilUfCard strong{grid-area:uf;font-size:17px;font-weight:1000;line-height:1;color:#dff3ff;position:relative;z-index:1;}
body.page-inicio .inicioBrazilUfCard span{position:relative;z-index:1;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:5px 4px;background:rgba(0,0,0,.14);display:grid;gap:2px;justify-items:center;}
body.page-inicio .inicioBrazilUfCard span:first-of-type{grid-area:os;}
body.page-inicio .inicioBrazilUfCard span:last-of-type{grid-area:ap;}
body.page-inicio .inicioBrazilUfCard b{font-size:9px;color:var(--muted);letter-spacing:.05em;}
body.page-inicio .inicioBrazilUfCard em{font-style:normal;font-weight:1000;font-size:14px;color:#bfe7ff;}
body.page-inicio .inicioBrazilUfCard.hasOs{border-color:rgba(115,186,247,.26);background:rgba(115,186,247,.075);}
body.page-inicio .inicioBrazilUfCard.hasApproved{border-color:rgba(124,241,180,.44);background:linear-gradient(135deg,rgba(124,241,180,.18),rgba(115,186,247,.10));box-shadow:0 14px 28px rgba(61,203,163,.12);}
body.page-inicio .inicioBrazilUfCard.hasApproved em:last-child,
body.page-inicio .inicioBrazilUfCard.hasApproved span:last-of-type em{color:#7cf1b4;}
body.page-inicio .inicioBrazilUfCard.isEmpty{opacity:.82;}
body.page-inicio .inicioBrazilUfCard.isSelected{border-color:rgba(255,213,103,.82);background:linear-gradient(135deg,rgba(255,213,103,.25),rgba(124,241,180,.12));box-shadow:0 0 0 2px rgba(255,213,103,.18),0 18px 35px rgba(255,213,103,.10);}
body.page-inicio .inicioBrazilUfCard:hover,
body.page-inicio .inicioBrazilUfCard:focus{transform:translateY(-2px);border-color:rgba(255,213,103,.72);}
body.page-inicio .inicioBrazilStateSummarySide{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;min-width:0;}
body.page-inicio .inicioStateSortHeader{border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:12px 14px;background:rgba(255,255,255,.04);}
body.page-inicio .inicioStateSortHeader strong{display:block;color:#eaf6ff;font-size:13px;font-weight:1000;text-transform:uppercase;letter-spacing:.05em;}
body.page-inicio .inicioStateSortHeader small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:900;}
body.page-inicio .inicioStateSortActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
body.page-inicio .inicioStateSortActions a{border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:8px 9px;background:rgba(255,255,255,.035);color:var(--muted);text-decoration:none;font-weight:1000;font-size:11px;text-align:center;}
body.page-inicio .inicioStateSortActions a.active,
body.page-inicio .inicioStateSortActions a:hover{border-color:rgba(124,241,180,.46);}
body.page-inicio .inicioStateSummaryList{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:4px;}
body.page-inicio .inicioStateSummaryRow{display:grid;grid-template-columns:42px repeat(2,minmax(42px,.55fr)) minmax(88px,1fr) minmax(88px,1fr);gap:7px;align-items:center;border:1px solid rgba(255,255,255,.09);border-radius:15px;padding:9px 10px;background:rgba(255,255,255,.035);text-decoration:none;color:var(--text);transition:.18s ease;}
body.page-inicio .inicioStateSummaryRow:hover{border-color:rgba(124,241,180,.42);transform:translateY(-1px);}
body.page-inicio .inicioStateSummaryRow strong{height:32px;border-radius:12px;display:grid;place-items:center;background:rgba(115,186,247,.16);color:#bfe7ff;font-weight:1000;}
body.page-inicio .inicioStateSummaryRow span{display:grid;gap:1px;color:var(--muted);font-size:10px;font-weight:1000;text-transform:uppercase;line-height:1.1;}
body.page-inicio .inicioStateSummaryRow span b{color:#eaf6ff;font-size:11px;white-space:nowrap;}
body.page-inicio .inicioStateSummaryRow span:nth-child(3) b,
body.page-inicio .inicioStateSummaryRow span:nth-child(5) b{color:#7cf1b4;}
@media(max-width:1100px){body.page-inicio .inicioBrazilGridBoard{grid-template-columns:1fr!important;}body.page-inicio .inicioBrazilUfGrid{grid-template-columns:repeat(5,minmax(64px,1fr));}body.page-inicio .inicioStateSummaryList{max-height:none;}body.page-inicio .inicioStateSummaryRow{grid-template-columns:42px repeat(2,1fr);}.inicioStateSummaryRow span:nth-child(4),.inicioStateSummaryRow span:nth-child(5){grid-column:auto / span 1;}}
@media(max-width:680px){body.page-inicio .inicioBrazilUfGrid{grid-template-columns:repeat(3,minmax(66px,1fr));padding:10px;gap:7px;}body.page-inicio .inicioBrazilUfCard{min-height:72px;border-radius:15px;}body.page-inicio .inicioStateSummaryRow{grid-template-columns:38px 1fr 1fr;}body.page-inicio .inicioStateSummaryRow span:nth-child(4),body.page-inicio .inicioStateSummaryRow span:nth-child(5){grid-column:2 / -1;}}

/* V433 - Início: Produção em largura total + visual premium moderno */
body.page-inicio .inicioKpiLayout > .dashboardKpiPanel:only-child{
  grid-column:1 / -1;
}
body.page-inicio .inicioKpiQuantity{
  position:relative;
  overflow:hidden !important;
  border:1px solid rgba(255,214,107,.18) !important;
  background:
    radial-gradient(circle at top right, rgba(255,214,107,.12), transparent 30%),
    radial-gradient(circle at left center, rgba(115,186,247,.14), transparent 34%),
    linear-gradient(140deg, rgba(6,18,31,.98), rgba(5,11,20,.97)) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body.page-inicio .inicioKpiQuantity::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.05), transparent 42%);
  pointer-events:none;
}
body.page-inicio .inicioKpiQuantity .sectionHeader{
  position:relative;
  z-index:1;
  margin-bottom:16px !important;
  padding-bottom:14px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.page-inicio .inicioKpiQuantity .sectionHeader h2{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:16px !important;
  letter-spacing:.02em !important;
}
body.page-inicio .inicioKpiQuantity .sectionHeader h2::before{
  content:"KPIs";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  height:24px;
  padding:0 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#09131f;
  background:linear-gradient(135deg, #ffd76b, #73baf7);
  box-shadow:0 10px 22px rgba(255,214,107,.18);
}
body.page-inicio .inicioKpiQuantity .dashboardKpiBody,
body.page-inicio .inicioKpiQuantity [data-collapse-body]{
  position:relative;
  z-index:1;
  overflow:visible !important;
}
body.page-inicio .inicioKpiQuantity .metricsBubbleGrid{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:14px !important;
  width:100% !important;
  margin:0 !important;
  padding:2px 0 0 !important;
  align-items:stretch !important;
}
body.page-inicio .inicioKpiQuantity .metricBubbleCard{
  position:relative;
  width:100% !important;
  min-width:0 !important;
  min-height:152px !important;
  height:auto !important;
  max-height:none !important;
  padding:16px 12px 14px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg, rgba(10,27,43,.98), rgba(5,14,25,.98)) !important;
  box-shadow:0 18px 32px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.04);
  gap:12px !important;
  overflow:hidden !important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body.page-inicio .inicioKpiQuantity .metricBubbleCard::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(115,186,247,.12), transparent 32%);
  pointer-events:none;
}
body.page-inicio .inicioKpiQuantity .metricBubbleCard:hover,
body.page-inicio .inicioKpiQuantity .metricBubbleCard:focus,
body.page-inicio .inicioKpiQuantity .metricBubbleCard.active{
  transform:translateY(-2px);
  border-color:rgba(255,214,107,.28) !important;
}
body.page-inicio .inicioKpiQuantity .metricBubbleBall{
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
  min-height:74px !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg, rgba(13,37,56,.98), rgba(4,14,26,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 12px 24px rgba(0,0,0,.16);
}
body.page-inicio .inicioKpiQuantity .metricBubbleBall strong{
  font-size:32px !important;
  font-weight:1000 !important;
  color:#f6fbff !important;
}
body.page-inicio .inicioKpiQuantity .metricBubbleCard .metricBubbleCaption{
  min-height:30px;
  padding:0 4px;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#d9ecff !important;
}
body.page-inicio .inicioKpiQuantity .metricBubbleCard.danger .metricBubbleBall{
  border-color:rgba(255,130,148,.32) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(255,130,148,.08), 0 12px 24px rgba(0,0,0,.16);
}
body.page-inicio .inicioKpiQuantity .metricBubbleCard.alert .metricBubbleBall{
  border-color:rgba(255,214,107,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(255,214,107,.08), 0 12px 24px rgba(0,0,0,.16);
}
body.page-inicio .inicioKpiQuantity .metricBubbleCard.success .metricBubbleBall{
  border-color:rgba(124,241,180,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(124,241,180,.08), 0 12px 24px rgba(0,0,0,.16);
}
@media (max-width:1260px){
  body.page-inicio .inicioKpiQuantity .metricsBubbleGrid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width:760px){
  body.page-inicio .inicioKpiQuantity .metricsBubbleGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  body.page-inicio .inicioKpiQuantity .metricBubbleCard{
    min-height:138px !important;
    padding:14px 10px 12px !important;
  }
  body.page-inicio .inicioKpiQuantity .metricBubbleBall{
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
    min-height:66px !important;
  }
  body.page-inicio .inicioKpiQuantity .metricBubbleBall strong{
    font-size:28px !important;
  }
}


/* V434 - Início: Mapa Brasil sem rolagem horizontal na lista lateral */
body.page-inicio .inicioBrazilGridBoard{
  grid-template-columns:minmax(0,1fr) minmax(390px,420px) !important;
  gap:18px !important;
  max-width:100% !important;
  overflow:visible !important;
}
body.page-inicio .inicioBrazilGridBoard .inicioBrazilStateSummarySide{
  min-width:0 !important;
  width:100% !important;
  overflow:hidden !important;
}
body.page-inicio .inicioStateSummaryList{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  max-width:100% !important;
  padding-right:6px !important;
}
body.page-inicio .inicioStateSummaryRow{
  grid-template-columns:40px 42px 42px minmax(88px,1fr) minmax(88px,1fr) !important;
  gap:6px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:9px 8px !important;
  overflow:hidden !important;
}
body.page-inicio .inicioStateSummaryRow strong{
  width:34px !important;
  height:30px !important;
  min-width:34px !important;
  border-radius:11px !important;
}
body.page-inicio .inicioStateSummaryRow span{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:9px !important;
  line-height:1.05 !important;
}
body.page-inicio .inicioStateSummaryRow span b{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:10px !important;
  line-height:1.15 !important;
}
body.page-inicio .inicioStateSortActions{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:5px !important;
}
body.page-inicio .inicioStateSortActions a{
  min-width:0 !important;
  padding:8px 5px !important;
  font-size:10px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
@media(max-width:1280px){
  body.page-inicio .inicioBrazilGridBoard{
    grid-template-columns:minmax(0,1fr) minmax(360px,380px) !important;
  }
  body.page-inicio .inicioStateSummaryRow{
    grid-template-columns:38px 38px 38px minmax(78px,1fr) minmax(78px,1fr) !important;
    gap:5px !important;
    padding:8px 7px !important;
  }
  body.page-inicio .inicioStateSummaryRow span b{
    font-size:9.5px !important;
  }
}
@media(max-width:1100px){
  body.page-inicio .inicioBrazilGridBoard{
    grid-template-columns:1fr !important;
  }
  body.page-inicio .inicioBrazilGridBoard .inicioBrazilStateSummarySide{
    overflow:visible !important;
  }
  body.page-inicio .inicioStateSummaryList{
    overflow:visible !important;
    max-height:none !important;
  }
  body.page-inicio .inicioStateSummaryRow{
    grid-template-columns:42px repeat(2,minmax(58px,.6fr)) repeat(2,minmax(120px,1fr)) !important;
  }
}
@media(max-width:680px){
  body.page-inicio .inicioStateSortActions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.page-inicio .inicioStateSummaryRow{
    grid-template-columns:38px 1fr 1fr !important;
  }
  body.page-inicio .inicioStateSummaryRow span:nth-child(4),
  body.page-inicio .inicioStateSummaryRow span:nth-child(5){
    grid-column:2 / -1 !important;
  }
}

/* CRM V441 - ajustes por categoria: Início + destaques globais */
body.page-inicio .inicioKpiHeaderV441{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
body.page-inicio .inicioKpiHeaderV441 small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
}
body.page-inicio .inicioKpiHeaderActionsV441,
body.page-inicio .inicioKpiPeriodForm{
  display:flex!important;
  align-items:end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
body.page-inicio .inicioKpiPeriodForm input[type="date"],
body.page-inicio .inicioSellerActions .inicioPeriodForm input[type="date"],
body.page-inicio .inicioMapHeaderActions .inicioPeriodForm input[type="date"]{
  height:38px!important;
}
body.page-inicio .inicioKpiHeaderActionsV441 .btn,
body.page-inicio .inicioSellerActions .btn,
body.page-inicio .inicioMapHeaderActions .btn{
  min-height:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.page-inicio .inicioProductionGridV441{
  grid-template-columns:repeat(6,minmax(118px,1fr))!important;
}
body.page-inicio .inicioProductionGridV441 .metricBubbleCard.nf .metricBubbleBall{
  border-color:rgba(115,186,247,.42)!important;
  box-shadow:0 0 0 1px rgba(115,186,247,.12),0 12px 24px rgba(0,0,0,.16)!important;
}
body.page-inicio .inicioProductionGridV441 .metricBubbleCard.done .metricBubbleBall{
  border-color:rgba(124,241,180,.42)!important;
}
body.page-inicio .inicioSellerPerformancePanel .sectionHeader,
body.page-inicio .inicioSellerActions,
body.page-inicio .inicioSellerActions .inicioPeriodForm{
  align-items:end!important;
}
body.page-inicio .inicioSellerPerformanceTable th,
body.page-inicio .inicioSellerPerformanceTable td{
  text-align:center!important;
  vertical-align:middle!important;
}
body.page-inicio .inicioSellerPerformanceTable th:first-child,
body.page-inicio .inicioSellerPerformanceTable td:first-child{
  text-align:left!important;
}
body.page-inicio .inicioSellerPerformanceWrap.hidden{display:none!important;}
.budgetPdfHighlight,
.actionsDropdown .budgetPdfHighlight{
  background:linear-gradient(135deg,#ffe178,#78c7ff)!important;
  color:#06111d!important;
  border-color:rgba(255,225,120,.65)!important;
  box-shadow:0 12px 24px rgba(255,211,102,.16)!important;
  font-weight:1000!important;
}
.budgetPdfHighlight .menuIcon{filter:drop-shadow(0 2px 5px rgba(0,0,0,.25));}
.dashboardMiniActionsV441{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.inicioFullListV441{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:7px;max-height:360px;overflow:auto;}
.inicioFullListV441[hidden]{display:none!important;}
.fullListRowV441{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:8px 10px;background:rgba(255,255,255,.035);text-decoration:none;color:var(--text);font-weight:900;}
.fullListRowV441:hover{border-color:rgba(124,241,180,.42);}
.fullListRowV441 strong{text-align:center;color:#7cf1b4;}
.inicioBrazilTooltip .inicioBrazilTooltipGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:1260px){body.page-inicio .inicioProductionGridV441{grid-template-columns:repeat(3,minmax(118px,1fr))!important;}}
@media(max-width:760px){body.page-inicio .inicioProductionGridV441{grid-template-columns:repeat(2,minmax(118px,1fr))!important;}body.page-inicio .inicioKpiHeaderV441{display:grid!important;}}

/* CRM V442 - padronização visual, temas principais, tabelas com contraste e performance */
:root{--crm-hard-border:#000;--crm-row-odd:rgba(255,255,255,.035);--crm-row-even:rgba(255,255,255,.08);--crm-row-text:var(--text);--crm-table-head:var(--thead-bg);}
body[data-ui-theme="blue"]{--bg:#020835;--primary:#2f7bff;--primary-2:#79b9ff;--thead-bg:#021043;--crm-row-odd:#061b57;--crm-row-even:#9cc9ff;--crm-row-text:#fff;--crm-row-even-text:#050b1a;}
body[data-ui-theme="green"]{--bg:#021407;--primary:#008000;--primary-2:#7ef5a0;--thead-bg:#004b00;--crm-row-odd:#063a12;--crm-row-even:#b8f5c5;--crm-row-text:#fff;--crm-row-even-text:#061406;}
body[data-ui-theme="gold"]{--bg:#150d02;--primary:#d6a019;--primary-2:#ffe66b;--thead-bg:#8f6506;--crm-row-odd:#4a3104;--crm-row-even:#ffec9a;--crm-row-text:#fff;--crm-row-even-text:#1b1202;}
body[data-ui-theme="purple"]{--bg:#180017;--primary:#b00072;--primary-2:#ff72c4;--thead-bg:#74004e;--crm-row-odd:#39002d;--crm-row-even:#ff9ed9;--crm-row-text:#fff;--crm-row-even-text:#1c0017;}
body[data-ui-theme="cyan"],body[data-ui-theme="emerald"],body[data-ui-theme="ruby"],body[data-ui-theme="slate"]{--bg:#020835;--primary:#2f7bff;--primary-2:#79b9ff;--thead-bg:#021043;}
.panel,.metricCard,.metricBubbleCard,.modal,.crmDialog,.actionsDropdown,.sidebar,.topbar,.tabButton,.themeSwatchBtn{border-color:var(--crm-hard-border)!important;border-width:2px!important;}
.btn,.iconBtn,.menuAction,button,input,select,textarea{border-color:var(--crm-hard-border)!important;border-width:2px!important;}
.dataTable,.dataTable th,.dataTable td,.table,.table th,.table td,table.tbl,table.tbl th,table.tbl td{border:2px solid #000!important;border-collapse:collapse!important;}
.dataTable thead th,.table thead th,table.tbl thead th{background:var(--crm-table-head)!important;color:#fff!important;text-align:center!important;font-weight:1000!important;}
.dataTable tbody tr:nth-child(odd),.table tbody tr:nth-child(odd),table.tbl tbody tr:nth-child(odd){background:var(--crm-row-odd)!important;color:var(--crm-row-text)!important;}
.dataTable tbody tr:nth-child(even),.table tbody tr:nth-child(even),table.tbl tbody tr:nth-child(even){background:var(--crm-row-even)!important;color:var(--crm-row-even-text)!important;}
.dataTable tbody tr:nth-child(even) a,.table tbody tr:nth-child(even) a,table.tbl tbody tr:nth-child(even) a{color:#000!important;}
.inicioSellerPerformanceTable th,.inicioSellerPerformanceTable td{text-align:center!important;vertical-align:middle!important;}
.inicioSellerPerformanceTable th{cursor:help;position:relative;}
.budgetPdfHighlight,.btn[href*="export_budget.php"],a[href*="export_budget.php"]{background:linear-gradient(135deg,#ffdf62,#79b9ff)!important;color:#04101f!important;border:2px solid #000!important;box-shadow:0 0 0 2px rgba(255,255,255,.08),0 12px 26px rgba(0,0,0,.28)!important;font-weight:1000!important;}
.budgetPdfHighlight:hover,.btn[href*="export_budget.php"]:hover,a[href*="export_budget.php"]:hover{transform:translateY(-1px);}
.inicioExecutivePdfBtn{background:linear-gradient(135deg,var(--primary),var(--primary-2))!important;color:#020711!important;border:2px solid #000!important;font-weight:1000!important;}
button[data-open-theme-dialog],.menuActionColor{display:none!important;}
.btnIcon,.menuIcon{display:inline-flex;align-items:center;justify-content:center;width:1.25em;min-width:1.25em;margin-right:.35em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));}
.btn,.menuAction{gap:.35rem;}
.inicioPremiumHeaderV442{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:14px 16px;border:2px solid #000;border-radius:18px;background:linear-gradient(135deg,var(--panel-top),var(--panel-bottom));box-shadow:0 12px 26px rgba(0,0,0,.22)}
.inicioPremiumHeaderV442 strong{font-size:18px;color:var(--primary-2)}
.inicioPremiumHeaderV442 .chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.inicioPremiumHeaderV442 .chip{border:2px solid #000;border-radius:999px;background:rgba(255,255,255,.08);padding:7px 10px;font-size:12px;font-weight:900;color:var(--text)}
.inicioBrazilTooltipGrid div[title],.inicioBrazilTooltipGrid div{cursor:help;}
.tableWrap,.responsiveTable,.inicioStateSummaryList,.dashboardDetailedSection{contain:layout paint;}
.dataTable td,.dataTable th{content-visibility:auto;contain-intrinsic-size:36px 90px;}
*{scrollbar-width:thin;}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
@media (max-width:900px){.dataTable,.table{table-layout:auto}.inicioPremiumHeaderV442{display:grid}.inicioPremiumHeaderV442 .chips{justify-content:flex-start}}

/* CRM V443 - Popup dos KPIs, prévia executiva e modo leve */
body.page-inicio .inicioProductionGridV441 .metricBubbleCard{appearance:none;-webkit-appearance:none;cursor:pointer;color:inherit;text-align:center;}
body.page-inicio .inicioProductionGridV441 .metricBubbleCard:focus-visible{outline:3px solid var(--primary-2);outline-offset:3px;}
.crmModalV443[hidden]{display:none!important;}.crmModalV443{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;}.crmModalBackdropV443{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(7px)}.crmModalBoxV443{position:relative;width:min(1280px,96vw);max-height:90vh;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:16px;border:3px solid #000;border-radius:22px;background:linear-gradient(180deg,var(--panel-top),var(--panel-bottom));box-shadow:0 28px 80px rgba(0,0,0,.48);overflow:hidden}.crmModalHeaderV443{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:10px}.crmModalHeaderV443 h2{margin:0;font-size:22px}.crmModalHeaderV443 p{margin:4px 0 0;color:var(--muted);font-weight:900}.crmModalActionsV443{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crmModalActionsV443 small{color:var(--muted);font-weight:800}.inicioKpiModalTableWrapV443{max-height:62vh;overflow:auto}.inicioKpiModalTableV443 td:nth-child(8){min-width:260px;text-align:left!important}.crmModalOpenV443{overflow:hidden}.inicioExecutivePreviewShellV443{max-width:1180px;margin:0 auto;padding:24px}.inicioExecutivePreviewPanelV443{margin-bottom:18px}.inicioExecutiveFiltersV443{display:grid;gap:12px}.inicioExecutiveFiltersV443 fieldset{border:2px solid #000;border-radius:16px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px}.inicioExecutiveFiltersV443 legend{padding:0 8px;font-weight:1000;color:var(--primary-2)}.inicioExecutiveFiltersV443 label{display:grid;gap:6px;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:11px}.sellerChecklistPreviewV443{border:2px solid #000;border-radius:16px;padding:12px;background:rgba(255,255,255,.035);display:grid;gap:10px}.sellerChecklistGridV443{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sellerChecklistGridV443 label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:2px solid rgba(0,0,0,.9);border-radius:12px;background:rgba(255,255,255,.05);font-size:12px;font-weight:900}.inicioExecutiveA4V443{background:#fff!important;color:#111827!important;max-width:1000px;margin:0 auto 28px}.inicioExecutiveA4V443 h3,.inicioExecutiveA4V443 h2{color:#111827}.inicioExecutiveHeaderV443{text-align:center;border-bottom:3px solid #111827;padding-bottom:12px;margin-bottom:14px}.previewKpisV443{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:10px 0 18px}.previewKpisV443 .kpi{border:2px solid #111827;border-radius:12px;padding:10px;background:#f8fafc}.previewKpisV443 .kpi small{display:block;font-weight:1000;color:#475569;text-transform:uppercase;font-size:10px}.previewKpisV443 .kpi strong{font-size:20px;color:#111827}.liteModeCardV443{border:2px solid #000;border-radius:16px;padding:12px;background:rgba(255,255,255,.04);display:grid;gap:8px}.liteModeCardV443 strong{color:var(--primary-2)}body[data-ui-lite="1"] *,body[data-ui-lite="1"] *::before,body[data-ui-lite="1"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body[data-ui-lite="1"] .panel,body[data-ui-lite="1"] .metricCard,body[data-ui-lite="1"] .metricBubbleCard,body[data-ui-lite="1"] .sidebar,body[data-ui-lite="1"] .crmDialogBox,body[data-ui-lite="1"] .budgetCard,body[data-ui-lite="1"] .btn{box-shadow:none!important;filter:none!important}body[data-ui-lite="1"] .sidebar,body[data-ui-lite="1"] .topbarMain,body[data-ui-lite="1"] .crmModalBackdropV443{backdrop-filter:none!important}body[data-ui-lite="1"] .panel::before,body[data-ui-lite="1"] .metricCard::before,body[data-ui-lite="1"] .metricBubbleCard::before{display:none!important}body[data-ui-lite="1"] .dataTable td,body[data-ui-lite="1"] .dataTable th{content-visibility:visible;contain-intrinsic-size:auto}body[data-ui-lite="1"] .tableWrap,body[data-ui-lite="1"] .dashboardDetailedSection{contain:layout}.liteModeStatusBadgeV443{display:inline-flex;align-items:center;border:2px solid #000;border-radius:999px;padding:5px 10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#05101c;font-weight:1000;font-size:11px;text-transform:uppercase}@media(max-width:900px){.sellerChecklistGridV443{grid-template-columns:repeat(2,minmax(0,1fr))}.previewKpisV443{grid-template-columns:repeat(2,minmax(0,1fr))}.inicioExecutiveFiltersV443 fieldset{grid-template-columns:1fr}.crmModalV443{padding:10px}.crmModalBoxV443{max-height:94vh}}

/* CRM V444 - Início mais limpo, botões alinhados e popup de KPI funcional */
body.page-inicio .inicioPremiumHeaderV442{display:none!important;}
body.page-inicio .sectionHeader,
body.page-inicio .inicioPeriodHeader,
body.page-inicio .collapsibleHeader{align-items:center!important;gap:12px!important;}
body.page-inicio .dashboardFilterHeaderActions,
body.page-inicio .inicioKpiHeaderActionsV441,
body.page-inicio .inicioSellerActions,
body.page-inicio .inicioMapHeaderActions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:nowrap!important;min-height:46px!important;}
body.page-inicio .inicioPeriodForm{display:flex!important;align-items:end!important;gap:8px!important;flex-wrap:nowrap!important;margin:0!important;}
body.page-inicio .inicioPeriodForm label{display:grid!important;gap:4px!important;min-width:132px!important;margin:0!important;font-size:10px!important;line-height:1!important;}
body.page-inicio .inicioPeriodForm input,
body.page-inicio .inicioPeriodForm select{height:38px!important;min-height:38px!important;padding:7px 10px!important;}
body.page-inicio .btn,
body.page-inicio button.btn,
body.page-inicio a.btn{min-height:40px!important;height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;white-space:nowrap!important;line-height:1!important;}
body.page-inicio [data-collapse-toggle],
body.page-inicio [data-crm-collapse-toggle],
body.page-inicio [data-crm-section-toggle]{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;border:2px solid #000!important;}
body.page-inicio .crmCollapseIcon{font-size:28px!important;font-weight:1000!important;}
body.page-inicio .crmUniversalCollapseBtn.isClicking,
body.page-inicio [data-collapse-toggle].isClicking{animation:crmCollapseTap .42s cubic-bezier(.2,1.7,.35,1) both!important;}
body.page-inicio .inicioKpiModalTableV443 td:last-child .btn{min-width:74px!important;padding-inline:10px!important;}
body.page-inicio .inicioKpiModalTableV443 td:last-child .btn .kpiActionText{font-size:11px!important;font-weight:900!important;}
body.page-inicio .inicioKpiModalTableV443 th,
body.page-inicio .inicioKpiModalTableV443 td{vertical-align:middle!important;}
body.page-inicio .inicioKpiModalTableV443 td:nth-child(8){max-width:360px!important;white-space:normal!important;line-height:1.3!important;}
body.page-inicio .inicioBrazilMapSide{overflow-x:hidden!important;}
body.page-inicio .inicioStateSummaryList{overflow-x:hidden!important;}
body.page-inicio .inicioStateSummaryRow{grid-template-columns:46px 54px 54px minmax(92px,1fr) minmax(92px,1fr)!important;gap:6px!important;min-width:0!important;}
body.page-inicio .inicioStateSummaryRow span,
body.page-inicio .inicioStateSummaryRow b{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
@media(max-width:1180px){
  body.page-inicio .dashboardFilterHeaderActions,
  body.page-inicio .inicioKpiHeaderActionsV441,
  body.page-inicio .inicioSellerActions,
  body.page-inicio .inicioMapHeaderActions{flex-wrap:wrap!important;justify-content:flex-start!important;}
  body.page-inicio .inicioPeriodForm{flex-wrap:wrap!important;}
}

/* CRM V446 - VPrévia completa dos KPIs de Produção */
.inicioKpiPreviewPageV446{min-height:100vh;background:linear-gradient(135deg,#02080f,#031b0d 48%,#06111f);color:var(--text, #eaf6ff);font-family:Inter,Arial,sans-serif;padding:24px;}
.inicioKpiPreviewShellV446{max-width:1500px;margin:0 auto;display:grid;gap:16px;}
.inicioKpiPreviewHeroV446{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:2px solid #000;border-radius:22px;background:linear-gradient(145deg,rgba(8,28,21,.98),rgba(9,16,28,.98));box-shadow:0 18px 42px rgba(0,0,0,.32);}
.inicioKpiPreviewHeroV446 .eyebrow{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(94,234,154,.14);border:1px solid rgba(94,234,154,.32);font-weight:1000;color:#bfffd4;text-transform:uppercase;font-size:11px;letter-spacing:.06em;}
.inicioKpiPreviewHeroV446 h1{margin:8px 0 2px;font-size:28px;line-height:1;color:#f4fff8;}
.inicioKpiPreviewHeroV446 p{margin:0;color:#b7e9c3;font-weight:900;}
.inicioKpiPreviewActionsV446{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.inicioKpiPreviewSummaryV446{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;}
.inicioKpiPreviewSummaryV446>div{border:2px solid #000;border-radius:18px;background:linear-gradient(180deg,rgba(12,35,53,.98),rgba(7,20,32,.98));padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.inicioKpiPreviewSummaryV446 small{display:block;color:#9fe8b2;font-weight:1000;text-transform:uppercase;font-size:11px;letter-spacing:.04em;}
.inicioKpiPreviewSummaryV446 strong{display:block;margin-top:4px;font-size:22px;color:#fff;}
.inicioKpiPreviewFiltersV446{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;align-items:end;padding:14px;border:2px solid #000;border-radius:22px;background:rgba(7,18,30,.94);}
.inicioKpiPreviewFiltersV446 label{display:grid;gap:5px;color:#b8d7c7;font-weight:1000;font-size:10px;text-transform:uppercase;letter-spacing:.05em;}
.inicioKpiPreviewFiltersV446 input,.inicioKpiPreviewFiltersV446 select{height:42px;border-radius:13px;border:2px solid #000;background:#071424;color:#fff;padding:0 11px;font-weight:900;}
.inicioKpiPreviewFilterActionsV446{display:flex;gap:8px;align-items:center;}
.inicioKpiPreviewTableWrapV446{border:2px solid #000;border-radius:22px;overflow:auto;background:rgba(1,8,13,.85);max-height:68vh;}
.inicioKpiPreviewTableV446{width:100%;border-collapse:collapse;min-width:1120px;}
.inicioKpiPreviewTableV446 th,.inicioKpiPreviewTableV446 td{border:2px solid #000;padding:10px 9px;vertical-align:middle;}
.inicioKpiPreviewTableV446 th{position:sticky;top:0;z-index:1;background:#071b31;color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.04em;}
.inicioKpiPreviewTableV446 th a{color:#fff;text-decoration:none;}
.inicioKpiPreviewTableV446 tbody tr:nth-child(odd){background:#063f16;color:#eefaf1;}
.inicioKpiPreviewTableV446 tbody tr:nth-child(even){background:#b9f6c8;color:#06170b;}
.inicioKpiPreviewTableV446 tbody tr.isConverted{box-shadow:inset 5px 0 0 #5eea9a;}
.statusChipV446{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(5,14,24,.22);font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.02em;}
.inicioKpiPreviewTableV446 .btn.tiny,.inicioKpiModalTableV443 .btn.tiny{min-height:34px;padding:7px 10px;border:2px solid #000!important;border-radius:11px;font-size:11px;font-weight:1000;}
.inicioKpiModalTableV443 .statusChipV446{font-size:10px;}
@media(max-width:1100px){.inicioKpiPreviewHeroV446{align-items:flex-start;flex-direction:column}.inicioKpiPreviewSummaryV446{grid-template-columns:repeat(2,1fr)}.inicioKpiPreviewFiltersV446{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.inicioKpiPreviewPageV446{padding:10px}.inicioKpiPreviewSummaryV446,.inicioKpiPreviewFiltersV446{grid-template-columns:1fr}.inicioKpiPreviewHeroV446 h1{font-size:22px}}


/* V452 - KPI Produção Recebido: visual de caixa/dinheiro */
body.page-inicio .inicioProductionGridV441 .metricBubbleCard.moneyReceivedKpi .metricBubbleBall{
  border-color:rgba(34,197,94,.52)!important;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.13), transparent 25%),
    linear-gradient(180deg, rgba(8,56,37,.98), rgba(3,22,18,.98))!important;
  box-shadow:0 18px 34px rgba(0,0,0,.24), 0 0 0 2px rgba(34,197,94,.14) inset!important;
}
body.page-inicio .inicioProductionGridV441 .metricBubbleCard.moneyReceivedKpi .metricBubbleIcon{
  display:block;
  font-size:17px;
  line-height:1;
  margin-bottom:2px;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.45));
}
body.page-inicio .inicioProductionGridV441 .metricBubbleCard.moneyReceivedKpi .metricBubbleCaption{
  color:#bfffd2!important;
}
body.page-inicio .inicioProductionGridV441 .metricBubbleCard.moneyReceivedKpi:hover .metricBubbleBall,
body.page-inicio .inicioProductionGridV441 .metricBubbleCard.moneyReceivedKpi:focus-visible .metricBubbleBall{
  border-color:rgba(134,239,172,.76)!important;
}

/* CRM V453 - Financeiro reorganizado e mais leve */
.financeNavModern .navSubItem{font-size:12px;line-height:1.15;padding-top:8px;padding-bottom:8px}
.financeBlueprintPanel{border:2px solid rgba(0,0,0,.72)!important;background:linear-gradient(135deg,rgba(4,22,16,.94),rgba(5,13,24,.96))!important;box-shadow:0 18px 36px rgba(0,0,0,.22)!important}
.financeBlueprintHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid rgba(0,0,0,.55)}
.financeBlueprintHead h2{margin:0 0 6px;font-size:20px}.financeBlueprintHead p{margin:0;color:var(--muted,#a8bacb)}
.financeBlueprintHead>strong{white-space:nowrap;border:2px solid rgba(0,0,0,.7);border-radius:999px;padding:9px 12px;background:linear-gradient(135deg,rgba(255,214,107,.95),rgba(120,210,255,.85));color:#06101b;font-weight:1000}
.financeBlueprintGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.financeBlueprintGrid>a{display:grid;gap:6px;text-decoration:none;color:var(--text,#eaf6ff);padding:14px;border:2px solid rgba(0,0,0,.72);border-radius:18px;background:linear-gradient(180deg,rgba(15,35,54,.96),rgba(5,13,24,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.financeBlueprintGrid span{font-size:12px;font-weight:1000;text-transform:uppercase;color:#bfefff}.financeBlueprintGrid strong{font-size:22px}.financeBlueprintGrid small{color:var(--muted,#a8bacb);font-weight:800}
.financePriorityAlert{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:2px solid rgba(0,0,0,.75);border-radius:16px;background:linear-gradient(135deg,rgba(255,214,107,.22),rgba(255,92,122,.14));font-weight:900}
.capitalGiroPanel .financeFormulaBox,.financeFormulaBox{margin:14px 0;padding:14px;border:2px solid rgba(0,0,0,.72);border-radius:16px;background:rgba(255,255,255,.045);display:grid;gap:6px}.financeFormulaBox strong{color:#ffe58c;text-transform:uppercase}.financeCapitalCards{margin:12px 0}.financeCapitalCards article{border:2px solid rgba(0,0,0,.72)!important}
.financeTable th,.financeTable td{border-width:1.5px!important}.financeTable thead th{border-top:2px solid rgba(0,0,0,.85)!important;border-bottom:2px solid rgba(0,0,0,.85)!important}.financeSubTitle{display:flex;align-items:center;gap:8px;margin-top:18px}
@media(max-width:1180px){.financeBlueprintGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.financeBlueprintHead{display:grid}.financeBlueprintHead>strong{width:max-content}}
@media(max-width:700px){.financeBlueprintGrid{grid-template-columns:1fr}.financePriorityAlert{display:grid}.financeBlueprintHead>strong{width:100%;text-align:center}}


/* CRM V361 - Cofre dos sócios */
.partnerVaultPanel {
  border-color: rgba(255, 214, 107, .22) !important;
  background: linear-gradient(135deg, rgba(255,214,107,.08), rgba(80,190,255,.035)) !important;
}
.partnerVaultGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin: 12px 0 16px;
}
.partnerVaultCard {
  border: 1px solid rgba(255,214,107,.28);
  border-radius: 18px;
  background: radial-gradient(circle at top left, rgba(255,214,107,.16), rgba(7,18,32,.62));
  padding: 14px;
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}
.partnerVaultCard span {
  display: block;
  color: #ffe7af;
  font-size: .78rem;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.partnerVaultCard strong {
  display: block;
  margin: 7px 0;
  font-size: 1.35rem;
  color: #fff;
}
.partnerVaultCard small {
  display: block;
  color: var(--muted);
  font-weight: 800;
}
.partnerClosePreview {
  border: 1px solid rgba(255,214,107,.25);
  border-radius: 16px;
  padding: 12px;
  background: rgba(255,214,107,.06);
  display: grid;
  gap: 8px;
}
.partnerClosePreview h4 { margin: 0 0 4px; }
.partnerClosePreview div {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 7px;
}
.partnerClosePreview span {
  color: var(--muted);
  font-weight: 900;
}
@media (max-width: 760px) {
  .partnerClosePreview div { grid-template-columns: 1fr; }
}


/* CRM V362 - Status retirada e gráfico do capital de giro */
.partnerWithdrawBadge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: .72rem;
  font-weight: 1000;
  border: 1px solid rgba(255,255,255,.16);
}
.partnerWithdrawBadge.open { color:#ffd2a6; background:rgba(251,146,60,.13); border-color:rgba(251,146,60,.34); }
.partnerWithdrawBadge.paid { color:#baf7d7; background:rgba(46,209,138,.12); border-color:rgba(46,209,138,.34); }
.partnerWithdrawBadge.retained { color:#cfe4ff; background:rgba(80,140,255,.12); border-color:rgba(80,140,255,.34); }
.partnerWithdrawBadge.reinvested { color:#fff0bd; background:rgba(255,214,107,.13); border-color:rgba(255,214,107,.34); }

.partnerCapitalChart {
  border: 1px solid rgba(80,190,255,.16);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 14px;
  margin: 14px 0 16px;
}
.partnerCapitalChartHead {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 10px;
  margin-bottom: 10px;
}
.partnerCapitalChartHead h3 { margin: 0; }
.partnerCapitalChartHead small { color: var(--muted); font-weight: 900; }
.partnerCapitalBars {
  display: flex;
  align-items: end;
  gap: 8px;
  min-height: 150px;
  overflow-x: auto;
  padding: 10px 4px 4px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.partnerCapitalBar {
  min-width: 38px;
  height: 130px;
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: end;
  justify-items: center;
  gap: 6px;
}
.partnerCapitalBar span {
  width: 18px;
  display: block;
  border-radius: 999px 999px 4px 4px;
  background: linear-gradient(180deg, #ffd66b, #50beff);
  box-shadow: 0 0 18px rgba(255,214,107,.20);
}
.partnerCapitalBar small {
  color: var(--muted);
  font-weight: 900;
  font-size: .68rem;
}

/* CRM V454 - Financeiro compacto, abas unificadas e busca geral */
.financeVaultHeroCompact{padding:16px 18px!important;display:grid!important;gap:12px!important;min-height:0!important}.financeHeroLine{display:flex;align-items:center;justify-content:space-between;gap:12px}.financeVaultHeroCompact h1{font-size:24px!important;margin:0!important}.financeFiltersCompact{display:grid!important;grid-template-columns:minmax(120px,150px) minmax(120px,150px) minmax(240px,1fr) auto auto!important;gap:10px!important;align-items:end!important}.financeFiltersCompact label{margin:0!important}.financeFiltersCompact input{height:44px!important}.financeSearchInline{min-width:240px}.financeFilterChipHost:empty{display:none}.financeBlueprintPanel{margin-top:14px!important}.financeBlueprintHead p:empty,.partnerVaultPanel .sectionHeader p:empty{display:none}.financeNfKpiGridClickable{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.financeNfKpiGridClickable a{display:block;text-decoration:none;color:inherit;border:2px solid #000;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.035));padding:14px;transition:.18s transform,.18s filter}.financeNfKpiGridClickable a:hover,.financeNfKpiGridClickable a.active{transform:translateY(-2px);}.financeChromeTabs{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:14px;border-bottom:2px solid rgba(0,0,0,.9);padding-left:8px}.financeChromeTabs a{position:relative;top:2px;display:inline-flex;align-items:center;gap:8px;border:2px solid #000;border-bottom-width:0;border-radius:14px 14px 0 0;padding:10px 16px;text-decoration:none;color:var(--text);font-weight:1000;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035))}.financeChromeTabs a.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#05101c}.financeNfSection[hidden]{display:none!important}.financeSectionFocused{outline:2px solid var(--primary);outline-offset:3px}.isSortableTh{cursor:pointer;user-select:none;position:relative}.isSortableTh::after{content:'⇅';font-size:11px;margin-left:6px;opacity:.65}.isSortableTh[data-sort-dir="asc"]::after{content:'↑';opacity:1}.isSortableTh[data-sort-dir="desc"]::after{content:'↓';opacity:1}.financeCapitalForecastBox{margin:16px 0;padding:14px;border:2px solid #000;border-radius:18px;background:rgba(255,255,255,.04)}.financeCapitalForecastBox h3{margin:0 0 6px}.sidebarGlobalSearch{display:grid;grid-template-columns:1fr auto;gap:6px;margin:8px 12px 12px;position:relative}.sidebarGlobalSearch input{min-width:0;height:38px;border:2px solid rgba(0,0,0,.9);border-radius:12px;background:rgba(255,255,255,.06);color:var(--text);font-weight:800;padding:0 10px}.sidebarGlobalSearch button{height:38px;min-width:40px;border:2px solid #000;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));font-weight:1000;color:#05101c}.sidebarSearchResults{grid-column:1/-1;display:grid;gap:6px;border:2px solid #000;border-radius:14px;padding:8px;background:rgba(4,10,18,.96);box-shadow:0 18px 30px rgba(0,0,0,.34);z-index:50}.sidebarSearchResults a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:var(--text);font-weight:900;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px}.sidebarSearchResults b{display:inline-flex;min-width:24px;justify-content:center;border-radius:999px;padding:2px 6px;background:var(--primary);color:#05101c}.sidebarSearchResults small,.sidebarSearchEmpty{color:var(--muted);font-weight:800;font-size:11px}@media(max-width:900px){.financeFiltersCompact{grid-template-columns:1fr!important}.financeHeroLine{align-items:flex-start;flex-direction:column}.financeNfKpiGridClickable{grid-template-columns:1fr}.financeChromeTabs{overflow:auto;flex-wrap:nowrap}.sidebarGlobalSearch{margin-inline:8px}}

/* CRM V455 - Prestadores público */
.providerDirectoryPanel{border-color:rgba(124,241,180,.22)}
.providerHeader{align-items:flex-start;gap:14px}.providerHeader p{margin:4px 0 0;color:var(--muted,#9bb0c4);font-weight:800}.providerHeaderActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.providerSearchBar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:end;margin:12px 0 14px}.providerSearchBar label{display:grid;gap:6px;font-size:11px;font-weight:1000;text-transform:uppercase;color:#b8d7c4}.providerSearchBar input{border:1px solid rgba(124,241,180,.22);border-radius:14px;background:#071524;color:#fff;padding:12px 14px;font-weight:900}.providerQuickInfo{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.providerQuickInfo span{border:1px solid rgba(124,241,180,.18);border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.04);font-size:11px;font-weight:900;color:#dffbe8}.providerTableWrap table th,.providerTableWrap table td{text-align:center;vertical-align:middle}.providerTable th:first-child,.providerTable td:first-child{width:80px}.providerActionsLeft{justify-content:center}.providerAvatarMini{width:44px;height:44px;border-radius:14px;object-fit:cover;border:2px solid #000;background:#06101b;box-shadow:0 8px 18px rgba(0,0,0,.2)}.providerTagList{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.providerTagList.big{justify-content:flex-start;margin:12px 0}.providerTag{display:inline-flex;align-items:center;border:1px solid rgba(124,241,180,.24);border-radius:999px;background:rgba(124,241,180,.1);color:#dffff0;font-weight:1000;font-size:10px;padding:5px 8px;text-transform:uppercase}.providerTag.muted{opacity:.65;background:rgba(255,255,255,.04)}.providerInactive{opacity:.58}.statusPill.success{background:rgba(124,241,180,.14);color:#8dffc1;border:1px solid rgba(124,241,180,.3)}.statusPill.danger{background:rgba(255,95,125,.12);color:#ff9cad;border:1px solid rgba(255,95,125,.28)}.providerDialog{max-width:min(1080px,94vw)}.providerFormGrid{display:grid;grid-template-columns:190px 1fr;gap:16px}.providerAvatarEdit{display:grid;align-content:start;gap:12px;justify-items:center}.providerAvatarEdit img,.providerAvatarLarge{width:132px;height:132px;border-radius:26px;object-fit:cover;border:3px solid #000;background:#06101b;box-shadow:0 16px 40px rgba(0,0,0,.3)}.providerFieldsGrid{align-items:start}.providerViewDialog{max-width:min(980px,94vw)}.providerViewBody{display:grid;gap:14px}.providerViewTop{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center}.providerViewCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.providerViewCards>div,.providerInfoGrid>div{border:1px solid rgba(124,241,180,.18);border-radius:16px;background:rgba(255,255,255,.04);padding:12px}.providerViewCards small,.providerInfoGrid small{display:block;color:#a8eabb;font-weight:1000;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.providerViewCards strong{display:block;margin-top:4px;color:#fff}.providerInfoGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.providerInfoGrid .span2{grid-column:1/-1}.providerInfoGrid p{margin:6px 0 0;color:#f1f7ff;font-weight:800}.providerModelBox{border:1px solid rgba(255,215,107,.2);border-radius:18px;background:linear-gradient(135deg,rgba(255,215,107,.07),rgba(115,186,247,.04));padding:12px}.miniHeader{margin-bottom:8px}.providerModelsActions{display:flex;gap:8px;flex-wrap:wrap}.providerCompose{margin-top:12px}.providerMessagePreview{width:100%;border:1px solid rgba(124,241,180,.22);border-radius:14px;background:#06101b;color:#fff;padding:12px;font-weight:700;line-height:1.4}.providerTokenLegend{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.providerTokenLegend code{border:1px solid rgba(124,241,180,.2);background:rgba(124,241,180,.09);border-radius:8px;padding:5px 7px;color:#dffff0}.providerTemplateEditor{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;margin-bottom:12px;background:rgba(255,255,255,.035)}.fileButton{cursor:pointer}.providerRow{cursor:pointer}
@media(max-width:900px){.providerSearchBar{grid-template-columns:1fr}.providerFormGrid,.providerViewTop{grid-template-columns:1fr}.providerViewCards,.providerInfoGrid{grid-template-columns:1fr}.providerHeaderActions{justify-content:flex-start}}

/* CRM V456 - sidebar mais compacta para manter Sair visível */
.sidebar{
  padding:10px 12px !important;
  gap:8px !important;
  min-height:100vh !important;
  overflow:hidden !important;
}
.sidebar > div:first-child{
  min-height:0 !important;
  flex:1 1 auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:2px !important;
  scrollbar-width:thin;
}
.sidebar > div:first-child::-webkit-scrollbar{width:5px;}
.sidebar > div:first-child::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px;}
.sidebarFooter{
  flex:0 0 auto !important;
  gap:6px !important;
  padding-top:6px !important;
  margin-top:6px !important;
  border-top:1px solid rgba(255,255,255,.08);
}
.brandRow{
  gap:8px !important;
  align-items:center !important;
  margin-bottom:4px !important;
}
.brandWrap{gap:8px !important;}
.brandLogo,
.brandLogoSwitch,
.brandLogoSwitch .brandLogo{
  width:86px !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  border-radius:18px !important;
}
.brandLogoSwitch{
  padding:0 !important;
}
.sidebar .iconBtn,
.sidebar .mobileSidebarBtn{
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  border-radius:14px !important;
}
.sidebarGlobalSearch{
  margin:6px 2px 8px !important;
  gap:4px !important;
}
.sidebarGlobalSearch input,
.sidebarGlobalSearch button{
  height:32px !important;
  min-height:32px !important;
  border-radius:10px !important;
  font-size:11px !important;
  padding:0 8px !important;
}
.sidebarGlobalSearch button{
  min-width:34px !important;
  width:34px !important;
  padding:0 !important;
}
.navMenu,
.navMenu.compactNav,
.navGroup,
.navTree{
  gap:5px !important;
}
.navMenu{
  margin-top:6px !important;
}
.navDivider{
  margin:2px 8px !important;
  opacity:.6 !important;
}
.sidebar .navItem,
.sidebarFooter .navItem,
.sidebar .navItemParent{
  min-height:36px !important;
  padding:7px 10px !important;
  border-radius:14px !important;
  gap:8px !important;
  line-height:1.05 !important;
}
.sidebar .navSubMenu,
.sidebar .financeNavModern,
.sidebar .navTreeLevel1,
.sidebar .navTreeLevel2{
  gap:4px !important;
  padding-left:10px !important;
  margin-top:4px !important;
}
.sidebar .navSubItem{
  min-height:31px !important;
  padding:6px 8px !important;
  border-radius:12px !important;
  font-size:11px !important;
  line-height:1.05 !important;
}
.sidebar .navIcon{
  width:20px !important;
  min-width:20px !important;
  font-size:13px !important;
}
.sidebar .navLabel,
.sidebar .navSubItem,
.sidebar .navBadge{
  font-size:11px !important;
  letter-spacing:.01em !important;
}
.sidebar .navPlus{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  font-size:13px !important;
}
.sidebar .navBadge{
  min-width:20px !important;
  height:19px !important;
  padding:0 6px !important;
}
.sidebarFooter .navItem.danger{
  width:100% !important;
  min-height:36px !important;
  padding:8px 10px !important;
  justify-content:center !important;
  border-radius:14px !important;
}
body.sidebar-collapsed .sidebar{
  padding:10px 8px !important;
}
body.sidebar-collapsed .sidebar > div:first-child{
  overflow-y:auto !important;
}
body.sidebar-collapsed .sidebar .navItem,
body.sidebar-collapsed .sidebarFooter .navItem{
  justify-content:center !important;
  padding:8px !important;
}
body.sidebar-collapsed .sidebarGlobalSearch{
  display:none !important;
}
@media (max-height:760px){
  .brandLogo,.brandLogoSwitch,.brandLogoSwitch .brandLogo{width:72px !important;}
  .sidebar .navItem,.sidebarFooter .navItem,.sidebar .navItemParent{min-height:32px !important;padding:6px 9px !important;}
  .sidebar .navSubItem{min-height:28px !important;padding:5px 8px !important;}
  .sidebarGlobalSearch input,.sidebarGlobalSearch button{height:30px !important;min-height:30px !important;}
}

/* CRM V457 - Sidebar sem barra lateral visível + Oportunidades agrupando Orçamento/Execução */
.sidebar{
  overflow:hidden !important;
}
.sidebar > div:first-child{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
.sidebar > div:first-child::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
.navTree > summary::-webkit-details-marker{display:none !important;}
.navTree > summary{list-style:none !important;}
.navGroupOportunidades > summary.navItemParent{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}
.navParentLink{
  min-width:0;
  flex:1 1 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:inherit;
  text-decoration:none;
}
.navParentLink .navLabel{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.navGroupOportunidades .opportunityNavModern{
  padding-left:12px !important;
  border-left:2px solid rgba(255,255,255,.08);
}
.navGroupOportunidades:not([open]) .opportunityNavModern{display:none !important;}
.navGroupOportunidades[open] > summary .navPlus,
.navGroupRecebimentos[open] > summary .navPlus{
  transform:rotate(180deg) scale(1.08);
}
.navPlus{
  transition:transform .2s ease, filter .2s ease !important;
}
@media (min-height:760px){
  .sidebar .navItem,
  .sidebarFooter .navItem,
  .sidebar .navItemParent{min-height:34px !important;padding-top:6px !important;padding-bottom:6px !important;}
  .sidebar .navSubItem{min-height:29px !important;padding-top:5px !important;padding-bottom:5px !important;}
}

/* CRM V458 - Prestadores: paginação, lojas destacadas, mais usados e anexos Telegram */
.providerUsedPanel,.providerListPanel{border:1px solid rgba(124,241,180,.18);border-radius:20px;background:rgba(0,0,0,.12);padding:12px;margin-top:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.providerUsedGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.providerUsedCard{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;border:1px solid rgba(124,241,180,.18);border-radius:18px;background:linear-gradient(135deg,rgba(9,24,39,.96),rgba(4,12,22,.96));padding:10px}.providerUsedCard.providerUsedStore,.providerRowLoja{background:linear-gradient(135deg,rgba(255,215,107,.16),rgba(8,20,32,.96))!important}.providerUsedCard img{width:48px;height:48px;border-radius:16px;border:2px solid #000;object-fit:cover;background:#071524}.providerUsedCard strong{display:block;color:#fff;font-weight:1000}.providerUsedCard span,.providerUsedCard small{display:block;color:#bdebd0;font-size:11px;font-weight:850}.providerKindPill{display:inline-flex;margin-left:8px;border:1px solid rgba(124,241,180,.22);border-radius:999px;padding:3px 7px;font-size:9px;font-weight:1000;color:#cffff0;background:rgba(124,241,180,.08)}.providerKindPill.store{color:#161000;background:linear-gradient(135deg,#ffe082,#8ee7ff);border-color:#000}.providerUseInfo{display:block;margin-top:5px;color:#92d6ff;font-weight:900}.providerPager{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.providerPager span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;border:1px solid rgba(255,215,107,.24);border-radius:999px;color:#ffe082;background:rgba(255,215,107,.08);font-weight:1000}.providerPager .disabled{opacity:.45;pointer-events:none}.providerPagerBottom{justify-content:center;margin-top:12px}.providerEmptyUsed{border-radius:16px;padding:14px!important}.compactBtn{min-height:32px!important;padding:7px 12px!important;font-size:12px!important}.providerAttachmentList{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.providerAttachmentChip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(115,186,247,.24);border-radius:999px;padding:7px 10px;background:rgba(115,186,247,.08);color:#e9f7ff;text-decoration:none;font-size:11px;font-weight:900}.mutedText{color:var(--muted,#9bb0c4);font-weight:800}.providerTemplatesDialog{max-width:min(1050px,94vw)}
.providerViewCards{grid-template-columns:repeat(5,minmax(0,1fr))!important}.providerViewCards>div{min-height:70px}.providerTable .providerRowLoja td{border-color:rgba(255,215,107,.35)!important}.providerTable .providerRowLoja .providerTag{border-color:rgba(255,215,107,.35);background:rgba(255,215,107,.12);color:#fff2bc}.providerDirectoryPanel .sectionToggle{min-width:42px;height:36px;border-radius:14px;border:2px solid #000;background:linear-gradient(135deg,#55dc7a,#102033);color:#fff;font-weight:1000;box-shadow:0 10px 24px rgba(0,0,0,.25);transition:transform .18s ease,filter .18s ease}.providerDirectoryPanel .sectionToggle:hover{transform:scale(1.08);}
@media(max-width:1180px){.providerUsedGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.providerViewCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.providerUsedGrid{grid-template-columns:1fr}.providerUsedCard{grid-template-columns:48px 1fr}.providerUsedCard .btn{grid-column:1/-1}.providerPager{justify-content:center}.providerViewCards{grid-template-columns:1fr!important}}

/* CRM V459 - Prestadores: histórico e avaliação pós-serviço */
.providerViewTabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid rgba(124,241,180,.16);padding-bottom:10px;margin-bottom:12px}.providerTabBtn{border:2px solid #000;border-radius:14px;background:linear-gradient(135deg,rgba(124,241,180,.18),rgba(5,16,28,.96));color:#f1fff8;font-weight:1000;padding:9px 14px;cursor:pointer;box-shadow:0 10px 20px rgba(0,0,0,.22);transition:transform .18s ease,filter .18s ease}.providerTabBtn:hover{transform:translateY(-1px);}.providerTabBtn.active{background:linear-gradient(135deg,#69e78f,#0b2436);color:#04120b}.providerHistoryPanel{border:1px solid rgba(124,241,180,.16);border-radius:20px;background:linear-gradient(180deg,rgba(7,18,31,.96),rgba(3,9,17,.98));padding:14px}.providerHistoryHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}.providerHistoryHead h4{margin:0;color:#fff}.providerHistoryHead p{margin:4px 0 0;color:#a8c6da;font-weight:800}.providerHistoryActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.providerProfitToggle{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,215,107,.22);border-radius:999px;background:rgba(255,215,107,.08);color:#ffe9a6;font-weight:1000;padding:7px 10px;font-size:12px}.providerHistoryKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.providerHistoryKpis article{border:1px solid rgba(124,241,180,.18);border-radius:16px;background:rgba(255,255,255,.045);padding:12px;text-align:center}.providerHistoryKpis span{display:block;color:#a8eabb;font-size:10px;font-weight:1000;text-transform:uppercase}.providerHistoryKpis strong{display:block;margin-top:4px;color:#fff;font-size:18px}.providerHistoryHint{margin:6px 0 10px;color:#a8c6da;font-size:12px;font-weight:900}.providerHistoryTableWrap{max-height:56vh;overflow:auto;border-radius:16px}.providerHistoryTable th,.providerHistoryTable td{text-align:center;vertical-align:middle}.providerHistoryTable th{position:sticky;top:0;z-index:1}.providerRatingBox{display:grid;grid-template-columns:repeat(4,minmax(56px,1fr));gap:5px;min-width:260px}.providerRatingBox label{display:grid;gap:3px;color:#bdebd0;font-size:9px;font-weight:1000;text-transform:uppercase}.providerRatingBox select,.providerRatingBox input{border:1px solid rgba(124,241,180,.22);border-radius:8px;background:#06101b;color:#fff;padding:5px;font-weight:900}.providerRatingBox input{grid-column:1/4}.providerRatingBox button{grid-column:4}.providerHistoryTable .miniFilterBtn{min-height:28px;padding:5px 8px;border-radius:9px;font-size:11px}.providerHistoryTable a.miniFilterBtn{text-decoration:none;color:#fff;display:inline-flex;align-items:center;justify-content:center}@media(max-width:900px){.providerHistoryKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.providerHistoryHead{display:grid}.providerHistoryActions{justify-content:flex-start}.providerRatingBox{grid-template-columns:repeat(2,minmax(70px,1fr));min-width:220px}.providerRatingBox input,.providerRatingBox button{grid-column:1/-1}}

/* CRM V461 - sidebar compacta, logo nova menor e botões originais */
.sidebar{
  overflow:hidden !important;
  scrollbar-width:none !important;
}
.sidebar::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;}
.sidebar > div:first-child{overflow:hidden !important;}
.navMenu.compactNav{display:grid !important;gap:5px !important;overflow:visible !important;}
.navDivider{margin:2px 0 !important;height:1px !important;opacity:.28 !important;}
.brandRow{padding-top:0 !important;margin-bottom:4px !important;align-items:center !important;}
.brandWrap{min-height:74px !important;display:flex !important;align-items:center !important;}
.brandLogoSwitch{width:120px !important;height:72px !important;min-height:72px !important;border-radius:22px !important;}
.brandLogo{width:112px !important;height:68px !important;max-height:68px !important;object-fit:contain !important;}
body.sidebar-collapsed .brandLogoSwitch{width:52px !important;height:52px !important;min-height:52px !important;border-radius:18px !important;}
body.sidebar-collapsed .brandLogo{width:48px !important;height:48px !important;max-height:48px !important;}
.sidebarGlobalSearch{margin:4px 0 7px !important;}
.sidebarGlobalSearch input{height:30px !important;font-size:10px !important;padding:5px 9px !important;}
.sidebarGlobalSearch button{height:30px !important;width:34px !important;min-width:34px !important;}
.navItem,.navSubItem,.sidebarFooter .navItem{
  min-height:36px !important;
  height:36px !important;
  padding:7px 10px !important;
  border-width:1.5px !important;
  border-radius:14px !important;
  font-size:12px !important;
  letter-spacing:.015em !important;
}
.navTree summary.navItem{padding-right:8px !important;}
.navIcon{width:22px !important;min-width:22px !important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));}
.navSubMenu{padding:5px 0 0 14px !important;gap:5px !important;}
.navSubMenu .navSubItem{min-height:31px !important;height:31px !important;font-size:11px !important;}
.sidebarFooter{padding-top:5px !important;margin-top:5px !important;}
.sidebarFooter .navItem.danger{height:36px !important;min-height:36px !important;}
.navItem{
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.012)),
    linear-gradient(90deg, rgba(6,16,29,.96), rgba(8,25,42,.92)) !important;
}
.navItem:nth-of-type(1), .navTree:nth-of-type(1) summary.navItem{box-shadow:inset 4px 0 0 rgba(115,186,247,.95),0 10px 22px rgba(0,0,0,.12) !important;}
.navItemMsg{box-shadow:inset 4px 0 0 rgba(210,170,255,.95),0 10px 22px rgba(0,0,0,.12) !important;}
.navGroupOportunidades summary.navItem{box-shadow:inset 4px 0 0 rgba(255,91,154,.95),0 10px 22px rgba(0,0,0,.12) !important;}
.navGroupRecebimentos summary.navItem{box-shadow:inset 4px 0 0 rgba(255,202,92,.95),0 10px 22px rgba(0,0,0,.12) !important;}
.navGroupConfiguracoes summary.navItem{box-shadow:inset 4px 0 0 rgba(124,241,180,.95),0 10px 22px rgba(0,0,0,.12) !important;}
.navItem[href*="prestadores"]{box-shadow:inset 4px 0 0 rgba(91,210,255,.95),0 10px 22px rgba(0,0,0,.12) !important;}
.navItem:hover,.navSubItem:hover,.navItem.active,.navSubItem.active{
  transform:translateX(2px) !important;
  border-color:color-mix(in srgb,var(--primary) 70%,#000) !important;
}
.navPlus{width:26px !important;height:26px !important;border-radius:12px !important;display:inline-grid !important;place-items:center !important;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.12));border:1px solid rgba(255,255,255,.16);}
.navPlus::before{content:'+';font-weight:1000;font-size:16px;line-height:1;transition:transform .22s ease,opacity .22s ease;}
details[open] > summary .navPlus::before{content:'−';transform:rotate(180deg);}

/* CRM V461 - colapso único e moderno */
.crmUniversalCollapseBtn,.configCollapseBtn,.kpiSizeControls [data-collapse-toggle],.iconBtn[data-crm-section-toggle]{
  width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;
  border-radius:16px !important;border:2px solid rgba(0,0,0,.72) !important;
  background:linear-gradient(135deg,var(--primary),var(--primary-2)) !important;color:#05111d !important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 28%,transparent), inset 0 1px 0 rgba(255,255,255,.32) !important;
  font-weight:1000 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;
  transition:transform .22s cubic-bezier(.2,1.55,.3,1), filter .18s ease, box-shadow .18s ease !important;
}
.crmUniversalCollapseBtn:hover,.configCollapseBtn:hover{transform:translateY(-2px) scale(1.06) !important;}
.crmUniversalCollapseBtn.isClicking,.configCollapseBtn:active{animation:crmCollapsePop .36s ease;}
.crmCollapseIcon.modern{font-size:22px;font-weight:1000;line-height:1;transition:transform .24s ease;}
[aria-expanded="true"] .crmCollapseIcon.modern{transform:rotate(180deg) scale(1.05);}
@keyframes crmCollapsePop{0%{transform:scale(.92)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
.configHeaderActions{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:8px !important;}
.configSectionHeader .configHeaderActions .crmUniversalCollapseBtn[data-crm-auto-collapse-button]{display:none !important;}

/* CRM V461 - NFs internas somente via KPI, sem botões duplicados embaixo */
.financeNfQuickLinks.financeChromeTabs{display:none !important;}
.financeTable[data-finance-sortable="1"] th{cursor:pointer;}
.financeCostKpiGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 14px;}
.financeCostKpiGrid article{border:1.5px solid rgba(0,0,0,.7);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.financeCostKpiGrid span{display:block;color:var(--muted);font-weight:1000;font-size:11px;text-transform:uppercase;letter-spacing:.05em;}
.financeCostKpiGrid strong{display:block;margin-top:6px;font-size:24px;color:var(--text);}
.financeCostKpiGrid .paid strong{color:#7cf1b4}.financeCostKpiGrid .open strong{color:#ffd76b}
.financeExpensePreviewBox{display:none;margin:10px 0 0;border:1px solid rgba(124,241,180,.24);border-radius:16px;padding:10px;background:rgba(124,241,180,.06);font-size:12px;line-height:1.45;}
.financeExpensePreviewBox.isVisible{display:block;}
.financeExpensePreviewBox strong{display:block;margin-bottom:4px;color:var(--text);}
.financeEntryFields.isHidden,.financePaidDateWrap.isHidden,.financeRecurringField.isHidden{display:none !important;}
.financeCapitalForecastBox.crmCollapsiblePanel{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:14px;background:rgba(255,255,255,.025);}
.financeCapitalForecastBox .sectionHeader{margin-bottom:10px;}

@media(max-height:760px){
  .navItem,.sidebarFooter .navItem{height:33px !important;min-height:33px !important;padding:6px 9px !important;font-size:11px !important;}
  .navSubMenu .navSubItem{height:29px !important;min-height:29px !important;}
  .brandLogoSwitch{width:96px !important;height:56px !important;min-height:56px !important;}
  .brandLogo{width:92px !important;height:52px !important;max-height:52px !important;}
}

/* CRM V462 - Ajustes globais: colapso único, contagens compactas, sidebar sem rolagem visível */
.crmUniversalCollapseBtn,
.configCollapseBtn,
.kpiSizeControls [data-collapse-toggle],
.iconBtn[data-crm-section-toggle],
.iconBtn[data-crm-collapse-toggle],
.sectionToggle.iconBtn{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  border-radius:999px !important;
  border:2px solid #020509 !important;
  background:radial-gradient(circle at 30% 18%, rgba(255,255,255,.45), transparent 20%), linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  color:#03101c !important;
  box-shadow:0 12px 26px color-mix(in srgb,var(--primary) 34%,transparent), inset 0 1px 0 rgba(255,255,255,.38) !important;
}
.crmUniversalCollapseBtn .crmCollapseIcon.modern,
.iconBtn[data-crm-section-toggle] .crmCollapseIcon.modern,
.iconBtn[data-crm-collapse-toggle] .crmCollapseIcon.modern{font-size:24px!important;line-height:1!important;}
.crmUniversalCollapseBtn[aria-expanded="false"],
.iconBtn[data-crm-section-toggle][aria-expanded="false"],
.iconBtn[data-crm-collapse-toggle][aria-expanded="false"],
.sectionToggle.iconBtn[aria-expanded="false"]{filter:saturate(1.08) brightness(1.04);}
.crmUniversalCollapseBtn[aria-expanded="false"] .crmCollapseIcon.modern,
.iconBtn[data-crm-section-toggle][aria-expanded="false"] .crmCollapseIcon.modern,
.iconBtn[data-crm-collapse-toggle][aria-expanded="false"] .crmCollapseIcon.modern{transform:rotate(90deg) scale(1.05)!important;}
.crmUniversalCollapseBtn[aria-expanded="true"] .crmCollapseIcon.modern,
.iconBtn[data-crm-section-toggle][aria-expanded="true"] .crmCollapseIcon.modern,
.iconBtn[data-crm-collapse-toggle][aria-expanded="true"] .crmCollapseIcon.modern{transform:rotate(180deg) scale(1.05)!important;}
.crmUniversalCollapseBtn.isClicking,
.iconBtn[data-crm-section-toggle].isClicking,
.iconBtn[data-crm-collapse-toggle].isClicking{animation:crmV462CollapsePulse .46s cubic-bezier(.17,1.45,.32,1) both!important;}
@keyframes crmV462CollapsePulse{0%{transform:scale(.82) rotate(-12deg)}55%{transform:scale(1.18) rotate(8deg)}100%{transform:scale(1) rotate(0)}}
.crmCollapsiblePanel.is-collapsed .crmCollapseContent,
.crmUniversalSection.is-collapsed .crmAutoCollapseContent{display:none!important;}
.crmPagerSubtitle{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:26px!important;padding:4px 10px!important;border:1.5px solid rgba(124,241,180,.2)!important;border-radius:999px!important;background:rgba(124,241,180,.075)!important;color:#d9fff0!important;font-size:12px!important;font-weight:1000!important;white-space:nowrap!important;}
.sidebar{overflow:hidden!important;scrollbar-width:none!important;}
.sidebar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.sidebar > div:first-child{overflow:hidden!important;scrollbar-width:none!important;}
.sidebar:has(details[open]) > div:first-child{overflow-y:auto!important;scrollbar-width:none!important;}
.sidebar:has(details[open]) > div:first-child::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.sidebarFooter{position:relative!important;z-index:3!important;}

/* CRM V462 - Início: botões/filtros da Produção e Desempenho alinhados */
body.page-inicio .inicioKpiHeaderActionsV441,
body.page-inicio .dashboardFilterHeaderActions,
body.page-inicio .inicioSellerActions,
body.page-inicio .inicioMapHeaderActions{display:flex!important;align-items:end!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
body.page-inicio .inicioPeriodForm,
body.page-inicio .inicioKpiPeriodForm{display:flex!important;align-items:end!important;gap:10px!important;flex-wrap:wrap!important;margin:0!important;}
body.page-inicio .inicioPeriodForm label,
body.page-inicio .inicioKpiPeriodForm label{display:grid!important;gap:5px!important;min-width:148px!important;margin:0!important;font-size:11px!important;font-weight:1000!important;text-transform:uppercase!important;color:var(--muted)!important;}
body.page-inicio .inicioPeriodForm input[type="date"],
body.page-inicio .inicioKpiPeriodForm input[type="date"],
body.page-inicio .inicioPeriodForm .btn,
body.page-inicio .inicioKpiPeriodForm .btn,
body.page-inicio .inicioSellerActions > .btn,
body.page-inicio .inicioMapHeaderActions > .btn,
body.page-inicio .dashboardFilterHeaderActions > .btn{height:46px!important;min-height:46px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
body.page-inicio .inicioSellerActions .crmUniversalCollapseBtn,
body.page-inicio .inicioMapHeaderActions .crmUniversalCollapseBtn,
body.page-inicio .inicioKpiHeaderActionsV441 .crmUniversalCollapseBtn{align-self:end!important;}
body.page-inicio .crmDetailSection .detailHeaderActions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
body.page-inicio .inicioBrazilMapBoard[hidden],
body.page-inicio .dashboardKpiBody[hidden],
body.page-inicio .inicioSellerPerformanceWrap[hidden]{display:none!important;}

/* CRM V462 - Prestadores: colapso funcional das duas listas */
body.page-prestadores .providerUsedPanel .crmCollapseContent[hidden],
body.page-prestadores .providerListPanel .crmCollapseContent[hidden]{display:none!important;}
body.page-prestadores .providerDirectoryPanel .sectionToggle.crmUniversalCollapseBtn{width:42px!important;height:42px!important;min-width:42px!important;}
body.page-prestadores .miniHeader{align-items:center!important;}

/* CRM V462 - Orçamento: Resumo Todos com cabeçalho alinhado */
body.page-orcamento .budgetOverviewHeader.crmSectionToggleHeader{display:flex!important;align-items:center!important;gap:12px!important;justify-content:space-between!important;}
body.page-orcamento .budgetOverviewHeader .budgetSummaryAllBtn{margin-left:auto!important;}
body.page-orcamento .budgetOverviewSection.is-collapsed .crmCollapseContent{display:none!important;}



/* CRM V463 - ajustes finos: alinhamento, sidebar logo e colapsos */
body.page-inicio .inicioKpiPeriodForm button.btn[type="submit"],
body.page-inicio .inicioPeriodForm button.btn[type="submit"],
body.page-inicio .inicioSellerActions > a.btn,
body.page-inicio .inicioSellerActions > button.btn,
body.page-inicio .inicioKpiHeaderActionsV441 > button.btn,
body.page-inicio .inicioMapHeaderActions > button.btn{
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  padding:0 16px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  align-self:end !important;
  margin:0 !important;
}
body.page-inicio .inicioKpiPeriodForm input[type="date"],
body.page-inicio .inicioPeriodForm input[type="date"]{
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  box-sizing:border-box !important;
}
body.page-inicio .inicioKpiHeaderActionsV441,
body.page-inicio .inicioSellerActions,
body.page-inicio .inicioMapHeaderActions{
  align-items:end !important;
  row-gap:8px !important;
}

/* Logo da sidebar um pouco maior e mais baixa, sem aumentar a sidebar toda */
.sidebar .brandRow{
  padding-top:6px !important;
  margin-bottom:8px !important;
}
.sidebar .brandWrap{
  min-height:86px !important;
  margin:2px auto 4px !important;
  transform:none !important;
  align-items:center !important;
  justify-content:center !important;
}
.sidebar .brandLogoSwitch{
  width:136px !important;
  height:82px !important;
  min-height:82px !important;
  border-radius:24px !important;
}
.sidebar .brandLogo,
.sidebar .brandLogoSwitch[data-current-logo="secondary"] .brandLogo{
  width:128px !important;
  height:78px !important;
  max-height:78px !important;
  object-fit:contain !important;
  object-position:center !important;
}
body.sidebar-collapsed .sidebar .brandWrap{min-height:62px !important;margin:2px auto 4px !important;}
body.sidebar-collapsed .sidebar .brandLogoSwitch{width:56px !important;height:56px !important;min-height:56px !important;}
body.sidebar-collapsed .sidebar .brandLogo{width:52px !important;height:52px !important;max-height:52px !important;}

/* Configurações: caixa de logos mais evidente para troca das duas logos principais */
body.page-configuracoes .crmLogoForm{
  border:1.5px solid color-mix(in srgb, var(--primary) 34%, rgba(255,255,255,.08));
  border-radius:22px;
  padding:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
body.page-configuracoes .crmLogoPreviewCard img{
  max-height:96px !important;
  object-fit:contain !important;
  background:transparent !important;
}

/* Sidebar: quando abrir submenus pode rolar por dentro, mas sem barra visível */
.sidebar, .sidebar > div:first-child, .navMenu.compactNav{
  scrollbar-width:none !important;
}
.sidebar::-webkit-scrollbar,
.sidebar > div:first-child::-webkit-scrollbar,
.navMenu.compactNav::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important;}
.configLogoHint{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:850;line-height:1.35;max-width:760px;}


/* CRM V457 - padrão simples/discreto para recolher e expandir sem + e - */
.sectionHeader,
.configSectionHeader,
.crmSectionToggleHeader{
  position:relative;
}
.sectionHeader .crmUniversalCollapseBtn,
.sectionHeader .configCollapseBtn,
.sectionHeader .crmCollapseToggle,
.sectionHeader .crmCollapseBtn,
.sectionHeader [data-collapse-toggle],
.sectionHeader [data-crm-collapse-toggle],
.sectionHeader [data-crm-section-toggle],
.configSectionHeader .crmUniversalCollapseBtn,
.configSectionHeader .configCollapseBtn,
.configSectionHeader .crmCollapseToggle,
.configSectionHeader .crmCollapseBtn,
.crmSectionToggleHeader .crmUniversalCollapseBtn,
.crmSectionToggleHeader .crmCollapseToggle,
.crmSectionToggleHeader .crmCollapseBtn{
  margin-left:auto !important;
  align-self:flex-start !important;
  justify-self:end !important;
}
.crmUniversalCollapseBtn,
.configCollapseBtn,
.crmCollapseToggle,
.crmCollapseBtn,
[data-collapse-toggle],
[data-crm-collapse-toggle],
[data-crm-section-toggle]{
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  border-radius:12px !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.055) !important;
  color:var(--text,#eaf5ff) !important;
  box-shadow:none !important;
  display:inline-grid !important;
  place-items:center !important;
}
.crmUniversalCollapseBtn:hover,
.configCollapseBtn:hover,
.crmCollapseToggle:hover,
.crmCollapseBtn:hover,
[data-collapse-toggle]:hover,
[data-crm-collapse-toggle]:hover,
[data-crm-section-toggle]:hover{
  transform:none !important;
  border-color:rgba(115,186,247,.35) !important;
}
.crmCollapseIcon,
.configCollapseBtn .crmCollapseIcon,
.crmUniversalCollapseBtn .crmCollapseIcon,
.crmCollapseToggle .crmCollapseIcon,
.crmCollapseBtn .crmCollapseIcon,
[data-collapse-toggle] .crmCollapseIcon,
[data-crm-collapse-toggle] .crmCollapseIcon,
[data-crm-section-toggle] .crmCollapseIcon,
[data-toggle-symbol]{
  font-size:18px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:none !important;
  font-family:Arial,Helvetica,sans-serif !important;
}
.navTree .navPlus:before,
.navMenu.compactNav .navPlus::before,
.navPlus::before{
  content:'▾' !important;
  font-weight:900 !important;
  font-size:14px !important;
  line-height:1 !important;
}
.navTree[open]>summary .navPlus:before,
.navMenu.compactNav .navTree[open] .navPlus::before,
details[open] > summary .navPlus::before{
  content:'▴' !important;
  transform:none !important;
}
.crmCacheCleanBoxV457{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.crmCacheCleanBoxV457 .btn{white-space:nowrap;}
@media(max-width:760px){
  .sectionHeader .crmUniversalCollapseBtn,
  .sectionHeader .crmCollapseToggle,
  .sectionHeader .crmCollapseBtn,
  .sectionHeader [data-collapse-toggle],
  .sectionHeader [data-crm-collapse-toggle],
  .sectionHeader [data-crm-section-toggle]{
    width:32px !important;min-width:32px !important;height:32px !important;min-height:32px !important;
  }
}

/* CRM V459 - Tabelas sem degradê/colunas manchadas + botões de paginação padronizados */
:root{
  --crm-table-row-odd: rgba(9, 24, 40, .94);
  --crm-table-row-even: rgba(18, 39, 62, .94);
  --crm-table-row-hover: rgba(30, 61, 91, .96);
  --crm-table-head-solid: rgba(10, 26, 44, .98);
}

/* Nenhuma tabela do CRM deve herdar degradê do painel ou criar cor diferente por coluna. */
.tableWrap table,
.crmDetailTableWrap table,
.ticketTableWrap table,
.budgetListWrap table,
.budgetOrdersTableWrap table,
.dataTableWrap table,
.modeDetailedWrap table,
.detailedTableWrap table,
table.crmResizableTable,
table.resizableTable,
table.detailedTable,
table.ticketDataTable,
table.dashboardDataTable,
table.budgetListTable,
table.financeTable,
table.opTable,
table.opProductivityTable,
table.providerHistoryTable,
table.cmcTable,
table.permissionSheetTable,
table{
  background-image:none !important;
}

.tableWrap thead th,
.crmDetailTableWrap thead th,
.ticketTableWrap thead th,
.budgetListWrap thead th,
.budgetOrdersTableWrap thead th,
.dataTableWrap thead th,
.modeDetailedWrap thead th,
.detailedTableWrap thead th,
table.crmResizableTable thead th,
table.resizableTable thead th,
table.detailedTable thead th,
table.ticketDataTable thead th,
table.dashboardDataTable thead th,
table.budgetListTable thead th,
table.financeTable thead th,
table.opTable thead th,
table.opProductivityTable thead th,
table.providerHistoryTable thead th,
table.cmcTable thead th,
table.permissionSheetTable thead th,
thead th{
  background:var(--crm-table-head-solid) !important;
  background-image:none !important;
}

.tableWrap tbody tr:nth-child(odd) > td,
.crmDetailTableWrap tbody tr:nth-child(odd) > td,
.ticketTableWrap tbody tr:nth-child(odd) > td,
.budgetListWrap tbody tr:nth-child(odd) > td,
.budgetOrdersTableWrap tbody tr:nth-child(odd) > td,
.dataTableWrap tbody tr:nth-child(odd) > td,
.modeDetailedWrap tbody tr:nth-child(odd) > td,
.detailedTableWrap tbody tr:nth-child(odd) > td,
table.crmResizableTable tbody tr:nth-child(odd) > td,
table.resizableTable tbody tr:nth-child(odd) > td,
table.detailedTable tbody tr:nth-child(odd) > td,
table.ticketDataTable tbody tr:nth-child(odd) > td,
table.dashboardDataTable tbody tr:nth-child(odd) > td,
table.budgetListTable tbody tr:nth-child(odd) > td,
table.financeTable tbody tr:nth-child(odd) > td,
table.opTable tbody tr:nth-child(odd) > td,
table.opProductivityTable tbody tr:nth-child(odd) > td,
table.providerHistoryTable tbody tr:nth-child(odd) > td,
table.cmcTable tbody tr:nth-child(odd) > td,
table.permissionSheetTable tbody tr:nth-child(odd) > td,
tbody tr:nth-child(odd) > td{
  background:var(--crm-table-row-odd) !important;
  background-image:none !important;
}

.tableWrap tbody tr:nth-child(even) > td,
.crmDetailTableWrap tbody tr:nth-child(even) > td,
.ticketTableWrap tbody tr:nth-child(even) > td,
.budgetListWrap tbody tr:nth-child(even) > td,
.budgetOrdersTableWrap tbody tr:nth-child(even) > td,
.dataTableWrap tbody tr:nth-child(even) > td,
.modeDetailedWrap tbody tr:nth-child(even) > td,
.detailedTableWrap tbody tr:nth-child(even) > td,
table.crmResizableTable tbody tr:nth-child(even) > td,
table.resizableTable tbody tr:nth-child(even) > td,
table.detailedTable tbody tr:nth-child(even) > td,
table.ticketDataTable tbody tr:nth-child(even) > td,
table.dashboardDataTable tbody tr:nth-child(even) > td,
table.budgetListTable tbody tr:nth-child(even) > td,
table.financeTable tbody tr:nth-child(even) > td,
table.opTable tbody tr:nth-child(even) > td,
table.opProductivityTable tbody tr:nth-child(even) > td,
table.providerHistoryTable tbody tr:nth-child(even) > td,
table.cmcTable tbody tr:nth-child(even) > td,
table.permissionSheetTable tbody tr:nth-child(even) > td,
tbody tr:nth-child(even) > td{
  background:var(--crm-table-row-even) !important;
  background-image:none !important;
}

tbody td,
thead th{
  background-clip:padding-box !important;
}

/* Botões pequenos de paginação: mesma medida, mesma cor e mesma borda nos dois lados. */
.opPager .iconBtn,
.crmPager .iconBtn,
.pagination .iconBtn,
.tablePager .iconBtn{
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  border-radius:14px !important;
  background:rgba(9, 24, 40, .96) !important;
  background-image:none !important;
  border:1px solid rgba(112, 176, 255, .28) !important;
  color:#dff2ff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.opPager .iconBtn.disabledLink,
.crmPager .iconBtn.disabledLink,
.pagination .iconBtn.disabledLink,
.tablePager .iconBtn.disabledLink{
  opacity:.45 !important;
  filter:none !important;
}

/* Expandir/recolher discreto no canto direito, sem +/-. */
.crmUniversalCollapseBtn,
.crmCollapseToggle,
.crmCollapseBtn,
[data-collapse-toggle],
[data-crm-collapse-toggle],
[data-crm-section-toggle]{
  background:rgba(13, 34, 55, .96) !important;
  background-image:none !important;
  border:1px solid rgba(112,176,255,.32) !important;
  color:#dff2ff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* V667 - Inicio: botao de filtro por lupa no lugar de Atualizar */
body.page-inicio .inicioSearchIconBtn{
  width:42px;
  min-width:42px;
  height:36px;
  padding:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  line-height:1;
}

/* CRM V669 - Sidebar personalizada por Configuracoes: letras, altura e largura */
:root{
  --crm-sidebar-font-size:12px;
  --crm-sidebar-item-height:40px;
  --crm-sidebar-width:250px;
}
.appShell{grid-template-columns:var(--crm-sidebar-width) minmax(0,1fr) !important;}
body.sidebar-collapsed .appShell{grid-template-columns:88px minmax(0,1fr) !important;}
.sidebar{width:var(--crm-sidebar-width) !important; min-width:0 !important;}
.sidebar .navItem,
.sidebarFooter .navItem,
.navMenu.compactNav .navItem{
  min-height:var(--crm-sidebar-item-height) !important;
  font-size:var(--crm-sidebar-font-size) !important;
}
.sidebar .navLabel,
.sidebar .navSubItem,
.sidebarFooter .navLabel,
.navMenu.compactNav .navSubItem{
  font-size:var(--crm-sidebar-font-size) !important;
}
.sidebar .navSubItem,
.navMenu.compactNav .navSubItem{
  min-height:calc(var(--crm-sidebar-item-height) - 5px) !important;
}
body.sidebar-collapsed .sidebar{width:88px !important;}
.sidebarUiControlBoxV669{margin-top:12px;padding:14px;border:1px solid rgba(115,186,247,.18);border-radius:18px;background:rgba(3,19,34,.48);display:grid;gap:12px}
.sidebarUiControlBoxV669 strong{font-size:14px;color:#fff;letter-spacing:.02em}.sidebarUiControlBoxV669 small{color:var(--muted);font-weight:800;line-height:1.35}.sidebarUiRowsV669{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sidebarUiRowV669{display:grid;gap:8px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.sidebarUiRowV669 span{font-size:11px;color:var(--muted);font-weight:1000;text-transform:uppercase}.sidebarUiRowV669 output{font-size:18px;font-weight:1000;color:#fff}.sidebarUiBtnsV669{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.sidebarUiBtnsV669 .btn{min-height:34px!important;padding:7px 10px!important;border-radius:12px!important}@media(max-width:900px){.sidebarUiRowsV669{grid-template-columns:1fr}}


/* CRM V670 - Mapa da busca geral da sidebar */
.sidebarSearchMapBtn{grid-column:1/-1;height:30px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.045);color:var(--muted);font-weight:900;font-size:11px;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:.16s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.sidebarSearchMapBtn:hover,.sidebarSearchMapBtn.active{border-color:rgba(94,179,255,.45);transform:translateY(-1px)}
.sidebarSearchMapPanel{grid-column:1/-1;border:2px solid rgba(94,179,255,.28);border-radius:16px;padding:10px;background:rgba(4,10,18,.97);box-shadow:0 20px 34px rgba(0,0,0,.38);display:grid;gap:9px;z-index:55}
.sidebarSearchMapHead{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text);font-weight:1000;text-transform:uppercase;letter-spacing:.03em}
.sidebarSearchMapHead small{font-size:10px;color:var(--muted);font-weight:900;text-transform:none;letter-spacing:0}
.sidebarSearchMapGrid{display:grid;gap:7px}
.sidebarSearchMapGrid a{display:grid;gap:3px;text-decoration:none;color:var(--text);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:8px 9px;background:rgba(255,255,255,.035)}
.sidebarSearchMapGrid a:hover{border-color:rgba(94,179,255,.45);}
.sidebarSearchMapGrid b{font-size:11px;line-height:1.1;text-transform:uppercase;letter-spacing:.02em}
.sidebarSearchMapGrid span{font-size:10px;line-height:1.25;color:var(--muted);font-weight:800}
.sidebarSearchMapNote{border-top:1px solid rgba(255,255,255,.08);padding-top:8px;color:var(--muted);font-size:10px;line-height:1.25;font-weight:900}
.sidebar.collapsed .sidebarSearchMapBtn,.sidebar.collapsed .sidebarSearchMapPanel{display:none!important}

/* CRM V674 - alinhamento personalizado por coluna em todas as tabelas do CRM */
.crmColumnMenuAlignBox,
.crmColumnMenuRenameBox {
  margin: 12px 0 2px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}
.crmColumnMenuAlignBox > span,
.crmColumnMenuRenameBox > span {
  display: block;
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  color: var(--muted);
  text-transform: uppercase;
}
.crmColumnMenuAlignBtns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.crmColumnMenuAlignBtns .crmColumnMenuBtn {
  min-height: 38px;
  padding: 8px 8px;
  font-size: 10px;
  border-color: rgba(255,255,255,.12);
}
.crmColumnMenuBtn.is-active,
.crmColumnMenuAlignBtns .crmColumnMenuBtn.is-active {
  background: linear-gradient(135deg, color-mix(in srgb, var(--primary-2) 88%, #ffffff 8%), color-mix(in srgb, var(--primary-2) 52%, #06101b 48%));
  color: #06101b;
  border-color: color-mix(in srgb, var(--primary-2) 74%, #ffffff 18%);
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 10px 22px rgba(0,0,0,.24);
}
.crmColAlignLeft { text-align: left !important; }
.crmColAlignCenter { text-align: center !important; }
.crmColAlignRight { text-align: right !important; }
.crmColAlignCenter > *, .crmColAlignCenter .btn, .crmColAlignCenter .badge, .crmColAlignCenter .tag { margin-left: auto; margin-right: auto; }
.crmColAlignRight > * { margin-left: auto; }
.crmColumnHeader[data-crm-col-align="center"]::before,
.crmColumnHeader[data-crm-col-align="right"]::before,
.crmColumnHeader[data-crm-col-align="left"]::before {
  display: inline-block;
  margin-right: 5px;
  font-size: 10px;
  opacity: .7;
}
.crmColumnHeader[data-crm-col-align="left"]::before { content: '⇤'; }
.crmColumnHeader[data-crm-col-align="center"]::before { content: '↔'; }
.crmColumnHeader[data-crm-col-align="right"]::before { content: '⇥'; }
.crmColumnMenuRenameBox {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.crmColumnMenuRenameBox .crmColumnMenuBtn {
  min-height: 38px;
  padding: 8px 10px;
  font-size: 10px;
}
.crmColumnHeader { user-select: none; }
@media (max-width: 760px) {
  .crmColumnMenuAlignBtns { grid-template-columns: 1fr; }
}


/* CRM V677 - tabelas dimensionaveis com largura fixa por coluna */
table.crmResizableTable{
  table-layout:fixed !important;
  max-width:none !important;
}
table.crmResizableTable th,
table.crmResizableTable td{
  box-sizing:border-box !important;
}
.crmTableResizeHost{
  overflow-x:auto !important;
  overflow-y:visible;
  overscroll-behavior-x:contain;
}

/* CRM V687 - seletor inteligente de prestadores */
.crmNativeSmartProviderSelect{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  clip:rect(0 0 0 0)!important;
}
.smartProviderSelect{position:relative;width:100%;min-width:0;z-index:5}.inlineFieldRow .smartProviderSelect{flex:1 1 auto}.smartProviderTrigger{width:100%;min-height:52px;border:2px solid #000;border-radius:15px;background:linear-gradient(180deg,#102437,#071522);color:#f7fbff;text-align:left;padding:9px 42px 9px 14px;font-weight:1000;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 24px rgba(0,0,0,.22);cursor:pointer;position:relative}.smartProviderTrigger::after{content:'▾';position:absolute;right:14px;top:50%;transform:translateY(-50%);width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,#6bbdff,#0b2440);border:1px solid rgba(255,255,255,.14);color:#06111e}.smartProviderTrigger span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.smartProviderTrigger small{display:block;margin-top:3px;color:#9bbbe0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smartProviderDropdown{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:12080;border:2px solid #000;border-radius:18px;background:linear-gradient(180deg,#091a2c,#050d17);box-shadow:0 24px 60px rgba(0,0,0,.48);padding:10px;max-height:min(430px,58vh);overflow:hidden}.smartProviderSearchBox{position:sticky;top:0;z-index:2;padding-bottom:8px;background:linear-gradient(180deg,#091a2c,#071524)}.smartProviderSearchBox input{width:100%;min-height:42px;border:1px solid rgba(112,190,255,.28);border-radius:13px;background:#030a13;color:#fff;padding:0 12px;font-weight:900}.smartProviderList{max-height:min(350px,48vh);overflow:auto;padding-right:3px}.smartProviderGroup{display:grid;gap:6px;margin-top:8px}.smartProviderGroup>strong{position:sticky;top:0;display:block;padding:6px 8px;border-radius:10px;background:rgba(115,186,247,.10);color:#a7d8ff;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.smartProviderOption{display:grid;gap:3px;width:100%;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035);color:#f8fbff;padding:9px 10px;text-align:left;cursor:pointer}.smartProviderOption:hover{border-color:rgba(255,215,107,.36);}.smartProviderOption span{font-weight:1000;text-transform:uppercase}.smartProviderOption small{color:#a7bed6;font-weight:800;font-size:10px;line-height:1.25}.smartProviderEmpty{padding:14px;border:1px dashed rgba(255,255,255,.14);border-radius:13px;color:#a7bed6;font-weight:900;text-align:center}

/* CRM V687 - popup de prestador com rolagem real e aba Modelos */
.providerViewDialog[open],.providerViewDialog.forceOpen,.providerViewDialog.isManualOpen{width:min(1120px,96vw)!important;max-height:calc(100dvh - 24px)!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}.providerViewDialog .dialogHeader{position:sticky;top:0;z-index:3;background:linear-gradient(180deg,rgba(8,19,31,.98),rgba(6,12,20,.98));border-bottom:1px solid rgba(255,255,255,.09)}.providerViewDialog .providerViewBody{min-height:0;max-height:calc(100dvh - 128px);overflow:auto;padding:0 18px 18px}.providerModelsPanel{border:1px solid rgba(255,215,107,.2);border-radius:20px;background:rgba(255,215,107,.045);padding:12px}.providerModelsPanel .providerModelBox{margin:0}


/* CRM V689 - Pacotes de icones em Configuracoes */
.iconPackControlBoxV689{
  margin-top:14px;
  border:1px solid rgba(115,186,247,.16);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:0 14px 34px rgba(0,0,0,.12);
}
.iconPackControlBoxV689>strong{display:block;font-weight:1000;margin-bottom:5px;color:var(--text)}
.iconPackControlBoxV689>small{display:block;color:var(--muted);font-weight:800;line-height:1.35}
.iconPackChoicesV689{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 8px}
.iconPackChoicesV689 .btn{justify-content:center;min-height:42px;gap:8px;border-radius:14px}
.iconPackChoicesV689 .btn span{font-size:18px;line-height:1}
.iconPackChoicesV689 .btn b{font-size:12px;letter-spacing:.01em}
.iconPackChoicesV689 .btn.is-active{
  border-color:rgba(122,207,255,.55);
  background:rgba(122,207,255,.13);
  box-shadow:0 0 0 1px rgba(122,207,255,.14),0 12px 28px rgba(0,0,0,.18);
}
body[data-crm-icon-pack="elegant"] .btnIcon,
body[data-crm-icon-pack="elegant"] .menuIcon,
body[data-crm-icon-pack="elegant"] .navIcon{font-family:Georgia, 'Times New Roman', serif;font-weight:1000;letter-spacing:.02em}
body[data-crm-icon-pack="professional"] .btnIcon,
body[data-crm-icon-pack="professional"] .menuIcon,
body[data-crm-icon-pack="professional"] .navIcon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}
body[data-crm-icon-pack="highlight"] .btnIcon,
body[data-crm-icon-pack="highlight"] .menuIcon,
body[data-crm-icon-pack="highlight"] .navIcon{filter:drop-shadow(0 0 8px rgba(122,207,255,.36)) saturate(1.18)}
.iconPackChoicesV689 [data-icon-pack-choice="elegant"].is-active{border-color:rgba(230,238,255,.58);background:rgba(230,238,255,.10)}
.iconPackChoicesV689 [data-icon-pack-choice="professional"].is-active{border-color:rgba(122,207,255,.60);background:rgba(122,207,255,.13)}
.iconPackChoicesV689 [data-icon-pack-choice="highlight"].is-active{border-color:rgba(255,216,112,.72);background:linear-gradient(135deg,rgba(255,216,112,.18),rgba(122,207,255,.13))}
@media(max-width:780px){.iconPackChoicesV689{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* CRM V694 - Ponto, fechamento e jornada */
.pontoHero,.pontoPanel{overflow:visible}.pontoEmployeeFilter{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pontoEmployeeFilter select,.pontoEmployeeFilter input,.pontoPunchPanel input,.pontoScheduleForm input,.pontoEditRow input{background:rgba(4,13,25,.92);border:1px solid rgba(99,181,255,.35);color:#fff;border-radius:12px;padding:10px 12px;min-height:42px}.pontoTodayGrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:16px 0}.pontoTodayGrid article,.pontoMonthCard{background:linear-gradient(180deg,rgba(18,43,70,.9),rgba(8,22,40,.92));border:1px solid rgba(103,182,255,.25);border-radius:18px;padding:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.pontoTodayGrid span,.pontoMonthCard span{display:block;color:#9db7da;text-transform:uppercase;font-weight:800;font-size:.78rem}.pontoTodayGrid strong{display:block;font-size:1.35rem;color:#fff}.pontoPunchPanel{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;align-items:end;background:rgba(7,20,37,.68);border:1px solid rgba(111,188,255,.25);border-radius:18px;padding:16px;margin-top:14px}.pontoPunchHead{grid-column:1/-1}.pontoPunchPanel label,.pontoScheduleForm label{display:grid;gap:6px;color:#9db7da;font-weight:800;text-transform:uppercase;font-size:.75rem}.pontoQuickBtns{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.pontoMonthCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.pontoMonthCard.active{border-color:#ffe082;box-shadow:0 0 24px rgba(255,200,70,.16)}.pontoMonthCard div{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.pontoScheduleForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;margin:14px 0}.pontoScheduleForm .span2{grid-column:span 2}.pontoEditList{display:grid;gap:10px}.pontoEditRow{display:grid;grid-template-columns:120px repeat(4,110px) 1fr auto;gap:8px;align-items:center;background:rgba(6,18,34,.72);border:1px solid rgba(111,188,255,.18);border-radius:14px;padding:10px}.statusBadge.ok{background:rgba(46,204,113,.16);color:#73f0aa;border:1px solid rgba(115,240,170,.35);border-radius:999px;padding:4px 9px;font-weight:900}.statusBadge.warn{background:rgba(255,193,7,.14);color:#ffd877;border:1px solid rgba(255,216,119,.35);border-radius:999px;padding:4px 9px;font-weight:900}@media(max-width:900px){.pontoTodayGrid,.pontoPunchPanel{grid-template-columns:1fr}.pontoEditRow{grid-template-columns:1fr 1fr}.pontoScheduleForm .span2{grid-column:span 1}}

/* CRM V695 - ajustes do PONTO */
.pontoSocioNotice{border:1px solid rgba(255,214,102,.35);background:rgba(255,214,102,.08);color:#ffe7a6}
.pontoSaturdayPanel{border-color:rgba(255,214,102,.25)}
.pontoSaturdayForm{display:grid;grid-template-columns:160px 220px minmax(240px,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.pontoSaturdayForm label{display:grid;gap:6px;color:#9db7da;font-weight:800;text-transform:uppercase;font-size:.75rem}
.pontoSaturdayForm input,.pontoSaturdayForm select{background:rgba(4,13,25,.92);border:1px solid rgba(99,181,255,.35);color:#fff;border-radius:12px;padding:10px 12px;min-height:42px}
.pontoSaturdayAlert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;padding:12px 14px;border-radius:16px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.pontoSaturdayAlert small{color:rgba(255,255,255,.72);font-weight:700}.pontoSaturdayAlert.work{background:rgba(46,204,113,.12);border:1px solid rgba(115,240,170,.28);color:#8dffc0}.pontoSaturdayAlert.off{background:rgba(255,99,99,.10);border:1px solid rgba(255,120,120,.28);color:#ffb2b2}
.pontoHistoryCompact .sectionHeader{margin-bottom:8px}.pontoMonthCards.compact{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px}.pontoMonthCards.compact .pontoMonthCard{padding:10px 11px;border-radius:14px}.pontoMonthCards.compact .pontoMonthCard strong{font-size:.95rem}.pontoMonthCards.compact .pontoMonthCard span{font-size:.72rem}.pontoMonthCards.compact .pontoMonthCard div{gap:5px;margin-top:8px}.pontoMonthCards.compact .miniBtn{min-height:28px;padding:5px 8px;font-size:.75rem}
.compactTable th,.compactTable td{padding:7px 9px!important;font-size:.82rem}.compactTable .statusBadge{padding:3px 7px;font-size:.74rem}.pontoNewEditRow{margin:10px 0 12px;border-color:rgba(115,240,170,.25);background:rgba(46,204,113,.07)}.inlineActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inlineActions form{margin:0}.pontoEditRow input[type="date"]{min-width:140px}
@media(max-width:900px){.pontoSaturdayForm{grid-template-columns:1fr}.pontoSaturdayAlert{align-items:flex-start;flex-direction:column}.pontoMonthCards.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* CRM V696 - Ponto compacto, alertas, banco de horas e calendário */
.pontoAlertBox{margin:12px 0 14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,199,80,.45);background:linear-gradient(180deg,rgba(255,199,80,.18),rgba(255,122,56,.10));box-shadow:0 0 28px rgba(255,184,70,.18);display:grid;gap:6px;color:#fff4cc;font-weight:800}.pontoAlertBox strong{font-size:1rem;color:#ffe082}.pontoAlertBox span{display:block}.pontoAlertBox small{color:#ffdca0;font-weight:700}.pontoHistoryHeader{align-items:center}.pontoBankGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.pontoBankGrid article{background:rgba(7,20,37,.72);border:1px solid rgba(111,188,255,.22);border-radius:14px;padding:12px}.pontoBankGrid span{display:block;color:#9db7da;text-transform:uppercase;font-weight:900;font-size:.72rem}.pontoBankGrid strong{display:block;color:#fff;font-size:1.25rem}.pontoBankGrid small{color:#a9bedb}.pontoCalendar{display:grid;grid-template-columns:repeat(7,minmax(42px,1fr));gap:6px;margin:10px 0}.pontoCalDay{min-height:50px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(7,20,37,.82);display:grid;place-items:center;padding:6px}.pontoCalDay b{font-size:1rem}.pontoCalDay span{font-size:.68rem;color:#9db7da;font-weight:800;text-transform:uppercase}.pontoCalDay.approved{border-color:rgba(99,255,170,.35);background:rgba(46,204,113,.16)}.pontoCalDay.pending{border-color:rgba(255,216,102,.38);background:rgba(255,193,7,.13)}.pontoCalDay.missing{border-color:rgba(255,107,107,.38);background:rgba(255,80,80,.13)}.pontoCalDay.saturdayOff{border-color:rgba(137,160,190,.28);background:rgba(120,150,180,.10);opacity:.75}.pontoCalDay.off{opacity:.45}.pontoCalDay.future{border-color:rgba(107,183,255,.22);background:rgba(107,183,255,.08)}.pontoCalendarLegend{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.pontoCalendarLegend span{border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:900;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.pontoCalendarLegend .approved{color:#82ffc0}.pontoCalendarLegend .pending{color:#ffe082}.pontoCalendarLegend .missing{color:#ffaaa6}.pontoCalendarLegend .saturdayOff{color:#b8c5d8}.pontoCalendarLegend .future{color:#8bc9ff}.pontoAdjustPanel{border-color:rgba(255,214,102,.28)}.financePayrollCalcNote{display:block;margin:8px 0;color:#9db7da;font-weight:800}.financePayrollMiniList .warn{color:#ffd877}
@media(max-width:900px){.pontoBankGrid{grid-template-columns:1fr}.pontoCalendar{grid-template-columns:repeat(7,minmax(34px,1fr));gap:4px}.pontoCalDay{min-height:42px;border-radius:10px}.pontoCalDay b{font-size:.88rem}.pontoCalDay span{font-size:.58rem}}

/* CRM V697 - Ponto mais completo: jornada rápida, edição com 00:00 e visão de sócio */
.pontoGearBtn{white-space:nowrap;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.pontoSocioOverview{margin-top:14px;border:1px solid rgba(111,188,255,.22);border-radius:18px;background:rgba(7,20,37,.58);padding:14px}
.pontoSocioOverviewHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.pontoSocioOverviewHead h3{margin:0;color:#fff;text-transform:uppercase;font-size:1rem}.pontoSocioOverviewHead small{color:#9db7da;font-weight:800}
.pontoEmployeeKpiGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.pontoEmployeeKpiCard{border:1px solid rgba(103,182,255,.24);border-radius:18px;background:linear-gradient(180deg,rgba(18,43,70,.88),rgba(7,20,37,.94));padding:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.pontoEmployeeKpiCard header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.pontoEmployeeKpiCard header strong{font-size:1rem;color:#fff}.pontoEmployeeKpiCard header span{color:#9db7da;font-size:.72rem;font-weight:900;text-transform:uppercase}
.pontoKpiMiniGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pontoKpiMiniGrid b{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(4,13,25,.55);padding:8px;color:#fff;font-size:.92rem;min-width:0}.pontoKpiMiniGrid small{display:block;color:#9db7da;text-transform:uppercase;font-size:.62rem;font-weight:900;margin-bottom:3px;line-height:1.1}
.pontoEditHint{margin:8px 0 12px;padding:10px 12px;border-radius:14px;background:rgba(255,214,102,.08);border:1px solid rgba(255,214,102,.22);color:#ffe7a6;font-weight:800}.pontoEditHint strong{color:#fff}
.pontoEditRow strong{display:grid;gap:2px}.pontoEditRow strong small{font-size:.65rem;color:#9db7da;text-transform:uppercase;font-weight:900}.pontoEditRow input[type="time"][value="00:00"]{color:#9db7da}
@media(max-width:900px){.pontoEmployeeKpiGrid{grid-template-columns:1fr}.pontoKpiMiniGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pontoEmployeeFilter{align-items:stretch}.pontoGearBtn{width:100%}}

/* CRM V698 - PONTO: atestado, períodos de jornada, pendências e calendário detalhado */
.pontoClosedBadge{display:inline-flex;align-items:center;gap:6px;margin-top:6px;border:1px solid rgba(255,214,102,.25);background:rgba(255,214,102,.09);color:#ffe082;border-radius:999px;padding:5px 9px;font-weight:900;text-transform:uppercase;font-size:.72rem}
.pontoPendingPanel{border-color:rgba(255,177,82,.26)}
.pontoCalDay em{display:block;font-style:normal;font-size:.72rem;letter-spacing:1px;line-height:1;margin-top:2px;opacity:.95}
.pontoCalDay.attest{border-color:rgba(95,220,255,.42);background:rgba(95,220,255,.13)}
.pontoCalendarLegend .attest{color:#9eeeff}
.pontoPeriodBox{margin:16px 0;padding:14px;border-radius:18px;border:1px solid rgba(111,188,255,.22);background:rgba(7,20,37,.56)}
.pontoPeriodBox h3{margin:0 0 6px;color:#fff}.pontoPeriodBox p{margin:0 0 12px;color:#9db7da;font-weight:800}
.pontoPeriodForm{border-top:1px solid rgba(255,255,255,.06);padding-top:12px}
.pontoPeriodList{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:12px}.pontoPeriodList article{border:1px solid rgba(255,255,255,.08);background:rgba(4,13,25,.55);border-radius:14px;padding:10px}.pontoPeriodList strong{display:block;color:#fff}.pontoPeriodList span,.pontoPeriodList small{display:block;color:#9db7da;font-weight:800;margin-top:2px}.pontoPeriodList .muted{color:#9db7da}
.pontoEditRow{grid-template-columns:120px repeat(4,100px) 150px minmax(180px,1fr) minmax(170px,1fr) auto}.pontoEditRow select{background:rgba(4,13,25,.92);border:1px solid rgba(99,181,255,.35);color:#fff;border-radius:12px;padding:10px 12px;min-height:42px}
.statusBadge.attest{background:rgba(95,220,255,.12);color:#9eeeff;border:1px solid rgba(95,220,255,.35);border-radius:999px;padding:4px 9px;font-weight:900}
@media(max-width:1100px){.pontoEditRow{grid-template-columns:1fr 1fr}.pontoEditRow button{grid-column:1/-1}.pontoPeriodList{grid-template-columns:1fr}}

/* CRM V699 - descontos manuais de falta injustificada no PONTO */
.pontoAbsenceBox{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:10px;
  align-items:end;
  background:rgba(255,193,7,.08);
  border:1px solid rgba(255,210,100,.26);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.pontoAbsenceTitle{grid-column:1/-1;font-weight:900;color:#ffe082;text-transform:uppercase;letter-spacing:.03em;font-size:.82rem}.pontoAbsenceBox label{display:grid;gap:5px;color:#bdd0eb;font-weight:800;font-size:.78rem;text-transform:uppercase}.pontoAbsenceBox select{background:rgba(4,13,25,.94);border:1px solid rgba(255,210,100,.32);border-radius:12px;color:#fff;min-height:38px;padding:8px 10px}.pontoAbsenceBox small{grid-column:1/-1;color:#9db7da;font-weight:800;line-height:1.35}.pontoEditRow .pontoAbsenceBox+button{align-self:start}@media(max-width:900px){.pontoAbsenceBox{grid-template-columns:1fr}}

/* CRM V701 - NFs: quatro KPIs clicaveis e listagem focada por KPI */
.financeNfKpiGrid.financeNfKpiGridFour,
.financeNfKpiGridClickable.financeNfKpiGridFour{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.financeNfKpiGridClickable a.active{
  border-color:rgba(255,214,107,.75)!important;
  box-shadow:0 0 0 1px rgba(255,214,107,.30),0 14px 28px rgba(255,214,107,.10)!important;
}
@media(max-width:1100px){
  .financeNfKpiGrid.financeNfKpiGridFour,
  .financeNfKpiGridClickable.financeNfKpiGridFour{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  .financeNfKpiGrid.financeNfKpiGridFour,
  .financeNfKpiGridClickable.financeNfKpiGridFour{grid-template-columns:1fr!important;}
}


/* CRM V708 - Painel de ponto em tempo real e alertas de entrada */
.pontoRealtimePanel{margin:14px 0 10px;border:1px solid rgba(80,190,255,.22);border-radius:20px;background:radial-gradient(circle at top left,rgba(80,190,255,.14),transparent 34%),linear-gradient(180deg,rgba(10,30,54,.88),rgba(5,17,32,.92));padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 16px 36px rgba(0,0,0,.16)}
.pontoRealtimeHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.pontoRealtimeHead strong{display:block;color:#fff;font-size:1.04rem}.pontoRealtimeHead span{display:block;color:#9db7da;font-weight:800;font-size:.82rem;margin-top:2px}.pontoRealtimeSteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.pontoRealtimeSteps article{position:relative;min-height:74px;border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:10px;background:rgba(255,255,255,.045);overflow:hidden}.pontoRealtimeSteps article::before{content:"";position:absolute;inset:auto 10px -20px 10px;height:36px;border-radius:999px;filter:blur(16px);opacity:.18;background:#64748b}.pontoRealtimeSteps article.done::before{background:#34d399;opacity:.28}.pontoRealtimeSteps article.current::before{background:#50beff;opacity:.42}.pontoRealtimeSteps article.step-sem_entrada.current::before{background:#f87171}.pontoRealtimeSteps i{width:12px;height:12px;border-radius:999px;display:block;margin-bottom:8px;background:#64748b;box-shadow:0 0 0 4px rgba(100,116,139,.14)}.pontoRealtimeSteps article.done i{background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.13)}.pontoRealtimeSteps article.current i{background:#50beff;box-shadow:0 0 0 4px rgba(80,190,255,.16),0 0 22px rgba(80,190,255,.3)}.pontoRealtimeSteps article.step-sem_entrada.current i{background:#f87171;box-shadow:0 0 0 4px rgba(248,113,113,.16),0 0 22px rgba(248,113,113,.32)}.pontoRealtimeSteps strong{display:block;color:#fff;font-size:.88rem}.pontoRealtimeSteps small{display:block;color:#9db7da;font-weight:900;margin-top:3px}.pontoMissingTodayPanel{border-color:rgba(80,190,255,.22)}.pontoMissingKpis{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pontoMissingKpis b{min-width:92px;border:1px solid rgba(80,190,255,.22);border-radius:16px;padding:9px 12px;background:rgba(80,190,255,.08);color:#fff;text-align:center;font-size:1.22rem}.pontoMissingKpis b.danger{border-color:rgba(248,113,113,.30);background:rgba(248,113,113,.10)}.pontoMissingKpis small{display:block;color:#9db7da;font-size:.67rem;text-transform:uppercase;font-weight:1000}.pontoMissingGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.pontoMissingGrid article{border:1px solid rgba(255,255,255,.10);border-left:4px solid #50beff;border-radius:18px;padding:12px;background:linear-gradient(180deg,rgba(18,43,70,.72),rgba(8,22,40,.82));display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.pontoMissingGrid article.atrasado{border-left-color:#f87171}.pontoMissingGrid article.aguardando{border-left-color:#facc15}.pontoMissingGrid strong{display:block;color:#fff}.pontoMissingGrid span{display:block;color:#9db7da;font-weight:800;font-size:.8rem}.pontoMissingGrid b{color:#fff;font-size:1.05rem}.pontoMissingGrid small{grid-column:1/-1;color:#cfe3ff;font-weight:900}.pontoMissingGrid .btn{justify-self:start}@media(max-width:900px){.pontoRealtimeSteps{grid-template-columns:1fr}.pontoRealtimeHead{align-items:flex-start;flex-direction:column}.pontoMissingGrid article{grid-template-columns:1fr}}


/* CRM V712 - Operacional na sidebar */
.navGroupOportunidades > summary .navParentLink{cursor:pointer;}
.navGroupOportunidades .opNavNewPlus{
  border-color:rgba(80,190,255,.38) !important;
  background:linear-gradient(135deg,rgba(80,190,255,.16),rgba(167,139,250,.11)) !important;
  color:#e9f6ff !important;
  font-weight:1000 !important;
  letter-spacing:.02em;
}
.navGroupOportunidades .opNavNewPlus.active{
  background:linear-gradient(135deg,#50beff,#7cc7ff) !important;
  color:#06101b !important;
  box-shadow:0 10px 26px rgba(80,190,255,.25) !important;
}

/* CRM V714 - Ponto completo: visão todos, aprovação ADMX e meio período */
.pontoAllOverview{border-color:rgba(80,190,255,.28);background:radial-gradient(circle at top left,rgba(80,190,255,.12),transparent 34%),rgba(7,20,37,.62)}
.pontoAllSummaryCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.pontoAllSummaryCards article{border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:12px;background:linear-gradient(180deg,rgba(18,43,70,.88),rgba(7,20,37,.94))}
.pontoAllSummaryCards span{display:block;color:#9db7da;text-transform:uppercase;font-weight:1000;font-size:.68rem;letter-spacing:.04em}.pontoAllSummaryCards strong{display:block;color:#fff;font-size:1.35rem;margin-top:4px}.pontoEmployeeKpiCard .btn{margin-top:10px;justify-self:start}.statusBadge.warn{background:rgba(255,193,7,.14)!important;color:#ffd877!important}.statusBadge.ok{background:rgba(46,204,113,.16)!important;color:#73f0aa!important}.statusBadge.pendente_admx{background:rgba(80,190,255,.14);color:#bde9ff;border-color:rgba(80,190,255,.35)}
@media(max-width:900px){.pontoAllSummaryCards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* CRM V717 - PONTO ADM/ADMX compacto */
.pontoHistoryUnified .pontoHistoryHeader{align-items:flex-start}
.pontoCompactBankGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0 10px}
.pontoCompactBankGrid article{padding:9px 10px;border-radius:13px}
.pontoCompactBankGrid span{font-size:.66rem}.pontoCompactBankGrid strong{font-size:1.05rem}.pontoCompactBankGrid small{font-size:.68rem;line-height:1.15}
.pontoCompactHint{margin:6px 0 10px;padding:8px 10px;border:1px solid rgba(111,188,255,.18);border-radius:12px;background:rgba(80,190,255,.065);color:#bcd4f5;font-weight:800;font-size:.8rem}
.pontoUnifiedTableWrap{max-height:58vh;overflow:auto}.pontoUnifiedTable thead th{position:sticky;top:0;z-index:2;background:rgba(8,24,44,.96)}
.pontoUnifiedTable th,.pontoUnifiedTable td{white-space:nowrap}.pontoUnifiedTable td:nth-child(8){white-space:normal;min-width:220px;max-width:420px}.pontoStatusRow.status-danger{box-shadow:inset 4px 0 0 rgba(255,92,92,.85)}.pontoStatusRow.status-warn{box-shadow:inset 4px 0 0 rgba(255,216,102,.85)}.pontoStatusRow.status-ok{box-shadow:inset 4px 0 0 rgba(115,240,170,.78)}.pontoStatusRow.status-info{box-shadow:inset 4px 0 0 rgba(80,190,255,.78)}
.statusBadge.info{background:rgba(80,190,255,.13);color:#bde7ff;border:1px solid rgba(80,190,255,.35);border-radius:999px;padding:4px 9px;font-weight:900}.statusBadge.danger{background:rgba(255,92,92,.14);color:#ffbbb8;border:1px solid rgba(255,92,92,.35);border-radius:999px;padding:4px 9px;font-weight:900}.pontoStatusEditBtn{cursor:pointer;text-transform:uppercase}.pontoStatusEditBtn:hover{transform:translateY(-1px)}
.pontoPendingCompactPanel{border-color:rgba(255,177,82,.28)}.pontoPendingCompactPanel .financeTableWrap{max-height:42vh;overflow:auto}.pontoPendingCompactPanel thead th{position:sticky;top:0;z-index:2;background:rgba(8,24,44,.96)}
.pontoScheduleCompact details{border:1px solid rgba(111,188,255,.18);border-radius:16px;background:rgba(7,20,37,.5);padding:0}.pontoScheduleCompact summary{cursor:pointer;padding:12px 14px;color:#d9ebff;font-weight:1000;text-transform:uppercase;letter-spacing:.03em}.pontoScheduleCompactBody{padding:0 14px 14px}.pontoScheduleCompact .pontoScheduleForm{margin:8px 0 12px;gap:8px}.pontoScheduleCompact .pontoScheduleForm input,.pontoScheduleCompact .pontoScheduleForm select{min-height:36px;padding:8px 10px}
.pontoResolveDialog{width:min(900px,96vw);border:0;border-radius:22px;padding:0;background:rgba(7,17,31,.98);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.55)}.pontoResolveDialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}.pontoResolveForm{padding:16px;max-height:92vh;overflow:auto}.pontoResolveQuickActions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pontoResolveQuickActions .btn{min-height:42px}.pontoResolveTimes{margin-top:8px}.pontoResolveForm .formGrid.fourCols{grid-template-columns:repeat(4,minmax(0,1fr))}.pontoResolveForm .formGrid.twoCols{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pontoResolveForm .span2{grid-column:span 2}.pontoResolveForm input,.pontoResolveForm select{background:rgba(4,13,25,.92);border:1px solid rgba(99,181,255,.35);color:#fff;border-radius:12px;padding:10px 12px;min-height:40px}.pontoResolveForm label{display:grid;gap:5px;color:#9db7da;font-weight:900;font-size:.75rem;text-transform:uppercase}.pontoResolveForm .dialogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.btn.danger{border-color:rgba(255,92,92,.45)!important;color:#ffd0d0!important;background:rgba(255,92,92,.08)!important}
@media(max-width:1100px){.pontoCompactBankGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pontoResolveQuickActions,.pontoResolveForm .formGrid.fourCols,.pontoResolveForm .formGrid.twoCols{grid-template-columns:1fr}.pontoResolveForm .span2{grid-column:auto}}
/* CRM V718 - ponto compacto, popup ADMX e sábado */
.pontoResolveHint{border:1px dashed rgba(99,181,255,.28);border-radius:14px;padding:10px 12px;color:#9db7da;font-weight:900;text-align:center;background:rgba(80,190,255,.055);margin-top:10px}.pontoDailyReviewDialog,.pontoSaturdayDialog{width:min(1180px,96vw);border:0;border-radius:24px;padding:0;background:rgba(7,17,31,.98);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.62)}.pontoDailyReviewDialog::backdrop,.pontoSaturdayDialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.pontoDailyReviewShell,.pontoSaturdayDialogForm{padding:16px;max-height:92vh;overflow:auto}.pontoDailyReviewShell .dialogHeader,.pontoSaturdayDialogForm .dialogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.pontoDailyReviewTableWrap{max-height:65vh;overflow:auto;border-radius:16px}.pontoDailyQuickActions{gap:5px;flex-wrap:wrap}.pontoDailyQuickActions .btn{min-height:32px;padding:6px 8px;font-size:.76rem}.pontoSaturdayDialogForm .formGrid.twoCols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pontoSaturdayDialogForm .span2{grid-column:span 2}.pontoSaturdayDialogForm label{display:grid;gap:6px;color:#9db7da;font-weight:900;text-transform:uppercase;font-size:.75rem}.pontoSaturdayDialogForm input,.pontoSaturdayDialogForm select{background:rgba(4,13,25,.92);border:1px solid rgba(99,181,255,.35);color:#fff;border-radius:12px;padding:10px 12px;min-height:42px}@media(max-width:900px){.pontoSaturdayDialogForm .formGrid.twoCols{grid-template-columns:1fr}.pontoSaturdayDialogForm .span2{grid-column:auto}}


/* CRM V719 - Aprovação diária ADMX com escolha em lote */
.pontoDailyReviewHelp{border:1px solid rgba(99,181,255,.22);border-radius:14px;padding:10px 12px;margin-bottom:10px;background:rgba(80,190,255,.055);color:#bcd7fa;font-weight:900}.pontoDailyQuickActions [data-daily-review-choice].selected{background:linear-gradient(135deg,#50beff,#ffd66b)!important;color:#061426!important;border-color:#ffd66b!important;box-shadow:0 0 0 2px rgba(255,214,107,.18),0 10px 24px rgba(80,190,255,.22);transform:translateY(-1px)}.pontoDailyReviewTableWrap tr.dailyChoiceMissing{outline:2px solid rgba(248,113,113,.7);outline-offset:-2px;background:rgba(248,113,113,.08)!important}.pontoDailyReviewFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;margin-top:10px;border-top:1px solid rgba(255,255,255,.12)}.pontoDailyReviewFooter span{color:#bcd7fa;font-weight:900}.pontoDailyReviewFooter .btn{min-width:130px}
@media(max-width:900px){.pontoDailyReviewFooter{flex-direction:column;align-items:stretch}.pontoDailyReviewFooter .btn{width:100%}}


/* CRM V776 - NFs: cinco KPIs e alerta para data nao util */
.financeNfKpiGrid.financeNfKpiGridFive,
.financeNfKpiGridClickable.financeNfKpiGridFive{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
.financeNfKpiGridClickable a.financeNfKpiAlert{background:linear-gradient(180deg,#7b5a00,#4f3b05)!important;border-color:rgba(255,214,107,.82)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,214,107,.22),0 14px 30px rgba(80,58,0,.28)!important;}
.financeNfKpiGridClickable a.financeNfKpiAlert span,.financeNfKpiGridClickable a.financeNfKpiAlert strong,.financeNfKpiGridClickable a.financeNfKpiAlert small{color:#fff!important;}
.financeNfKpiGridClickable a.financeNfKpiAlert .financeNfKpiDateAlert{color:#ffb3b3!important;font-weight:1000;text-shadow:0 0 10px rgba(255,99,99,.22)}
.financeNfKpiGridClickable a.financeNfKpiAlert small b{color:#ffdf8a!important;text-transform:uppercase;font-size:.68rem;}
@media(max-width:1250px){.financeNfKpiGrid.financeNfKpiGridFive,.financeNfKpiGridClickable.financeNfKpiGridFive{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:900px){.financeNfKpiGrid.financeNfKpiGridFive,.financeNfKpiGridClickable.financeNfKpiGridFive{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:700px){.financeNfKpiGrid.financeNfKpiGridFive,.financeNfKpiGridClickable.financeNfKpiGridFive{grid-template-columns:1fr!important;}}


/* CRM v1084 - Execução unificada / Concluído somente leitura */
.executionStageNav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.executionStageNav .btn{min-height:42px}
.crmConcludedView [data-inline-edit]{pointer-events:none!important;cursor:default!important;box-shadow:none!important}
.crmConcludedView [data-inline-edit]::after{content:" 🔒";opacity:.75;font-size:.82em}
.crmConcludedView .rowStatus{border-left:3px solid rgba(80,190,255,.75)}

/* CRM v1085 - Concluído por mês + relatório OS 100% */
.concludedFilterDock{display:flex;align-items:end;gap:8px;flex-wrap:wrap;width:100%;padding:10px 12px;border:1px solid rgba(80,190,255,.22);border-radius:18px;background:linear-gradient(135deg,rgba(80,190,255,.10),rgba(5,15,31,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.concludedFilterDock label{display:grid;gap:5px;color:var(--muted);font-size:.74rem;font-weight:1000;text-transform:uppercase;letter-spacing:.04em}
.concludedFilterDock input[type="month"]{min-height:40px;border:1px solid rgba(107,183,255,.35);border-radius:13px;background:rgba(255,255,255,.08);color:var(--text);font-weight:900;padding:0 12px}
.concludedFilterDock .btn{min-height:40px}
.crmConcludedView .executionStageNav .btn.primary{box-shadow:0 0 0 1px rgba(80,190,255,.35),0 0 28px rgba(34,197,94,.16)}

/* =========================================================
   CRM v1174 - Facilities Pro
   Novo visual para empresa de facilities com 4 temas oficiais:
   Azul Marinho #000080, Vermelho Rubi #9B111E, Verde #008000 e Cinza #898989.
   Mantém as funções da base v1093, mas muda a identidade visual, tabelas e orçamento.
   ========================================================= */
:root{
  --crm-hard-border:#000000;
  --crm-hard-border-size:2px;
  --crm-radius:18px;
  --crm-radius-lg:24px;
  --crm-table-line:#000000;
  --crm-focus-ring:0 0 0 3px color-mix(in srgb, var(--primary-2) 28%, transparent);
}

body[data-ui-theme="blue"],
body[data-ui-theme="navy"]{
  --bg:#000018;
  --panel:rgba(3,8,42,.96);
  --panel-2:rgba(7,14,61,.95);
  --panel-top:rgba(0,0,128,.92);
  --panel-bottom:rgba(1,5,32,.98);
  --metric-top:rgba(0,0,128,.95);
  --metric-bottom:rgba(1,8,48,.98);
  --sidebar-top:rgba(0,0,64,.98);
  --sidebar-bottom:rgba(0,0,18,.99);
  --thead-bg:#000080;
  --line:rgba(255,255,255,.18);
  --text:#f5f8ff;
  --muted:#b9c7ff;
  --primary:#000080;
  --primary-2:#8cb4ff;
  --success:#63f276;
  --warning:#ffd36e;
  --danger:#ff7686;
  --crm-row-odd:#050a3d;
  --crm-row-even:#dbe7ff;
  --crm-row-text:#ffffff;
  --crm-row-even-text:#02071f;
  --crm-accent-chip:#8cb4ff;
}

body[data-ui-theme="ruby"]{
  --bg:#180306;
  --panel:rgba(48,7,13,.96);
  --panel-2:rgba(62,10,18,.95);
  --panel-top:rgba(155,17,30,.94);
  --panel-bottom:rgba(34,4,8,.99);
  --metric-top:rgba(155,17,30,.92);
  --metric-bottom:rgba(46,6,12,.98);
  --sidebar-top:rgba(78,8,16,.98);
  --sidebar-bottom:rgba(22,2,5,.99);
  --thead-bg:#9B111E;
  --line:rgba(255,255,255,.18);
  --text:#fff4f5;
  --muted:#ffc1c8;
  --primary:#9B111E;
  --primary-2:#ff98a4;
  --success:#72ef9c;
  --warning:#ffe07a;
  --danger:#ff6275;
  --crm-row-odd:#4a0710;
  --crm-row-even:#ffd9de;
  --crm-row-text:#ffffff;
  --crm-row-even-text:#210207;
  --crm-accent-chip:#ff98a4;
}

body[data-ui-theme="green"]{
  --bg:#001905;
  --panel:rgba(3,45,15,.96);
  --panel-2:rgba(5,56,20,.95);
  --panel-top:rgba(0,128,0,.92);
  --panel-bottom:rgba(1,28,8,.99);
  --metric-top:rgba(0,128,0,.92);
  --metric-bottom:rgba(4,45,15,.98);
  --sidebar-top:rgba(0,72,0,.98);
  --sidebar-bottom:rgba(0,18,4,.99);
  --thead-bg:#008000;
  --line:rgba(255,255,255,.18);
  --text:#f0fff3;
  --muted:#b9edc0;
  --primary:#008000;
  --primary-2:#7dff8f;
  --success:#7dff8f;
  --warning:#ffe27d;
  --danger:#ff7e88;
  --crm-row-odd:#073c12;
  --crm-row-even:#d8ffd8;
  --crm-row-text:#ffffff;
  --crm-row-even-text:#031404;
  --crm-accent-chip:#7dff8f;
}

body[data-ui-theme="gray"]{
  --bg:#111111;
  --panel:rgba(47,47,47,.96);
  --panel-2:rgba(60,60,60,.95);
  --panel-top:rgba(137,137,137,.92);
  --panel-bottom:rgba(20,20,20,.99);
  --metric-top:rgba(137,137,137,.88);
  --metric-bottom:rgba(42,42,42,.98);
  --sidebar-top:rgba(55,55,55,.98);
  --sidebar-bottom:rgba(14,14,14,.99);
  --thead-bg:#898989;
  --line:rgba(255,255,255,.18);
  --text:#f7f7f7;
  --muted:#d0d0d0;
  --primary:#898989;
  --primary-2:#eeeeee;
  --success:#8ff0b0;
  --warning:#ffdb7c;
  --danger:#ff8686;
  --crm-row-odd:#313131;
  --crm-row-even:#f1f1f1;
  --crm-row-text:#ffffff;
  --crm-row-even-text:#111111;
  --crm-accent-chip:#eeeeee;
}

body[data-ui-theme="navy"] .themeSwatch-navy,
.themeSwatch-navy{background:linear-gradient(135deg,#000080 0%,#000080 38%,#8cb4ff 39%,#8cb4ff 72%,#000 73%)}
.themeSwatch-ruby{background:linear-gradient(135deg,#9B111E 0%,#9B111E 42%,#ff98a4 43%,#ff98a4 72%,#000 73%)}
.themeSwatch-green-facilities{background:linear-gradient(135deg,#008000 0%,#008000 42%,#7dff8f 43%,#7dff8f 72%,#000 73%)}
.themeSwatch-gray{background:linear-gradient(135deg,#898989 0%,#898989 42%,#f1f1f1 43%,#f1f1f1 72%,#000 73%)}

body[data-ui-theme] .appShell{background:radial-gradient(circle at 16% 0%,color-mix(in srgb,var(--primary) 28%,transparent),transparent 34%),linear-gradient(135deg,var(--bg),#05070d 62%,#000)}
body[data-ui-theme] .sidebar{background:linear-gradient(180deg,var(--sidebar-top),var(--sidebar-bottom))!important;border-right:3px solid #000!important;box-shadow:18px 0 48px rgba(0,0,0,.38)!important}
body[data-ui-theme] .topbarMain{background:linear-gradient(135deg,var(--panel-top),var(--panel-bottom))!important;border:2px solid #000!important;border-radius:22px!important;margin:10px 10px 14px!important;box-shadow:0 18px 42px rgba(0,0,0,.34)!important}
body[data-ui-theme] .topbarMain h1{letter-spacing:.01em;text-shadow:0 2px 10px rgba(0,0,0,.35)}
body[data-ui-theme] .brandRow{border-bottom:2px solid #000!important;padding-bottom:14px!important}
body[data-ui-theme] .brandLogoSwitch{border:2px solid #000!important;background:rgba(255,255,255,.10)!important;border-radius:18px!important}

body[data-ui-theme] .panel,
body[data-ui-theme] .metricCard,
body[data-ui-theme] .metricBubbleCard,
body[data-ui-theme] .budgetCard,
body[data-ui-theme] .crmDialogBox,
body[data-ui-theme] .crmDialog,
body[data-ui-theme] .modal,
body[data-ui-theme] .actionsDropdown,
body[data-ui-theme] .configPageShell .panel,
body[data-ui-theme] .dailyAttentionModal,
body[data-ui-theme] .ticketCompactCard,
body[data-ui-theme] .opportunityCard{
  border:2px solid #000!important;
  border-radius:var(--crm-radius-lg)!important;
  background:linear-gradient(180deg,var(--panel),var(--panel-2))!important;
  box-shadow:0 20px 46px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08)!important;
}

body[data-ui-theme] .metricCard::before,
body[data-ui-theme] .metricBubbleCard::before,
body[data-ui-theme] .panel::before{border-color:rgba(255,255,255,.12)!important}

body[data-ui-theme] .navItem,
body[data-ui-theme] .navSubItem,
body[data-ui-theme] .tabButton,
body[data-ui-theme] .btn,
body[data-ui-theme] .iconBtn,
body[data-ui-theme] button,
body[data-ui-theme] input,
body[data-ui-theme] select,
body[data-ui-theme] textarea{
  border-color:#000!important;
  border-width:2px!important;
}
body[data-ui-theme] .navItem.active,
body[data-ui-theme] .navSubItem.active,
body[data-ui-theme] .tabButton.active,
body[data-ui-theme] .btn.primary,
body[data-ui-theme] button.primary,
body[data-ui-theme] .themeSwatchBtn.isActive{
  background:linear-gradient(135deg,var(--primary),var(--primary-2))!important;
  color:color-mix(in srgb,var(--crm-row-even-text) 82%,#000)!important;
  border:2px solid #000!important;
  box-shadow:0 10px 24px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.22)!important;
}
body[data-ui-theme="navy"] .btn.primary,
body[data-ui-theme="ruby"] .btn.primary,
body[data-ui-theme="green"] .btn.primary{color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.42)}
/* CRM V1449 - removido hover global de botões/menu para evitar repintura visual. */
body[data-ui-theme] input:focus,
body[data-ui-theme] select:focus,
body[data-ui-theme] textarea:focus{outline:none!important;}

/* Tabelas/listas com separação horizontal e vertical forte */
body[data-ui-theme] table,
body[data-ui-theme] .dataTable,
body[data-ui-theme] .table,
body[data-ui-theme] table.tbl,
body[data-ui-theme] .budgetListTable,
body[data-ui-theme] .inicioSellerPerformanceTable,
body[data-ui-theme] .financeTable,
body[data-ui-theme] .receiptsTable,
body[data-ui-theme] .usersTable,
body[data-ui-theme] .employeesTable{
  border-collapse:collapse!important;
  border-spacing:0!important;
  border:2px solid #000!important;
}
body[data-ui-theme] table th,
body[data-ui-theme] table td,
body[data-ui-theme] .dataTable th,
body[data-ui-theme] .dataTable td,
body[data-ui-theme] .table th,
body[data-ui-theme] .table td,
body[data-ui-theme] table.tbl th,
body[data-ui-theme] table.tbl td,
body[data-ui-theme] .budgetListTable th,
body[data-ui-theme] .budgetListTable td,
body[data-ui-theme] .inicioSellerPerformanceTable th,
body[data-ui-theme] .inicioSellerPerformanceTable td{
  border:2px solid #000!important;
  vertical-align:middle!important;
}
body[data-ui-theme] table thead th,
body[data-ui-theme] .dataTable thead th,
body[data-ui-theme] .table thead th,
body[data-ui-theme] table.tbl thead th,
body[data-ui-theme] .budgetListTable thead th{
  background:linear-gradient(135deg,var(--thead-bg),color-mix(in srgb,var(--thead-bg) 72%,#000))!important;
  color:#fff!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
  font-weight:1000!important;
  text-align:center!important;
}
body[data-ui-theme] table tbody tr:nth-child(odd),
body[data-ui-theme] .dataTable tbody tr:nth-child(odd),
body[data-ui-theme] .table tbody tr:nth-child(odd),
body[data-ui-theme] table.tbl tbody tr:nth-child(odd),
body[data-ui-theme] .budgetListTable tbody tr:nth-child(odd){background:var(--crm-row-odd)!important;color:var(--crm-row-text)!important}
body[data-ui-theme] table tbody tr:nth-child(even),
body[data-ui-theme] .dataTable tbody tr:nth-child(even),
body[data-ui-theme] .table tbody tr:nth-child(even),
body[data-ui-theme] table.tbl tbody tr:nth-child(even),
body[data-ui-theme] .budgetListTable tbody tr:nth-child(even){background:var(--crm-row-even)!important;color:var(--crm-row-even-text)!important}
body[data-ui-theme] table tbody tr:nth-child(even) a,
body[data-ui-theme] .dataTable tbody tr:nth-child(even) a,
body[data-ui-theme] .table tbody tr:nth-child(even) a,
body[data-ui-theme] .budgetListTable tbody tr:nth-child(even) a{color:#000!important;font-weight:900!important}

/* Quadrados de KPI/cards com identidade própria por tema */
body[data-ui-theme] .metricCard,
body[data-ui-theme] .metricBubbleCard,
body[data-ui-theme] .inicioProductionGridV441 .metricBubbleCard{
  background:linear-gradient(145deg,var(--metric-top),var(--metric-bottom))!important;
  min-height:104px;
  position:relative;
  overflow:hidden;
}
body[data-ui-theme] .metricCard::after,
body[data-ui-theme] .metricBubbleCard::after{
  content:"";position:absolute;right:-22px;top:-22px;width:82px;height:82px;border:2px solid #000;border-radius:22px;background:var(--primary-2);opacity:.16;transform:rotate(12deg);pointer-events:none;
}
body[data-ui-theme="ruby"] .metricCard::after,
body[data-ui-theme="ruby"] .metricBubbleCard::after{border-radius:50%;transform:rotate(0)}
body[data-ui-theme="green"] .metricCard::after,
body[data-ui-theme="green"] .metricBubbleCard::after{border-radius:8px;transform:rotate(45deg)}
body[data-ui-theme="gray"] .metricCard::after,
body[data-ui-theme="gray"] .metricBubbleCard::after{border-radius:4px;transform:rotate(0);opacity:.22}

/* Orçamento: layout de tela diferente do CRM original */
body.page-orcamento .budgetPageShell,
body.page-orcamento .budgetSectionPageShell{gap:18px!important}
body.page-orcamento .budgetHero,
body.page-orcamento .budgetHeader,
body.page-orcamento .budgetCardHeader{
  border:2px solid #000!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,var(--panel-top),var(--panel-bottom))!important;
  padding:16px!important;
}
body.page-orcamento .budgetListWrap{
  border:2px solid #000!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.18))!important;
  padding:14px!important;
}
body.page-orcamento .budgetListTable{
  border-collapse:collapse!important;
  border-spacing:0!important;
  border:2px solid #000!important;
  overflow:hidden!important;
}
body.page-orcamento .budgetListTable thead th{padding:12px 10px!important;border:2px solid #000!important;background:var(--thead-bg)!important;color:#fff!important}
body.page-orcamento .budgetListTable tbody td{
  padding:13px 11px!important;
  border:2px solid #000!important;
  border-radius:0!important;
  background:transparent!important;
}
body.page-orcamento .budgetListTable tbody td:first-child,
body.page-orcamento .budgetListTable tbody td:last-child{border-radius:0!important}
body.page-orcamento .budgetOrderMain strong{font-size:15px!important;color:inherit!important}
body.page-orcamento .budgetMiniCard,
body.page-orcamento .budgetClientPreview,
body.page-orcamento .budgetTotalsBox,
body.page-orcamento .budgetSettingSection,
body.page-orcamento .budgetScopeBtn,
body.page-orcamento .budgetItemsTable{
  border:2px solid #000!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,var(--panel),var(--panel-2))!important;
}
body.page-orcamento .budgetPdfHighlight,
body.page-orcamento .btn[href*="export_budget.php"],
body.page-orcamento a[href*="export_budget.php"]{
  background:linear-gradient(135deg,#000,var(--primary),var(--primary-2))!important;
  color:#fff!important;
  border:2px solid #000!important;
  border-radius:16px!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  box-shadow:0 14px 28px rgba(0,0,0,.34)!important;
}
body.page-orcamento .budgetToolbarActions .btn,
body.page-orcamento .budgetItemHeaderActions .btn{min-height:44px!important}

/* Configuração dos temas em 4 blocos grandes */
.configPageShell .uiThemePalette{grid-template-columns:repeat(4,minmax(150px,1fr))!important;gap:12px!important}
.configPageShell .themeSwatchBtn{min-height:136px!important;border:2px solid #000!important;border-radius:22px!important;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.18))!important}
.configPageShell .themeSwatchColor{height:46px!important;border:2px solid #000!important;border-radius:16px!important}
.configPageShell .themeSwatchBtn strong{font-size:15px!important}
.configPageShell .themeSwatchBtn small{font-weight:800!important;color:var(--muted)!important}

/* Relatórios, listas e grades internas */
body[data-ui-theme] .tableWrap,
body[data-ui-theme] .responsiveTable,
body[data-ui-theme] .filterBar,
body[data-ui-theme] .filtersBox,
body[data-ui-theme] .dashboardDetailedSection,
body[data-ui-theme] .inicioFullListV441,
body[data-ui-theme] .fullListRowV441{
  border:2px solid #000!important;
  border-radius:18px!important;
}
body[data-ui-theme] .fullListRowV441{background:linear-gradient(135deg,var(--panel),var(--panel-2))!important}

@media(max-width:980px){
  .configPageShell .uiThemePalette{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-ui-theme] .topbarMain{margin:6px 6px 12px!important;border-radius:18px!important}
}
@media(max-width:640px){
  .configPageShell .uiThemePalette{grid-template-columns:1fr!important}
  body[data-ui-theme] table,
  body[data-ui-theme] .dataTable,
  body[data-ui-theme] .budgetListTable{font-size:12px!important}
}


/* CRM V1175 - Padronizacao total das listas por tema + ajuste da coluna Nº em Execucao */
body[data-ui-theme]{
  --crm-table-row-odd: var(--crm-row-odd);
  --crm-table-row-even: var(--crm-row-even);
  --crm-table-row-hover: color-mix(in srgb, var(--primary) 76%, #0b1018 24%);
  --crm-table-head-solid: color-mix(in srgb, var(--primary) 84%, #05070d 16%);
}

/* Se existir qualquer classe tentando pintar linha individualmente, o padrao do tema prevalece. */
.tableWrap tbody tr:nth-child(odd) > td,
.crmDetailTableWrap tbody tr:nth-child(odd) > td,
.ticketTableWrap tbody tr:nth-child(odd) > td,
.budgetListWrap tbody tr:nth-child(odd) > td,
.budgetOrdersTableWrap tbody tr:nth-child(odd) > td,
.dataTableWrap tbody tr:nth-child(odd) > td,
.modeDetailedWrap tbody tr:nth-child(odd) > td,
.detailedTableWrap tbody tr:nth-child(odd) > td,
.receiptTableWrap tbody tr:nth-child(odd) > td,
.employeeListTableWrap tbody tr:nth-child(odd) > td,
.employeeCommissionTableWrap tbody tr:nth-child(odd) > td,
.permissionSheetTableWrap tbody tr:nth-child(odd) > td,
body.page-oportunidades .opTable tbody tr:nth-child(odd) > td,
body.page-oportunidades .opProductivityTable tbody tr:nth-child(odd) > td,
body.page-oportunidades .opApprovedDetailTable tbody tr:nth-child(odd) > td,
body.page-oportunidades .opConsultantDetailTable tbody tr:nth-child(odd) > td,
body.page-funcionarios .employeeListTable tbody tr:nth-child(odd) > td,
body.page-funcionarios .employeeCommissionTable tbody tr:nth-child(odd) > td,
body.page-recebimentos .receiptTable tbody tr:nth-child(odd) > td,
body.page-usuarios .permissionSheetTable tbody tr:nth-child(odd) > td,
table.crmResizableTable tbody tr:nth-child(odd) > td,
table.resizableTable tbody tr:nth-child(odd) > td,
table.detailedTable tbody tr:nth-child(odd) > td,
table.ticketDataTable tbody tr:nth-child(odd) > td,
table.dashboardDataTable tbody tr:nth-child(odd) > td,
table.budgetListTable tbody tr:nth-child(odd) > td,
table.financeTable tbody tr:nth-child(odd) > td,
table.opTable tbody tr:nth-child(odd) > td,
table.opProductivityTable tbody tr:nth-child(odd) > td,
table.providerHistoryTable tbody tr:nth-child(odd) > td,
table.cmcTable tbody tr:nth-child(odd) > td,
table.permissionSheetTable tbody tr:nth-child(odd) > td,
tbody tr:nth-child(odd) > td{
  background:var(--crm-table-row-odd) !important;
  background-image:none !important;
  color:var(--crm-row-text, #fff) !important;
  font-weight:800 !important;
}

.tableWrap tbody tr:nth-child(even) > td,
.crmDetailTableWrap tbody tr:nth-child(even) > td,
.ticketTableWrap tbody tr:nth-child(even) > td,
.budgetListWrap tbody tr:nth-child(even) > td,
.budgetOrdersTableWrap tbody tr:nth-child(even) > td,
.dataTableWrap tbody tr:nth-child(even) > td,
.modeDetailedWrap tbody tr:nth-child(even) > td,
.detailedTableWrap tbody tr:nth-child(even) > td,
.receiptTableWrap tbody tr:nth-child(even) > td,
.employeeListTableWrap tbody tr:nth-child(even) > td,
.employeeCommissionTableWrap tbody tr:nth-child(even) > td,
.permissionSheetTableWrap tbody tr:nth-child(even) > td,
body.page-oportunidades .opTable tbody tr:nth-child(even) > td,
body.page-oportunidades .opProductivityTable tbody tr:nth-child(even) > td,
body.page-oportunidades .opApprovedDetailTable tbody tr:nth-child(even) > td,
body.page-oportunidades .opConsultantDetailTable tbody tr:nth-child(even) > td,
body.page-funcionarios .employeeListTable tbody tr:nth-child(even) > td,
body.page-funcionarios .employeeCommissionTable tbody tr:nth-child(even) > td,
body.page-recebimentos .receiptTable tbody tr:nth-child(even) > td,
body.page-usuarios .permissionSheetTable tbody tr:nth-child(even) > td,
table.crmResizableTable tbody tr:nth-child(even) > td,
table.resizableTable tbody tr:nth-child(even) > td,
table.detailedTable tbody tr:nth-child(even) > td,
table.ticketDataTable tbody tr:nth-child(even) > td,
table.dashboardDataTable tbody tr:nth-child(even) > td,
table.budgetListTable tbody tr:nth-child(even) > td,
table.financeTable tbody tr:nth-child(even) > td,
table.opTable tbody tr:nth-child(even) > td,
table.opProductivityTable tbody tr:nth-child(even) > td,
table.providerHistoryTable tbody tr:nth-child(even) > td,
table.cmcTable tbody tr:nth-child(even) > td,
table.permissionSheetTable tbody tr:nth-child(even) > td,
tbody tr:nth-child(even) > td{
  background:var(--crm-table-row-even) !important;
  background-image:none !important;
  color:var(--crm-row-even-text, #111) !important;
  font-weight:800 !important;
}

/* Mantem links e botoes internos legiveis, sem perder os chips e status especificos. */
.tableWrap tbody td a,
.crmDetailTableWrap tbody td a,
.ticketTableWrap tbody td a,
.budgetListWrap tbody td a,
.budgetOrdersTableWrap tbody td a,
.dataTableWrap tbody td a,
.modeDetailedWrap tbody td a,
.detailedTableWrap tbody td a,
table tbody td a{
  color:inherit;
  font-weight:inherit;
}

/* Coluna Nº da Execucao: centralizada e sem faixa/claro abaixo do numero. */
body.page-execucao .ticketDataTable .colIndex,
body.page-execucao .ticketDataTable td.colIndex,
body.page-tickets .ticketDataTable .colIndex,
body.page-tickets .ticketDataTable td.colIndex{
  text-align:center !important;
  vertical-align:middle !important;
}
body.page-execucao .ticketDataTable td.colIndex,
body.page-tickets .ticketDataTable td.colIndex{
  padding-top:9px !important;
  padding-bottom:9px !important;
}
body.page-execucao .ticketDataTable td.colIndex .rowIndexCell,
body.page-tickets .ticketDataTable td.colIndex .rowIndexCell{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  line-height:1 !important;
  padding:0 !important;
  margin:0 auto !important;
  white-space:nowrap !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body.page-execucao .ticketDataTable td.colIndex::before,
body.page-tickets .ticketDataTable td.colIndex::before{
  display:none !important;
}


/* CRM V1176 - Tabelas premium, badges por tema e orcamento mais vendavel */
body[data-ui-theme]{
  --crm-table-head-glow: color-mix(in srgb, var(--primary-2) 42%, transparent);
  --crm-table-head-shadow: 0 12px 24px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
  --crm-table-cell-shadow: inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(0,0,0,.12);
  --crm-table-hover-accent: color-mix(in srgb, var(--primary-2) 82%, #ffffff 18%);
  --crm-badge-neutral: color-mix(in srgb, var(--primary) 18%, #08111d 82%);
  --crm-badge-neutral-text: #eef7ff;
  --crm-budget-gold: color-mix(in srgb, var(--warning) 68%, #ffefb4 32%);
}

/* Acabamento premium nas tabelas/listas do CRM */
body[data-ui-theme] .tableWrap,
body[data-ui-theme] .ticketTableWrap,
body[data-ui-theme] .dashboardTableWrap,
body[data-ui-theme] .budgetListWrap,
body[data-ui-theme] .budgetOrdersTableWrap,
body[data-ui-theme] .dataTableWrap,
body[data-ui-theme] .employeeListTableWrap,
body[data-ui-theme] .employeeCommissionTableWrap,
body[data-ui-theme] .permissionSheetTableWrap,
body[data-ui-theme] .receiptTableWrap,
body[data-ui-theme] .providerTableWrap,
body[data-ui-theme] .crmDetailTableWrap,
body[data-ui-theme] .detailedTableWrap,
body[data-ui-theme] .modeDetailedWrap{
  border:2px solid #000 !important;
  border-radius:24px !important;
  overflow:auto !important;
  box-shadow:0 16px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body[data-ui-theme] table,
body[data-ui-theme] .dataTable,
body[data-ui-theme] .table,
body[data-ui-theme] table.tbl,
body[data-ui-theme] .ticketDataTable,
body[data-ui-theme] .dashboardDataTable,
body[data-ui-theme] .budgetListTable,
body[data-ui-theme] .employeeListTable,
body[data-ui-theme] .employeeCommissionTable,
body[data-ui-theme] .permissionSheetTable,
body[data-ui-theme] .receiptTable,
body[data-ui-theme] .providerTable,
body[data-ui-theme] .opTable{
  border-collapse:separate !important;
  border-spacing:0 !important;
}

body[data-ui-theme] table thead th,
body[data-ui-theme] .dataTable thead th,
body[data-ui-theme] .table thead th,
body[data-ui-theme] table.tbl thead th,
body[data-ui-theme] .ticketDataTable thead th,
body[data-ui-theme] .dashboardDataTable thead th,
body[data-ui-theme] .budgetListTable thead th,
body[data-ui-theme] .employeeListTable thead th,
body[data-ui-theme] .employeeCommissionTable thead th,
body[data-ui-theme] .permissionSheetTable thead th,
body[data-ui-theme] .receiptTable thead th,
body[data-ui-theme] .providerTable thead th,
body[data-ui-theme] .opTable thead th{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  padding:14px 11px !important;
  border-width:2px !important;
  border-color:#000 !important;
  box-shadow:var(--crm-table-head-shadow), 0 0 0 1px rgba(0,0,0,.95) !important;
}

body[data-ui-theme] table thead th::after,
body[data-ui-theme] .dataTable thead th::after,
body[data-ui-theme] .table thead th::after,
body[data-ui-theme] table.tbl thead th::after,
body[data-ui-theme] .ticketDataTable thead th::after,
body[data-ui-theme] .dashboardDataTable thead th::after,
body[data-ui-theme] .budgetListTable thead th::after,
body[data-ui-theme] .employeeListTable thead th::after,
body[data-ui-theme] .employeeCommissionTable thead th::after,
body[data-ui-theme] .permissionSheetTable thead th::after,
body[data-ui-theme] .receiptTable thead th::after,
body[data-ui-theme] .providerTable thead th::after,
body[data-ui-theme] .opTable thead th::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--crm-table-head-glow), transparent);
  opacity:.82;
  pointer-events:none;
}

body[data-ui-theme] table tbody td,
body[data-ui-theme] .dataTable tbody td,
body[data-ui-theme] .table tbody td,
body[data-ui-theme] table.tbl tbody td,
body[data-ui-theme] .ticketDataTable tbody td,
body[data-ui-theme] .dashboardDataTable tbody td,
body[data-ui-theme] .budgetListTable tbody td,
body[data-ui-theme] .employeeListTable tbody td,
body[data-ui-theme] .employeeCommissionTable tbody td,
body[data-ui-theme] .permissionSheetTable tbody td,
body[data-ui-theme] .receiptTable tbody td,
body[data-ui-theme] .providerTable tbody td,
body[data-ui-theme] .opTable tbody td{
  position:relative;
  border-width:2px !important;
  border-color:#000 !important;
  box-shadow:var(--crm-table-cell-shadow) !important;
  transition:none !important;
}

/* Badges e status harmonizados com o tema */
body[data-ui-theme] .statusBadge,
body[data-ui-theme] .miniBadge,
body[data-ui-theme] .badge,
body[data-ui-theme] .chip,
body[data-ui-theme] .statusPill,
body[data-ui-theme] .budgetStatusPill,
body[data-ui-theme] .rolePill,
body[data-ui-theme] .defaultPill,
body[data-ui-theme] .paymentStateChip,
body[data-ui-theme] .commissionStatusBadge,
body[data-ui-theme] .contractStatusTag,
body[data-ui-theme] .partnerWithdrawBadge,
body[data-ui-theme] .financeCostCenterBadge,
body[data-ui-theme] .entradaStatusPill{
  border:2px solid #000 !important;
  box-shadow:0 10px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16) !important;
  font-weight:1000 !important;
  letter-spacing:.02em;
}

body[data-ui-theme] .statusBadge:not(.info):not(.danger),
body[data-ui-theme] .miniBadge:not(.status-green):not(.status-yellow):not(.status-blue):not(.status-red):not(.status-muted),
body[data-ui-theme] .badge:not(.status-green):not(.status-yellow):not(.status-blue):not(.status-red):not(.status-muted),
body[data-ui-theme] .chip,
body[data-ui-theme] .contractStatusTag,
body[data-ui-theme] .defaultPill,
body[data-ui-theme] .entradaStatusPill{
  background:linear-gradient(135deg, color-mix(in srgb, var(--crm-badge-neutral) 88%, #ffffff 12%), color-mix(in srgb, var(--crm-badge-neutral) 70%, #000 30%)) !important;
  color:var(--crm-badge-neutral-text) !important;
}

body[data-ui-theme] .status-green,
body[data-ui-theme] .miniBadge.status-green,
body[data-ui-theme] .badge.status-green,
body[data-ui-theme] .statusBadge.status-green,
body[data-ui-theme] .statusPill.success,
body[data-ui-theme] .commissionStatusBadge.status-aprovado,
body[data-ui-theme] .partnerWithdrawBadge.paid,
body[data-ui-theme] .receiptKpis article.success{
  background:linear-gradient(135deg, color-mix(in srgb, var(--success) 74%, #ffffff 26%), color-mix(in srgb, var(--success) 94%, #0b2c1e 6%)) !important;
  color:#05160d !important;
  border-color:#000 !important;
}

body[data-ui-theme] .status-yellow,
body[data-ui-theme] .miniBadge.status-yellow,
body[data-ui-theme] .badge.status-yellow,
body[data-ui-theme] .statusBadge.status-yellow,
body[data-ui-theme] .paymentStateChip.paymentState-partial,
body[data-ui-theme] .commissionStatusBadge.status-pendente,
body[data-ui-theme] .partnerWithdrawBadge.open,
body[data-ui-theme] .partnerWithdrawBadge.reinvested{
  background:linear-gradient(135deg, color-mix(in srgb, var(--warning) 76%, #fff5be 24%), color-mix(in srgb, var(--warning) 95%, #5a4200 5%)) !important;
  color:#201504 !important;
  border-color:#000 !important;
}

body[data-ui-theme] .status-blue,
body[data-ui-theme] .miniBadge.status-blue,
body[data-ui-theme] .badge.status-blue,
body[data-ui-theme] .statusBadge.info,
body[data-ui-theme] .statusBadge.status-blue,
body[data-ui-theme] .paymentStateChip.paymentState-paid,
body[data-ui-theme] .partnerWithdrawBadge.retained,
body[data-ui-theme] .financeCostCenterBadge{
  background:linear-gradient(135deg, color-mix(in srgb, var(--primary-2) 76%, #ffffff 24%), color-mix(in srgb, var(--primary) 94%, #04111d 6%)) !important;
  color:#04111d !important;
  border-color:#000 !important;
}

body[data-ui-theme] .status-red,
body[data-ui-theme] .miniBadge.status-red,
body[data-ui-theme] .badge.status-red,
body[data-ui-theme] .statusBadge.danger,
body[data-ui-theme] .statusBadge.status-red,
body[data-ui-theme] .paymentStateChip.paymentState-unpaid,
body[data-ui-theme] .commissionStatusBadge.status-invalidado,
body[data-ui-theme] .statusPill.danger,
body[data-ui-theme] .partnerWithdrawBadge.rejected,
body[data-ui-theme] .receiptKpis article.danger{
  background:linear-gradient(135deg, color-mix(in srgb, var(--danger) 72%, #ffd4d9 28%), color-mix(in srgb, var(--danger) 94%, #3d0b16 6%)) !important;
  color:#20060c !important;
  border-color:#000 !important;
}

body[data-ui-theme] .status-muted,
body[data-ui-theme] .miniBadge.status-muted,
body[data-ui-theme] .badge.status-muted{
  background:linear-gradient(135deg, color-mix(in srgb, var(--muted) 70%, #d8e2ef 30%), color-mix(in srgb, var(--muted) 92%, #323944 8%)) !important;
  color:#09111a !important;
  border-color:#000 !important;
}

body[data-ui-theme] .budgetStatusPill{
  min-width:146px;
  text-transform:uppercase;
  text-shadow:none !important;
}

/* Pagina Orcamento com visual mais vendavel */
body.page-orcamento .budgetHero{
  position:relative;
  overflow:hidden;
  padding:20px 22px !important;
  box-shadow:0 26px 44px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.page-orcamento .budgetHero::before{
  content:"";
  position:absolute;
  inset:auto -70px -70px auto;
  width:220px;
  height:220px;
  border-radius:28px;
  background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 76%, transparent), color-mix(in srgb, var(--primary-2) 64%, transparent));
  opacity:.22;
  transform:rotate(18deg);
  pointer-events:none;
}
body.page-orcamento .budgetHero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.06), transparent 24%, transparent 76%, rgba(255,255,255,.04));
  pointer-events:none;
}
body.page-orcamento .budgetHero h1,
body.page-orcamento .budgetHeader h1,
body.page-orcamento .budgetHero h2,
body.page-orcamento .budgetHeader h2{
  letter-spacing:-.03em;
  text-transform:uppercase;
}
body.page-orcamento .budgetHero p{
  max-width:880px;
  font-size:13px;
  font-weight:800;
}
body.page-orcamento .budgetListWrap{
  box-shadow:0 22px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
body.page-orcamento .budgetMiniCard,
body.page-orcamento .budgetClientPreview,
body.page-orcamento .budgetTotalsBox,
body.page-orcamento .budgetSettingSection,
body.page-orcamento .budgetScopeBtn,
body.page-orcamento .budgetItemsTable,
body.page-orcamento .budgetHeader,
body.page-orcamento .budgetCardHeader{
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
body.page-orcamento .budgetClientPreview::before,
body.page-orcamento .budgetTotalsBox::before,
body.page-orcamento .budgetSettingSection::before,
body.page-orcamento .budgetMiniCard::before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--crm-budget-gold), color-mix(in srgb, var(--primary-2) 52%, #ffffff 48%), var(--crm-budget-gold));
  opacity:.88;
}
body.page-orcamento .budgetClientPreview strong,
body.page-orcamento .budgetTotalsBox strong,
body.page-orcamento .budgetMiniCard strong{
  letter-spacing:.01em;
}
body.page-orcamento .budgetToolbarActions .btn,
body.page-orcamento .budgetItemHeaderActions .btn,
body.page-orcamento .budgetOrdersActions .btn{
  border:2px solid #000 !important;
  border-radius:16px !important;
  box-shadow:0 14px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.1) !important;
}
body.page-orcamento .budgetPdfHighlight,
body.page-orcamento .btn[href*="export_budget.php"],
body.page-orcamento a[href*="export_budget.php"]{
  position:relative;
  overflow:hidden;
  padding-inline:18px !important;
}
body.page-orcamento .budgetPdfHighlight::after,
body.page-orcamento .btn[href*="export_budget.php"]::after,
body.page-orcamento a[href*="export_budget.php"]::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0 28%, rgba(255,255,255,.22) 40%, transparent 54% 100%);
  opacity:.72;
  pointer-events:none;
}
body.page-orcamento .budgetOrderMain strong{font-size:15px !important;letter-spacing:-.01em;}
body.page-orcamento .budgetClientPreview small,
body.page-orcamento .budgetClientPreview div,
body.page-orcamento .budgetTotalsBox small{font-weight:800;}


/* CRM V1177 - Legibilidade reforcada nas colunas Valor OS e % */
body[data-ui-theme] .valueOsCell,
body[data-ui-theme] .profitPercentCell{
  text-shadow:0 1px 0 rgba(0,0,0,.22);
  letter-spacing:.01em;
}

/* Coluna Valor OS: contraste inteligente por linha */
body[data-ui-theme] table tbody tr:nth-child(odd) .valueOsCell,
body[data-ui-theme] .dataTable tbody tr:nth-child(odd) .valueOsCell,
body[data-ui-theme] .table tbody tr:nth-child(odd) .valueOsCell,
body[data-ui-theme] .ticketDataTable tbody tr:nth-child(odd) .valueOsCell,
body[data-ui-theme] .dashboardDataTable tbody tr:nth-child(odd) .valueOsCell,
body[data-ui-theme] .receiptTable tbody tr:nth-child(odd) .valueOsCell,
body[data-ui-theme] .crmDetailTableWrap tbody tr:nth-child(odd) .valueOsCell{
  color:#9ff9d2 !important;
  text-shadow:0 1px 0 rgba(0,0,0,.36), 0 0 10px rgba(159,249,210,.12);
}
body[data-ui-theme] table tbody tr:nth-child(even) .valueOsCell,
body[data-ui-theme] .dataTable tbody tr:nth-child(even) .valueOsCell,
body[data-ui-theme] .table tbody tr:nth-child(even) .valueOsCell,
body[data-ui-theme] .ticketDataTable tbody tr:nth-child(even) .valueOsCell,
body[data-ui-theme] .dashboardDataTable tbody tr:nth-child(even) .valueOsCell,
body[data-ui-theme] .receiptTable tbody tr:nth-child(even) .valueOsCell,
body[data-ui-theme] .crmDetailTableWrap tbody tr:nth-child(even) .valueOsCell{
  color:#0a3d2c !important;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}

/* Coluna %: badge mais legivel em fundo claro e escuro */
body[data-ui-theme] .profitPercentCell{
  border:2px solid #000 !important;
  font-weight:1000 !important;
  min-width:108px;
  box-shadow:0 8px 14px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
body[data-ui-theme] table tbody tr:nth-child(odd) .profitPercentCell,
body[data-ui-theme] .dataTable tbody tr:nth-child(odd) .profitPercentCell,
body[data-ui-theme] .table tbody tr:nth-child(odd) .profitPercentCell,
body[data-ui-theme] .ticketDataTable tbody tr:nth-child(odd) .profitPercentCell,
body[data-ui-theme] .dashboardDataTable tbody tr:nth-child(odd) .profitPercentCell,
body[data-ui-theme] .receiptTable tbody tr:nth-child(odd) .profitPercentCell,
body[data-ui-theme] .crmDetailTableWrap tbody tr:nth-child(odd) .profitPercentCell{
  color:#f4fbff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.38);
}
body[data-ui-theme] table tbody tr:nth-child(even) .profitPercentCell,
body[data-ui-theme] .dataTable tbody tr:nth-child(even) .profitPercentCell,
body[data-ui-theme] .table tbody tr:nth-child(even) .profitPercentCell,
body[data-ui-theme] .ticketDataTable tbody tr:nth-child(even) .profitPercentCell,
body[data-ui-theme] .dashboardDataTable tbody tr:nth-child(even) .profitPercentCell,
body[data-ui-theme] .receiptTable tbody tr:nth-child(even) .profitPercentCell,
body[data-ui-theme] .crmDetailTableWrap tbody tr:nth-child(even) .profitPercentCell{
  color:#07111b !important;
  text-shadow:0 1px 0 rgba(255,255,255,.42);
}
body[data-ui-theme] table tbody tr:nth-child(even) .profitPercentCell.profitPercentGood,
body[data-ui-theme] .dataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentGood,
body[data-ui-theme] .table tbody tr:nth-child(even) .profitPercentCell.profitPercentGood,
body[data-ui-theme] .ticketDataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentGood,
body[data-ui-theme] .dashboardDataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentGood,
body[data-ui-theme] .receiptTable tbody tr:nth-child(even) .profitPercentCell.profitPercentGood,
body[data-ui-theme] .crmDetailTableWrap tbody tr:nth-child(even) .profitPercentCell.profitPercentGood{
  background:linear-gradient(135deg, rgba(84,224,146,.50), rgba(84,224,146,.24)) !important;
  border-color:rgba(8,63,41,.92) !important;
}
body[data-ui-theme] table tbody tr:nth-child(even) .profitPercentCell.profitPercentWarn,
body[data-ui-theme] .dataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentWarn,
body[data-ui-theme] .table tbody tr:nth-child(even) .profitPercentCell.profitPercentWarn,
body[data-ui-theme] .ticketDataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentWarn,
body[data-ui-theme] .dashboardDataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentWarn,
body[data-ui-theme] .receiptTable tbody tr:nth-child(even) .profitPercentCell.profitPercentWarn,
body[data-ui-theme] .crmDetailTableWrap tbody tr:nth-child(even) .profitPercentCell.profitPercentWarn{
  background:linear-gradient(135deg, rgba(255,212,91,.58), rgba(255,212,91,.26)) !important;
  border-color:rgba(100,75,6,.92) !important;
}
body[data-ui-theme] table tbody tr:nth-child(even) .profitPercentCell.profitPercentBad,
body[data-ui-theme] .dataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentBad,
body[data-ui-theme] .table tbody tr:nth-child(even) .profitPercentCell.profitPercentBad,
body[data-ui-theme] .ticketDataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentBad,
body[data-ui-theme] .dashboardDataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentBad,
body[data-ui-theme] .receiptTable tbody tr:nth-child(even) .profitPercentCell.profitPercentBad,
body[data-ui-theme] .crmDetailTableWrap tbody tr:nth-child(even) .profitPercentCell.profitPercentBad{
  background:linear-gradient(135deg, rgba(255,116,116,.50), rgba(255,116,116,.24)) !important;
  border-color:rgba(98,15,22,.92) !important;
}
body[data-ui-theme] table tbody tr:nth-child(even) .profitPercentCell.profitPercentNeutral,
body[data-ui-theme] .dataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentNeutral,
body[data-ui-theme] .table tbody tr:nth-child(even) .profitPercentCell.profitPercentNeutral,
body[data-ui-theme] .ticketDataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentNeutral,
body[data-ui-theme] .dashboardDataTable tbody tr:nth-child(even) .profitPercentCell.profitPercentNeutral,
body[data-ui-theme] .receiptTable tbody tr:nth-child(even) .profitPercentCell.profitPercentNeutral,
body[data-ui-theme] .crmDetailTableWrap tbody tr:nth-child(even) .profitPercentCell.profitPercentNeutral{
  background:linear-gradient(135deg, rgba(163,177,194,.44), rgba(163,177,194,.20)) !important;
  border-color:rgba(70,78,90,.92) !important;
}

/* Cabeçalhos dessas colunas ainda mais claros visualmente */
body[data-ui-theme] th[data-column-key="valor_os"],
body[data-ui-theme] th[data-column-key="percentual"],
body[data-ui-theme] td[data-column-key="valor_os"],
body[data-ui-theme] td[data-column-key="percentual"]{
  text-align:center !important;
}


/* CRM V1178 - login premium, cards/KPIs, modais e filtros */
.loginBody{
  position:relative;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(155,17,30,.22), transparent 24%),
    radial-gradient(circle at 84% 16%, rgba(0,0,128,.24), transparent 26%),
    radial-gradient(circle at 50% 88%, rgba(0,128,0,.20), transparent 24%),
    linear-gradient(135deg, #040814 0%, #07111f 34%, #0b1220 62%, #0b0f17 100%);
}
.loginBody::before,
.loginBody::after{
  content:'';
  position:fixed;
  pointer-events:none;
  inset:auto;
  width:340px;
  height:340px;
  border-radius:50%;
  filter:blur(46px);
  opacity:.36;
  z-index:0;
}
.loginBody::before{left:-110px;top:-80px;background:rgba(155,17,30,.34)}
.loginBody::after{right:-110px;bottom:-80px;background:rgba(0,0,128,.32)}
.loginCardPremium{
  position:relative;
  z-index:1;
  width:min(1160px, 96vw);
  border:2px solid #000;
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(10,18,31,.97), rgba(5,11,20,.98));
  box-shadow:0 40px 100px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.06) inset;
}
.loginCardPremium::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(255,255,255,.06), transparent 28%, transparent 74%, rgba(255,255,255,.04));
  pointer-events:none;
}
.loginBrandPremium{position:relative;display:grid;gap:16px;padding:34px 32px 32px;background:radial-gradient(circle at top left, rgba(115,186,247,.18), transparent 36%), linear-gradient(135deg, rgba(12,25,44,.98), rgba(8,15,27,.98));border-right:2px solid rgba(0,0,0,.95)}
.loginBrandTop{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px}
.loginBrandPremium h1{margin:6px 0 8px;font-size:clamp(28px,2.5vw,38px);line-height:1.02;letter-spacing:-.03em}
.loginBrandPremium p{margin:0;color:#b6c5d9;max-width:560px;line-height:1.4}
.loginBadgeMini{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:2px solid #000;background:linear-gradient(135deg,#9b111e,#000080);color:#fff;font-size:11px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 12px 24px rgba(0,0,0,.28)}
.loginBadgeRow{display:flex;gap:10px;flex-wrap:wrap}
.loginFeatureBadge{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:999px;border:2px solid #000;background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));color:#fff;font-size:11px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 12px 22px rgba(0,0,0,.18)}
.loginFeatureGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.loginFeatureGrid article,.loginMiniStats > div{border:2px solid #000;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));padding:16px;box-shadow:0 16px 28px rgba(0,0,0,.16)}
.loginFeatureGrid strong,.loginMiniStats strong{display:block;color:#fff;font-size:15px;font-weight:1000;line-height:1.12}
.loginFeatureGrid span{display:block;margin-top:7px;color:#acc0d9;font-size:12px;line-height:1.35}
.loginMiniStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.loginMiniStats small{display:block;margin-bottom:6px;color:#89a9c9;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000}
.loginFormPremium{position:relative;padding:34px 32px 32px;background:linear-gradient(180deg, rgba(9,17,29,.98), rgba(6,12,21,.98))}
.loginFormHeader{display:grid;gap:6px;margin-bottom:16px}
.loginFormHeader h2{margin:0;font-size:clamp(28px,2.2vw,36px);line-height:1.02;letter-spacing:-.03em}
.loginFormHeader p{margin:0;color:#9fb3ca;line-height:1.38}
.loginFormKicker{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:7px 12px;border:2px solid #000;border-radius:999px;background:linear-gradient(135deg, rgba(155,17,30,.92), rgba(0,0,128,.92));color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;box-shadow:0 12px 24px rgba(0,0,0,.22)}
.loginFormPremium .fieldLabel{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;color:#9fb3ca;margin-bottom:14px}
.loginFormPremium input{width:100%;min-height:52px;padding:14px 16px;border-radius:18px;border:2px solid #000;background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));color:#fff;font-size:15px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 22px rgba(0,0,0,.14)}
.loginFormPremium input::placeholder{color:#7f96b0}
.loginFormPremium input:focus{outline:none;border-color:var(--primary-2);}
.loginPasswordWrap{position:relative}
.loginPasswordWrap input{padding-right:108px}
.loginPasswordToggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:38px;padding:8px 12px !important;border-radius:12px !important}
.loginFormPremium .btn.primary.full{min-height:56px;border-radius:18px;font-size:15px;letter-spacing:.02em;box-shadow:0 16px 34px rgba(0,0,0,.28)}
.loginFormNote{margin-top:12px;padding:12px 14px;border:2px solid #000;border-radius:16px;background:rgba(255,255,255,.045);color:#a8bfd8;font-size:12px;font-weight:900;line-height:1.35;text-align:center}
@media(max-width:980px){.loginCardPremium{grid-template-columns:1fr}.loginBrandPremium{border-right:0;border-bottom:2px solid rgba(0,0,0,.95)}.loginFeatureGrid,.loginMiniStats{grid-template-columns:1fr}}
@media(max-width:720px){.loginCardPremium{border-radius:26px}.loginBrandPremium,.loginFormPremium{padding:24px 20px}.loginBrandTop{grid-template-columns:1fr}.loginBadgeRow{gap:8px}.loginFeatureBadge{min-height:34px;padding:7px 12px}}

body.page-inicio .inicioHeroPanel{
  border:2px solid #000 !important;
  border-radius:28px !important;
  padding:22px 24px !important;
  background:
    radial-gradient(circle at top left, rgba(115,186,247,.18), transparent 32%),
    radial-gradient(circle at bottom right, rgba(155,17,30,.15), transparent 26%),
    linear-gradient(135deg, rgba(7,15,29,.98), rgba(10,26,44,.96));
  box-shadow:0 24px 60px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.page-inicio .inicioHeroMain h2{font-size:clamp(26px,2.2vw,36px);letter-spacing:-.03em}
body.page-inicio .inicioHeroStats{gap:12px}
body.page-inicio .inicioHeroStat{
  border:2px solid #000 !important;
  border-radius:22px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
  box-shadow:0 18px 34px rgba(0,0,0,.2);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
body.page-inicio .inicioHeroStat:hover{transform:translateY(-2px);}
body.page-inicio .inicioHeroStat strong{font-size:clamp(22px,1.8vw,30px)}
body.page-inicio .inicioValueRibbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 8px}
body.page-inicio .inicioValueCard{border:2px solid #000;border-radius:22px;padding:16px 18px;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));box-shadow:0 16px 28px rgba(0,0,0,.18)}
body.page-inicio .inicioValueCard span{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;background:rgba(115,186,247,.18);border:1px solid rgba(115,186,247,.26);color:#c8e8ff;font-size:11px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
body.page-inicio .inicioValueCard strong{display:block;color:#fff;font-size:14px;line-height:1.35;font-weight:1000}
body.page-inicio .metricCard,
body.page-inicio .metricBubbleCard{
  border:2px solid #000 !important;
  box-shadow:0 18px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
body.page-inicio .metricCard:hover,
body.page-inicio .metricBubbleCard:hover{transform:translateY(-3px);}
body.page-inicio .metricCard::after{content:'';position:absolute;inset:auto 14px 12px 14px;height:4px;border-radius:999px;background:linear-gradient(90deg, rgba(255,255,255,.22), rgba(255,255,255,0));opacity:.8}
body.page-inicio .metricCard{position:relative;overflow:hidden}
body.page-inicio .metricCard span{font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:1000}
body.page-inicio .metricCard strong{font-size:clamp(20px,1.65vw,28px);letter-spacing:-.03em}
body.page-inicio .dashboardKpiPanel,
body.page-inicio .inicioSellerPerformancePanel{border-radius:28px !important;box-shadow:0 22px 50px rgba(0,0,0,.22)}
@media(max-width:920px){body.page-inicio .inicioValueRibbon{grid-template-columns:1fr}}

body[data-ui-theme] .crmDialog{
  border:2px solid #000 !important;
  border-radius:28px !important;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(115,186,247,.10), transparent 24%),
    linear-gradient(180deg, rgba(8,19,31,.985), rgba(4,10,18,.992)) !important;
  box-shadow:0 34px 80px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.05) inset !important;
}
body[data-ui-theme] .crmDialog::backdrop{background:rgba(2,8,13,.76) !important;backdrop-filter:blur(8px) saturate(1.08)}
body[data-ui-theme] .crmDialog .dialogHeader{
  position:sticky;top:0;z-index:3;
  padding:22px 24px 14px !important;
  background:linear-gradient(180deg, rgba(12,24,40,.98), rgba(8,18,31,.95));
  border-bottom:1px solid rgba(255,255,255,.09);
}
body[data-ui-theme] .crmDialog .dialogHeader h3{font-size:22px;letter-spacing:-.02em}
body[data-ui-theme] .crmDialog .dialogHeader p{margin:4px 0 0;color:#9db7da;font-weight:800;line-height:1.35}
body[data-ui-theme] .crmDialog > .dialogForm,
body[data-ui-theme] .crmDialog > form.dialogForm{padding:18px 24px 24px !important}
body[data-ui-theme] .crmDialog .dialogActions{padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
body[data-ui-theme] .crmDialog .iconBtn{border:2px solid #000 !important;border-radius:14px !important;box-shadow:0 10px 20px rgba(0,0,0,.18)}
body[data-ui-theme] .crmDialog .btn{border-radius:14px !important;min-height:42px}

body[data-ui-theme] .dashboardMainFilter,
body[data-ui-theme] .budgetTableTools,
body[data-ui-theme] .budgetInlineFilterForm,
body[data-ui-theme] .filtersActions,
body[data-ui-theme] .tableActions{
  border-radius:22px;
}
body[data-ui-theme] .budgetInlineFilterForm,
body[data-ui-theme] .inicioPeriodForm,
body[data-ui-theme] .dashboardMainFilter form,
body[data-ui-theme] .filtersGrid,
body[data-ui-theme] .dialogForm{
  gap:12px;
}
body[data-ui-theme] .fieldLabel input,
body[data-ui-theme] .fieldLabel select,
body[data-ui-theme] .fieldLabel textarea,
body[data-ui-theme] .budgetInlineFilterForm input,
body[data-ui-theme] .budgetInlineFilterForm select,
body[data-ui-theme] .dialogForm input,
body[data-ui-theme] .dialogForm select,
body[data-ui-theme] .dialogForm textarea{
  min-height:42px;
  border:2px solid #000 !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04)) !important;
  color:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 22px rgba(0,0,0,.10);
}
body[data-ui-theme] .fieldLabel input:focus,
body[data-ui-theme] .fieldLabel select:focus,
body[data-ui-theme] .fieldLabel textarea:focus,
body[data-ui-theme] .budgetInlineFilterForm input:focus,
body[data-ui-theme] .budgetInlineFilterForm select:focus,
body[data-ui-theme] .dialogForm input:focus,
body[data-ui-theme] .dialogForm select:focus,
body[data-ui-theme] .dialogForm textarea:focus{
  outline:none;
  border-color:var(--primary-2) !important;
}
body[data-ui-theme] .budgetInlineFilterForm .btn,
body[data-ui-theme] .inicioPeriodForm .btn{min-height:42px;border-radius:15px !important}
body.page-orcamento .budgetStylePicker{display:grid;gap:5px;min-width:240px;padding:10px 12px;border:2px solid #000;border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));box-shadow:0 14px 24px rgba(0,0,0,.16)}
body.page-orcamento .budgetStylePickerLabel{font-size:11px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
body.page-orcamento .budgetStyleSelect{min-height:40px;border:2px solid #000;border-radius:14px;background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));color:inherit;font-weight:900;padding:9px 12px}
body.page-orcamento .budgetStylePicker small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}
@media(max-width:780px){body.page-orcamento .budgetToolbarActions.budgetOrdersActions{width:100%;justify-content:stretch}body.page-orcamento .budgetStylePicker{min-width:100%}}


/* CRM V1179 - Widgets arrastaveis e loading premium */
body.page-inicio .inicioWidgetManagerPanel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin:14px 0 12px;
  padding:16px 18px;
  border:2px solid #000;
  border-radius:24px;
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--primary-2) 18%, transparent), transparent 36%), linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.038));
  box-shadow:0 18px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08);
}
body.page-inicio .inicioWidgetManagerText{display:grid;gap:4px}
body.page-inicio .inicioWidgetManagerText span{width:max-content;border:2px solid #000;border-radius:999px;padding:5px 10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#04111d;font-size:10px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}
body.page-inicio .inicioWidgetManagerText strong{color:#fff;font-size:15px;line-height:1.25}
body.page-inicio .inicioWidgetManagerText small{color:var(--muted);font-weight:800;line-height:1.35}
body.page-inicio .inicioWidgetManagerActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
body.page-inicio .inicioWidgetManagerActions .btn{border:2px solid #000!important;border-radius:14px!important;min-height:38px!important;font-weight:1000!important}
body.page-inicio .inicioWidgetDraggable{position:relative;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease;}
body.page-inicio .inicioWidgetTools{position:absolute;right:8px;top:8px;z-index:8;display:flex;align-items:center;gap:5px;opacity:0;transform:translateY(-4px);transition:.16s ease;pointer-events:none}
body.page-inicio .inicioWidgetDraggable:hover .inicioWidgetTools,
body.page-inicio.inicioWidgetOrganizeOn .inicioWidgetTools,
body.inicioWidgetOrganizeOn .inicioWidgetTools{transform:translateY(0);pointer-events:auto}
body.page-inicio .inicioWidgetDragHandle,
body.page-inicio .inicioWidgetHideBtn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #000;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));color:#fff;font-weight:1000;box-shadow:0 8px 14px rgba(0,0,0,.20);cursor:grab}
body.page-inicio .inicioWidgetHideBtn{cursor:pointer;color:#ffd1d1;background:linear-gradient(180deg,rgba(255,92,92,.24),rgba(255,92,92,.08));font-size:15px;line-height:1}
body.page-inicio .inicioWidgetDraggable[draggable="true"]{cursor:grab}
body.page-inicio .inicioWidgetDragging{opacity:.54;transform:scale(.985) rotate(-.4deg);filter:saturate(1.12)}
body.page-inicio .inicioWidgetDropBefore::before,
body.page-inicio .inicioWidgetDropAfter::after{content:'';position:absolute;left:10px;right:10px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--warning));box-shadow:0 0 18px color-mix(in srgb,var(--primary-2) 44%,transparent);z-index:10;pointer-events:none}
body.page-inicio .inicioWidgetDropBefore::before{top:-7px}
body.page-inicio .inicioWidgetDropAfter::after{bottom:-7px}
body.page-inicio .inicioWidgetHiddenByUser{display:none!important}
body.inicioWidgetOrganizeOn .inicioWidgetDraggable{outline:2px dashed color-mix(in srgb,var(--primary-2) 62%,transparent);outline-offset:4px}
body.inicioWidgetDraggingMode{user-select:none}
@media(max-width:860px){body.page-inicio .inicioWidgetManagerPanel{grid-template-columns:1fr}body.page-inicio .inicioWidgetManagerActions{justify-content:flex-start}}

.crmPageLoaderV1179{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;background:rgba(2,8,14,.72);backdrop-filter:blur(9px) saturate(1.08);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease, visibility .18s ease}
.crmPageLoaderV1179.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.crmPageLoaderCardV1179{position:relative;width:min(360px,calc(100vw - 34px));min-height:220px;display:grid;place-items:center;text-align:center;gap:8px;padding:28px 24px;border:2px solid #000;border-radius:30px;background:radial-gradient(circle at 30% 15%, color-mix(in srgb,var(--primary-2) 30%,transparent), transparent 34%), linear-gradient(180deg, rgba(10,22,38,.98), rgba(5,10,18,.99));box-shadow:0 34px 100px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.crmPageLoaderCardV1179::before{content:'';position:absolute;inset:-80px;opacity:.42;background:conic-gradient(from 0deg, transparent, var(--primary), var(--primary-2), var(--warning), transparent);animation:crmLoaderRotateV1179 1.45s linear infinite;filter:blur(22px)}
.crmPageLoaderCardV1179::after{content:'';position:absolute;inset:2px;border-radius:28px;background:linear-gradient(180deg, rgba(8,18,31,.92), rgba(4,9,16,.96));z-index:0}
.crmPageLoaderCardV1179>*{position:relative;z-index:1}
.crmPageLoaderOrbV1179{width:74px;height:74px;border:3px solid #000;border-radius:24px;background:radial-gradient(circle at 34% 25%, #fff, var(--primary-2) 28%, var(--primary) 65%, #000 100%);box-shadow:0 0 0 8px rgba(255,255,255,.04),0 18px 34px rgba(0,0,0,.34),0 0 34px color-mix(in srgb,var(--primary-2) 42%,transparent);animation:crmLoaderPulseV1179 1.05s ease-in-out infinite alternate}
.crmPageLoaderCardV1179 strong{font-size:18px;color:#fff;letter-spacing:-.02em}
.crmPageLoaderCardV1179 span{color:var(--muted);font-weight:900;font-size:12px}
.crmPageLoaderCardV1179 i{display:block;width:100%;height:8px;border:2px solid #000;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:8px}
.crmPageLoaderCardV1179 i::before{content:'';display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--warning));animation:crmLoaderBarV1179 1.1s ease-in-out infinite}
.crmDialogEnterV1179{animation:crmDialogEnterV1179 .36s cubic-bezier(.2,.9,.2,1.08) both}
body.crmModalPulseV1179 .crmDialog[open],body.crmModalPulseV1179 .crmModalBoxV443{box-shadow:0 34px 90px rgba(0,0,0,.50),0 0 0 2px color-mix(in srgb,var(--primary-2) 32%,transparent) inset!important}
@keyframes crmLoaderRotateV1179{to{transform:rotate(360deg)}}
@keyframes crmLoaderPulseV1179{from{transform:translateY(0) scale(.98);filter:saturate(1)}to{transform:translateY(-4px) scale(1.03);filter:saturate(1.16)}}
@keyframes crmLoaderBarV1179{0%{transform:translateX(-110%)}50%{transform:translateX(78%)}100%{transform:translateX(250%)}}
@keyframes crmDialogEnterV1179{0%{opacity:0;transform:translate(-50%,-48%) scale(.965)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.crmPageLoaderCardV1179::before,.crmPageLoaderOrbV1179,.crmPageLoaderCardV1179 i::before,.crmDialogEnterV1179{animation:none!important}}

.crmPageLoaderV1189{background:rgba(2,8,14,.76);backdrop-filter:blur(12px) saturate(1.06)}
.crmPageLoaderCardV1189{width:min(390px,calc(100vw - 34px));min-height:254px;padding:28px 24px 24px;gap:10px;isolation:isolate}
.crmPageLoaderCardV1189::before{opacity:.52;filter:blur(26px)}
.crmPageLoaderCardV1189::after{background:linear-gradient(180deg, rgba(7,16,29,.96), rgba(4,9,16,.985))}
.crmPageLoaderCornerIconV1189{position:absolute;top:16px;right:16px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;border:2px solid #000;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05));box-shadow:0 10px 20px rgba(0,0,0,.28),0 0 16px color-mix(in srgb,var(--primary-2) 28%,transparent);font-size:20px}
.crmPageLoaderLogoWrapV1189{position:relative;display:grid;place-items:center;width:124px;height:124px;margin-top:4px;margin-bottom:4px}
.crmPageLoaderLogoRingV1189{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.14);box-shadow:0 0 0 4px rgba(255,255,255,.03),0 0 34px color-mix(in srgb,var(--primary-2) 34%,transparent), inset 0 0 0 1px rgba(255,255,255,.06);background:conic-gradient(from 0deg, transparent 0%, rgba(255,255,255,.06) 18%, color-mix(in srgb,var(--primary) 52%,transparent) 34%, color-mix(in srgb,var(--primary-2) 68%,transparent) 52%, transparent 72%, color-mix(in srgb,var(--warning) 52%,transparent) 88%, transparent 100%);animation:crmLoaderRingSpinV1189 2.1s linear infinite}
.crmPageLoaderLogoWrapV1189::after{content:'';position:absolute;inset:13px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 18px rgba(255,255,255,.04)}
.crmPageLoaderLogoCoreV1189{position:relative;z-index:2;width:92px;height:92px;border-radius:26px;border:2px solid #000;background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));box-shadow:0 18px 30px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;padding:10px}
.crmPageLoaderLogoImgV1189{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.28))}
.crmPageLoaderLogoFallbackV1189{display:none;align-items:center;justify-content:center;width:100%;height:100%;font-size:23px;font-weight:1000;letter-spacing:.08em;color:#fff}
.crmPageLoaderCardV1189 strong{font-size:22px;line-height:1.08}
.crmPageLoaderCardV1189 [data-loader-subtitle]{font-size:13px;font-weight:1000;letter-spacing:.05em;color:#e9f2ff}
.crmPageLoaderCardV1189 [data-loader-module]{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;border:2px solid #000;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.04));color:var(--muted);font-size:10px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;max-width:100%;white-space:normal;text-align:center;line-height:1.25}
.crmPageLoaderCardV1189 i{margin-top:10px;height:9px}
.crmPageLoaderCardV1189 i::before{width:36%;animation:crmLoaderBarV1189 1.2s ease-in-out infinite}
@keyframes crmLoaderRingSpinV1189{to{transform:rotate(360deg)}}
@keyframes crmLoaderBarV1189{0%{transform:translateX(-118%)}50%{transform:translateX(92%)}100%{transform:translateX(248%)}}
@media(max-width:520px){.crmPageLoaderCardV1189{min-height:238px;padding:24px 18px 22px}.crmPageLoaderCardV1189 strong{font-size:19px}.crmPageLoaderLogoWrapV1189{width:112px;height:112px}.crmPageLoaderLogoCoreV1189{width:84px;height:84px;border-radius:24px}.crmPageLoaderCornerIconV1189{width:38px;height:38px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.crmPageLoaderLogoRingV1189,.crmPageLoaderCardV1189 i::before{animation:none!important}}


/* CRM V1180 - remove visualmente as cores antigas criadas pelo antigo botão de cor em Ações */
body[data-ui-theme] tbody tr.rowThemeCustom:nth-child(odd) > td,
body[data-ui-theme] tbody tr[class*="rowTheme-"]:nth-child(odd) > td,
body[data-ui-theme] tbody tr.rowSpecialGlow:nth-child(odd) > td{
  background:var(--crm-table-row-odd) !important;
  background-image:none !important;
  color:var(--crm-row-text, #fff) !important;
  text-shadow:none !important;
  border-color:#000 !important;
  animation:none !important;
  box-shadow:var(--crm-table-cell-shadow) !important;
}
body[data-ui-theme] tbody tr.rowThemeCustom:nth-child(even) > td,
body[data-ui-theme] tbody tr[class*="rowTheme-"]:nth-child(even) > td,
body[data-ui-theme] tbody tr.rowSpecialGlow:nth-child(even) > td{
  background:var(--crm-table-row-even) !important;
  background-image:none !important;
  color:var(--crm-row-even-text, #111) !important;
  text-shadow:none !important;
  border-color:#000 !important;
  animation:none !important;
  box-shadow:var(--crm-table-cell-shadow) !important;
}
body[data-ui-theme] tr.rowThemeCustom td::before,
body[data-ui-theme] tr[class*="rowTheme-"] td::before,
body[data-ui-theme] tr.rowSpecialGlow td::before,
body[data-ui-theme] tr.rowThemeCustom td a,
body[data-ui-theme] tr[class*="rowTheme-"] td a,
body[data-ui-theme] tr.rowSpecialGlow td a,
body[data-ui-theme] tr.rowThemeCustom td strong,
body[data-ui-theme] tr[class*="rowTheme-"] td strong,
body[data-ui-theme] tr.rowSpecialGlow td strong,
body[data-ui-theme] tr.rowThemeCustom td .editCellBtn,
body[data-ui-theme] tr[class*="rowTheme-"] td .editCellBtn,
body[data-ui-theme] tr.rowSpecialGlow td .editCellBtn{
  color:inherit !important;
  text-shadow:none !important;
}


/* CRM V1182 - Inicio mais limpo, widgets por toque longo e hover sem trocar cor das letras */
body.page-inicio .inicioHeroMain h2{display:none!important;}
body.page-inicio .inicioValueRibbon,
body.page-inicio .inicioWidgetManagerPanel{display:none!important;}
body.page-inicio .inicioHeroMain{align-content:center;}
body.page-inicio .inicioEyebrow{font-size:12px;letter-spacing:.11em;}

body.page-inicio .inicioWidgetDraggable{position:relative;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease;}
body.page-inicio .inicioWidgetDraggable[draggable="false"]{cursor:default;}
body.page-inicio .inicioWidgetDraggable[draggable="true"]{cursor:grab;}
body.page-inicio .inicioWidgetTools{position:absolute;right:8px;top:8px;z-index:8;display:flex;align-items:center;gap:5px;opacity:0;transform:translateY(-4px);transition:.16s ease;pointer-events:none;}
body.inicioWidgetOrganizeOn .inicioWidgetTools{opacity:1;transform:translateY(0);pointer-events:auto;}
body.page-inicio .inicioWidgetDragHandle{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #000;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));color:#fff;font-weight:1000;box-shadow:0 8px 14px rgba(0,0,0,.20);cursor:grab;}
body.page-inicio .inicioWidgetHideBtn{display:none!important;}
body.inicioWidgetOrganizeOn .inicioWidgetDraggable{outline:2px dashed color-mix(in srgb,var(--primary-2) 62%,transparent);outline-offset:4px;}
body.page-inicio .inicioWidgetLongPressReady{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-2) 34%,transparent),0 22px 44px rgba(0,0,0,.26)!important;}
body.page-inicio .inicioWidgetDragging{opacity:.58;transform:scale(.985) rotate(-.4deg);filter:saturate(1.12);}
body.page-inicio .inicioWidgetDropBefore::before,
body.page-inicio .inicioWidgetDropAfter::after{content:'';position:absolute;left:10px;right:10px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--warning));box-shadow:0 0 18px color-mix(in srgb,var(--primary-2) 44%,transparent);z-index:10;pointer-events:none;}
body.page-inicio .inicioWidgetDropBefore::before{top:-7px;}
body.page-inicio .inicioWidgetDropAfter::after{bottom:-7px;}
body.inicioWidgetDraggingMode{user-select:none;}
.inicioWidgetHoldHintV1182{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);z-index:2147482800;max-width:min(520px,calc(100vw - 28px));padding:12px 16px;border:2px solid #000;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:1000;text-align:center;box-shadow:0 18px 34px rgba(0,0,0,.28);opacity:0;visibility:hidden;transition:.18s ease;pointer-events:none;}
.inicioWidgetHoldHintV1182.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0);}


/* CRM V1183 - Quebra inteligente em colunas estreitas + status responsivo */
body[data-ui-theme] table th,
body[data-ui-theme] table td,
body[data-ui-theme] .dataTable th,
body[data-ui-theme] .dataTable td,
body[data-ui-theme] .ticketDataTable th,
body[data-ui-theme] .ticketDataTable td,
body[data-ui-theme] .dashboardDataTable th,
body[data-ui-theme] .dashboardDataTable td,
body[data-ui-theme] .budgetListTable th,
body[data-ui-theme] .budgetListTable td,
body[data-ui-theme] .financeTable th,
body[data-ui-theme] .financeTable td,
body[data-ui-theme] .opTable th,
body[data-ui-theme] .opTable td,
body[data-ui-theme] .providerTable th,
body[data-ui-theme] .providerTable td{
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
  text-overflow:clip !important;
  line-height:1.08 !important;
}

body[data-ui-theme] table td *,
body[data-ui-theme] table th *,
body[data-ui-theme] .dataTable td *,
body[data-ui-theme] .dataTable th *,
body[data-ui-theme] .ticketDataTable td *,
body[data-ui-theme] .ticketDataTable th *,
body[data-ui-theme] .dashboardDataTable td *,
body[data-ui-theme] .dashboardDataTable th *{
  hyphens:none !important;
}

/* Botões/células editáveis acompanham a largura da coluna sem cortar texto. */
body[data-ui-theme] td .editCellBtn,
body[data-ui-theme] td .editableText,
body[data-ui-theme] td .cellText,
body[data-ui-theme] td a,
body[data-ui-theme] td strong,
body[data-ui-theme] td span:not(.statusBadge):not(.miniBadge):not(.badge):not(.chip):not(.profitPercentCell){
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
  text-overflow:clip !important;
  line-height:1.08 !important;
}
body[data-ui-theme] td .editCellBtn{
  display:inline-block !important;
  overflow:visible !important;
  vertical-align:middle !important;
}

/* Remove travas antigas de nowrap nas colunas financeiras/status quando o usuário reduzir largura. */
body[data-ui-theme] .ticketDataTable td[data-label="OS"],
body[data-ui-theme] .ticketDataTable td[data-label="TICKET"],
body[data-ui-theme] .ticketDataTable td[data-label="CONSULTOR"],
body[data-ui-theme] .ticketDataTable td[data-label="CIDADE"],
body[data-ui-theme] .ticketDataTable td[data-label="PRESTADOR"],
body[data-ui-theme] .ticketDataTable td[data-label="DATA PREVISTA"],
body[data-ui-theme] .ticketDataTable td[data-label="STATUS"],
body[data-ui-theme] .ticketDataTable td[data-label="VALOR OS"],
body[data-ui-theme] .ticketDataTable td[data-label="CUSTO"],
body[data-ui-theme] .dashboardDataTable td[data-label="STATUS"],
body[data-ui-theme] .dashboardDataTable td[data-label="VALOR OS"],
body[data-ui-theme] .dashboardDataTable td[data-label="CUSTO"],
body[data-ui-theme] .dashboardDataTable td:nth-last-child(3),
body[data-ui-theme] .valueOsCell,
body[data-ui-theme] .profitPercentCell{
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
}

/* Status/badges: diminuem junto com a coluna e quebram linha sem traco. */
body[data-ui-theme] td[data-label="STATUS"] .statusBadge,
body[data-ui-theme] td[data-label="STATUS"] .miniBadge,
body[data-ui-theme] td[data-label="STATUS"] .badge,
body[data-ui-theme] td[data-label="STATUS"] .chip,
body[data-ui-theme] .statusBadge,
body[data-ui-theme] .miniBadge,
body[data-ui-theme] .badge,
body[data-ui-theme] .chip{
  max-width:100% !important;
  min-width:0 !important;
  width:auto !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
  text-overflow:clip !important;
  overflow:visible !important;
  text-align:center !important;
  line-height:1.04 !important;
  font-size:clamp(6px, .78vw, 12px) !important;
  padding:clamp(2px, .36vw, 6px) clamp(4px, .58vw, 10px) !important;
  gap:clamp(2px, .32vw, 6px) !important;
  border-radius:clamp(9px, 1vw, 999px) !important;
}
body[data-ui-theme] td[data-label="STATUS"] .statusBadge *,
body[data-ui-theme] td[data-label="STATUS"] .miniBadge *,
body[data-ui-theme] td[data-label="STATUS"] .badge *,
body[data-ui-theme] td[data-label="STATUS"] .chip *{
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
  line-height:1.04 !important;
}

/* O percentual tambem fica responsivo quando a coluna for reduzida. */
body[data-ui-theme] .profitPercentCell{
  max-width:100% !important;
  min-width:0 !important;
  font-size:clamp(6px, .82vw, 12px) !important;
  padding:clamp(2px, .35vw, 6px) clamp(4px, .58vw, 10px) !important;
  border-radius:clamp(9px, 1vw, 999px) !important;
  line-height:1.04 !important;
}

/* Valor OS/Custo podem quebrar em duas linhas em coluna muito pequena, mantendo leitura. */
body[data-ui-theme] .valueOsCell,
body[data-ui-theme] td[data-label="VALOR OS"],
body[data-ui-theme] td[data-label="CUSTO"]{
  font-size:clamp(6px, .9vw, 13px) !important;
  line-height:1.08 !important;
  text-align:center !important;
}

/* Classe aplicada pelo JS quando uma celula precisa diminuir para caber. */
body[data-ui-theme] .crmAutoFitTextV1183,
body[data-ui-theme] .crmAutoFitTextV1183 *{
  font-size:var(--crm-autofit-size, inherit) !important;
  line-height:1.04 !important;
}


/* CRM V1184 - Nunca cortar palavras nas listas/tabelas: quebra somente entre palavras e reduz fonte ate 6px */
body[data-ui-theme] table th,
body[data-ui-theme] table td,
body[data-ui-theme] .crmResizableTable th,
body[data-ui-theme] .crmResizableTable td,
body[data-ui-theme] .resizableTable th,
body[data-ui-theme] .resizableTable td,
body[data-ui-theme] .ticketDataTable th,
body[data-ui-theme] .ticketDataTable td,
body[data-ui-theme] .dashboardDataTable th,
body[data-ui-theme] .dashboardDataTable td,
body[data-ui-theme] .budgetListTable th,
body[data-ui-theme] .budgetListTable td,
body[data-ui-theme] .financeTable th,
body[data-ui-theme] .financeTable td,
body[data-ui-theme] .opTable th,
body[data-ui-theme] .opTable td,
body[data-ui-theme] .dataTable th,
body[data-ui-theme] .dataTable td{
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-wrap:wrap !important;
  text-overflow:clip !important;
}

body[data-ui-theme] table th *,
body[data-ui-theme] table td *,
body[data-ui-theme] .crmResizableTable th *,
body[data-ui-theme] .crmResizableTable td *,
body[data-ui-theme] .resizableTable th *,
body[data-ui-theme] .resizableTable td *,
body[data-ui-theme] .ticketDataTable th *,
body[data-ui-theme] .ticketDataTable td *,
body[data-ui-theme] .dashboardDataTable th *,
body[data-ui-theme] .dashboardDataTable td *,
body[data-ui-theme] .budgetListTable th *,
body[data-ui-theme] .budgetListTable td *,
body[data-ui-theme] .financeTable th *,
body[data-ui-theme] .financeTable td *,
body[data-ui-theme] .opTable th *,
body[data-ui-theme] .opTable td *,
body[data-ui-theme] .dataTable th *,
body[data-ui-theme] .dataTable td *{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-overflow:clip !important;
}

body[data-ui-theme] .crmColUltraCompact,
body[data-ui-theme] .crmColUltraCompact *{
  font-size:var(--crm-col-font-size, 6px) !important;
  line-height:var(--crm-col-line-height, 1.1) !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-overflow:clip !important;
}

body[data-ui-theme] .crmColUltraCompact .statusBadge,
body[data-ui-theme] .crmColUltraCompact .statusPill,
body[data-ui-theme] .crmColUltraCompact .budgetStatusPill,
body[data-ui-theme] .crmColUltraCompact .miniBadge,
body[data-ui-theme] .crmColUltraCompact .badge,
body[data-ui-theme] .crmColUltraCompact .chip,
body[data-ui-theme] .crmColUltraCompact .rolePill,
body[data-ui-theme] .crmColUltraCompact .defaultPill,
body[data-ui-theme] .crmColUltraCompact .paymentStateChip,
body[data-ui-theme] .crmColUltraCompact .commissionStatusBadge,
body[data-ui-theme] .crmColUltraCompact .contractStatusTag,
body[data-ui-theme] .crmColUltraCompact .entradaStatusPill,
body[data-ui-theme] .crmColUltraCompact .profitPercentCell{
  max-width:100% !important;
  min-width:0 !important;
  width:auto !important;
  padding:2px 5px !important;
  border-radius:999px !important;
  font-size:var(--crm-col-font-size, 6px) !important;
  line-height:1.08 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}


/* CRM V1185 - backup da blindagem global anti-corte de palavras em listas/tabelas */
body[data-ui-theme] table.crmResizableTable :is(th,td),
body[data-ui-theme] table.crmResizableTable :is(th,td) :not(.colResizeHandle){white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;text-overflow:clip!important;}
body[data-ui-theme] table.crmResizableTable :is(th,td){overflow:visible!important;}
body[data-ui-theme] table.crmResizableTable .crmColUltraCompact,
body[data-ui-theme] table.crmResizableTable .crmColUltraCompact :not(.colResizeHandle),
body[data-ui-theme] .crmTextUltraFitV1185{font-size:var(--crm-col-font-size,6px)!important;line-height:var(--crm-col-line-height,1.08)!important;letter-spacing:-.01em!important;}
body[data-ui-theme] .crmNoWordCutV1185{white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;overflow:visible!important;text-overflow:clip!important;}
body.page-inicio table#dashboardDetailTable.crmResizableTable td[data-column-key="status"],
body.page-inicio table#dashboardDetailTable.crmResizableTable td[data-column-key="status"] .statusCellBtn,
body.page-inicio table#dashboardDetailTable.crmResizableTable td[data-column-key="status"] .statusBadge,
body.page-inicio table#dashboardDetailTable.crmResizableTable td[data-column-key="detalhes"] .editCellBtn{white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;}

/* CRM V1186 - popup por duplo clique, controle de fonte por coluna, brilho ao redimensionar e status blindado */
.crmColumnMenuFontBox{
  display:grid;
  gap:8px;
  margin:10px 0;
  padding:10px;
  border:2px solid #000;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 22px rgba(0,0,0,.18);
}
.crmColumnMenuFontBox > span{
  color:var(--muted);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.crmColumnMenuFontBox small{
  color:var(--muted);
  font-size:10px;
  font-weight:900;
}
.crmColumnMenuFontBtns{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:8px;
  align-items:center;
}
.crmColumnFontReadout{
  min-width:58px;
  padding:8px 10px;
  border:2px solid #000;
  border-radius:13px;
  background:linear-gradient(180deg, rgba(115,186,247,.22), rgba(115,186,247,.08));
  color:#eaf6ff;
  text-align:center;
  font-size:12px;
  font-weight:1000;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
body[data-ui-theme] table.crmResizableTable .crmColumnResizingActive,
body[data-ui-theme] table.crmResizableTable .crmColumnResizingActive *:not(.colResizeHandle){
  box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary-2) 62%, #ffd966 38%), 0 0 22px color-mix(in srgb, var(--primary-2) 38%, transparent) !important;
  filter:brightness(1.08) saturate(1.08) !important;
}
body[data-ui-theme] table.crmResizableTable .crmColumnResizingActive::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:10px;
  border:1px solid color-mix(in srgb, #ffd966 58%, var(--primary-2) 42%);
  pointer-events:none;
  opacity:.75;
}

/* Status: usa a cor cadastrada/inline e nunca deixa a capsula vazar da coluna. */
body[data-ui-theme] table.crmResizableTable td[data-column-key="status"],
body[data-ui-theme] table.crmResizableTable td[data-label="Status"],
body[data-ui-theme] table.crmResizableTable td[data-label="STATUS"]{
  overflow:hidden !important;
  text-align:center !important;
}
body[data-ui-theme] table.crmResizableTable td[data-column-key="status"] .statusCellBtn,
body[data-ui-theme] table.crmResizableTable td[data-label="Status"] .statusCellBtn,
body[data-ui-theme] table.crmResizableTable td[data-label="STATUS"] .statusCellBtn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  max-width:100% !important;
  min-width:0 !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  overflow:hidden !important;
}
body[data-ui-theme] table.crmResizableTable td[data-column-key="status"] .statusBadge,
body[data-ui-theme] table.crmResizableTable td[data-label="Status"] .statusBadge,
body[data-ui-theme] table.crmResizableTable td[data-label="STATUS"] .statusBadge,
body[data-ui-theme] table.crmResizableTable td[data-column-key="status"] .budgetStatusPill,
body[data-ui-theme] table.crmResizableTable td[data-label="Status"] .budgetStatusPill,
body[data-ui-theme] table.crmResizableTable td[data-label="STATUS"] .budgetStatusPill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  max-width:100% !important;
  min-width:0 !important;
  width:auto !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-overflow:clip !important;
  line-height:1.06 !important;
  text-align:center !important;
  padding:clamp(2px, .34vw, 6px) clamp(4px, .54vw, 10px) !important;
}
body[data-ui-theme] table.crmResizableTable td[data-column-key="status"] .statusBadge *,
body[data-ui-theme] table.crmResizableTable td[data-label="Status"] .statusBadge *,
body[data-ui-theme] table.crmResizableTable td[data-label="STATUS"] .statusBadge *,
body[data-ui-theme] table.crmResizableTable td[data-column-key="status"] .budgetStatusPill *,
body[data-ui-theme] table.crmResizableTable td[data-label="Status"] .budgetStatusPill *,
body[data-ui-theme] table.crmResizableTable td[data-label="STATUS"] .budgetStatusPill *{
  max-width:100% !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}
body[data-ui-theme] table.crmResizableTable .crmColUltraCompact td[data-column-key="status"] .statusBadge,
body[data-ui-theme] table.crmResizableTable td[data-column-key="status"].crmColUltraCompact .statusBadge,
body[data-ui-theme] table.crmResizableTable td[data-column-key="status"].crmColUltraCompact .statusCellBtn{
  font-size:var(--crm-col-font-size, 6px) !important;
}


/* CRM V1187 - Modo performance: reduz peso visual sem remover o visual premium */
body[data-ui-theme] table tbody td,
body[data-ui-theme] .dataTable tbody td,
body[data-ui-theme] .table tbody td,
body[data-ui-theme] table.tbl tbody td,
body[data-ui-theme] .ticketDataTable tbody td,
body[data-ui-theme] .dashboardDataTable tbody td,
body[data-ui-theme] .budgetListTable tbody td,
body[data-ui-theme] .employeeListTable tbody td,
body[data-ui-theme] .employeeCommissionTable tbody td,
body[data-ui-theme] .permissionSheetTable tbody td,
body[data-ui-theme] .receiptTable tbody td,
body[data-ui-theme] .providerTable tbody td,
body[data-ui-theme] .opTable tbody td{
  transition:background-color .08s ease, outline-color .08s ease !important;
  will-change:auto !important;
}
body[data-ui-theme] .crmDialog::backdrop{
  backdrop-filter:none !important;
}
body.isResizingColumns *{
  user-select:none !important;
}
body[data-ui-theme] .crmColumnResizingActive{
  filter:none !important;
  transform:none !important;
  box-shadow:inset 0 0 0 2px var(--warning, #ffd45b), inset 6px 0 0 var(--primary-2, #73baf7) !important;
}
@media (prefers-reduced-motion: reduce){
  body[data-ui-theme] *, body[data-ui-theme] *::before, body[data-ui-theme] *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
}

/* CRM V1188 - Loading premium por pagina com icone dinamico e tempo controlado */
.crmPageLoaderV1188{
  background:rgba(2,8,14,.70) !important;
  backdrop-filter:blur(7px) saturate(1.05) !important;
}
.crmPageLoaderCardV1188{
  width:min(370px,calc(100vw - 34px)) !important;
  min-height:218px !important;
  border-radius:30px !important;
}
.crmPageLoaderIconV1188{
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  font-size:35px !important;
  line-height:1 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.45), 0 0 18px rgba(255,255,255,.25) !important;
  user-select:none !important;
}
.crmPageLoaderCardV1188 strong{
  font-size:18px !important;
  text-transform:uppercase !important;
}
.crmPageLoaderCardV1188 span{
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
}
.crmPageLoaderCardV1188 i::before{
  animation-duration:1.35s !important;
}
@media(max-width:640px){
  .crmPageLoaderCardV1188{min-height:205px !important;padding:24px 18px !important;}
  .crmPageLoaderIconV1188{width:68px !important;height:68px !important;font-size:31px !important;}
}


/* CRM V1191 - sem acao de clique unico em cabecalhos/listas */
table thead th a.sortLink,
table thead th a[href*="sort="],
table thead th.isSortableTh,
table[data-finance-sortable] thead th,
.financeTable thead th{
  cursor:default!important;
}
table thead th a.sortLink,
table thead th a[href*="sort="]{
  text-decoration:none!important;
  color:inherit!important;
}
.isSortableTh::after{display:none!important;content:''!important;}
body.page-orcamento .budgetStylePicker{display:none!important;}


/* CRM V1192 - legibilidade global, hover forte e financeiro blindado */
body[data-ui-theme]{
  --crm-readable-dark-text:#06111f;
  --crm-readable-light-text:#f8fbff;
  --crm-readable-outline-dark:rgba(0,0,0,.72);
  --crm-readable-outline-light:rgba(255,255,255,.72);
  --crm-hover-readable-bg:color-mix(in srgb, var(--primary) 58%, #020817 42%);
  --crm-hover-readable-line:color-mix(in srgb, var(--primary-2) 66%, #ffd966 34%);
}

/* CRM V1449 - removida a regra antiga que forçava cor/sombra por linha e causava mudança de letras no hover. */

/* Financeiro: evita painel vazio/branco e força contraste em todas as abas dentro e fora do workspace. */
body.page-financeiro,
body.workspace-embed.page-financeiro{
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--primary) 26%, transparent), transparent 34%), linear-gradient(180deg,#050b18,#020712 72%,#01040a) !important;
  color:var(--crm-readable-light-text) !important;
}
body.page-financeiro .financeShell,
body.workspace-embed.page-financeiro .financeShell{
  min-height:calc(100vh - 26px) !important;
  padding:10px 10px 22px !important;
  color:var(--crm-readable-light-text) !important;
  background:transparent !important;
}
body.page-financeiro :is(.financeVaultHero,.financeBlueprintPanel,.financePanel,.partnerVaultPanel,.capitalGiroPanel,.financeCostCenterAlert,.financeQuickClosePanel),
body.workspace-embed.page-financeiro :is(.financeVaultHero,.financeBlueprintPanel,.financePanel,.partnerVaultPanel,.capitalGiroPanel,.financeCostCenterAlert,.financeQuickClosePanel){
  background:radial-gradient(circle at top left, rgba(115,186,247,.13), transparent 34%), linear-gradient(180deg, rgba(7,18,34,.98), rgba(3,9,20,.98)) !important;
  color:var(--crm-readable-light-text) !important;
  border:2px solid #000 !important;
  box-shadow:0 18px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.page-financeiro :is(.financeVaultHero,.financeBlueprintPanel,.financePanel,.partnerVaultPanel,.capitalGiroPanel,.financeCostCenterAlert,.financeQuickClosePanel) :is(h1,h2,h3,strong,span,small,p,td,th,label,a,button),
body.workspace-embed.page-financeiro :is(.financeVaultHero,.financeBlueprintPanel,.financePanel,.partnerVaultPanel,.capitalGiroPanel,.financeCostCenterAlert,.financeQuickClosePanel) :is(h1,h2,h3,strong,span,small,p,td,th,label,a,button){
  text-shadow:0 1px 0 rgba(0,0,0,.45);
}
body.page-financeiro .financeBlueprintGrid a,
body.page-financeiro .financeVaultCards article,
body.page-financeiro .financeCostCenterKpiCard,
body.workspace-embed.page-financeiro .financeBlueprintGrid a,
body.workspace-embed.page-financeiro .financeVaultCards article,
body.workspace-embed.page-financeiro .financeCostCenterKpiCard{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;
  color:var(--crm-readable-light-text) !important;
  border:2px solid #000 !important;
}
body.workspace-host-mode .workspaceFrame{
  color-scheme:dark !important;
  background:linear-gradient(180deg,#051020,#020711) !important;
}
body.workspace-host-mode .workspacePane.isActive .workspaceFrame{
  min-height:calc(100vh - 72px) !important;
  height:calc(100vh - 72px) !important;
}
body.workspace-host-mode .workspacePane.isActive::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  background:linear-gradient(180deg,#051020,#020711);
  z-index:-1;
}

/* Diagnóstico ADMX em TXT */
.diagnosticTxtHint{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:800}
.diagnosticRouteGrid{display:grid;gap:10px}

/* CRM V1449 - bloco antigo de hover neon removido na origem. */

/* CRM V1193 - financeiro sempre com fundo escuro do tema, nunca painel branco vazio */
body.page-financeiro .workspaceFrame,
body.page-financeiro .workspaceFrameInner,
body.page-financeiro .pageContent,
body.page-financeiro .content,
body.page-financeiro main,
body.page-financeiro .financeShell{
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg-panel,#071523) 94%, #000 6%), color-mix(in srgb, var(--bg,#020617) 96%, #000 4%))!important;
  color:var(--text,#f8fbff)!important;
}
body.page-financeiro .financeShell:empty::before{
  content:'Carregando Financeiro...';
  display:block;
  min-height:280px;
  padding:34px;
  border:2px solid #000;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  color:var(--text,#f8fbff);
  font-weight:1000;
}
body.page-financeiro .panel,
body.page-financeiro .financePanel,
body.page-financeiro .financeVaultHero{
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg-panel,#071523) 92%, #000 8%), color-mix(in srgb, var(--bg-panel-2,#050b16) 92%, #000 8%))!important;
  color:var(--text,#f8fbff)!important;
}


/* CRM V1449 - bloco antigo de hover ouro removido na origem. */

/* CRM V1201 - Hero sem titulo duplicado e topbar dos gastos sem sobreposicao */
body.page-financeiro .financeVaultHeroMinimal,
body.workspace-embed.page-financeiro .financeVaultHeroMinimal{
  padding-top:14px !important;
  padding-bottom:14px !important;
}
body.page-financeiro .financeHeroUtilityRow,
body.workspace-embed.page-financeiro .financeHeroUtilityRow{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:4px !important;
}
body.page-financeiro .financeHeroUtilityInfo,
body.workspace-embed.page-financeiro .financeHeroUtilityInfo{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
body.page-financeiro .financeFiltersCompact,
body.workspace-embed.page-financeiro .financeFiltersCompact{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  gap:10px !important;
}
body.page-financeiro .financeFiltersCompact > label,
body.workspace-embed.page-financeiro .financeFiltersCompact > label{
  flex:0 1 150px !important;
  min-width:130px !important;
}
body.page-financeiro .financeFiltersCompact > .financeSearchInline,
body.workspace-embed.page-financeiro .financeFiltersCompact > .financeSearchInline{
  flex:1 1 320px !important;
  min-width:260px !important;
}
body.page-financeiro .financeFiltersCompact > :is(.btn,.financeFilterChipHost),
body.workspace-embed.page-financeiro .financeFiltersCompact > :is(.btn,.financeFilterChipHost){
  flex:0 0 auto !important;
}
body.page-financeiro .financePanel .sectionHeader.simple,
body.workspace-embed.page-financeiro .financePanel .sectionHeader.simple{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
body.page-financeiro .financePanel .sectionHeader.simple > div,
body.workspace-embed.page-financeiro .financePanel .sectionHeader.simple > div{
  flex:1 1 320px !important;
  min-width:0 !important;
}
body.page-financeiro .financePanel .sectionHeader.simple > .btn,
body.workspace-embed.page-financeiro .financePanel .sectionHeader.simple > .btn{
  flex:0 0 auto !important;
  margin-left:auto !important;
}
body.page-financeiro .financeSearchWrap,
body.workspace-embed.page-financeiro .financeSearchWrap{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  clear:both !important;
}
body.page-financeiro .financeSearchWrap input[type="search"],
body.workspace-embed.page-financeiro .financeSearchWrap input[type="search"]{
  flex:1 1 360px !important;
  min-width:240px !important;
}
body.page-financeiro .financeSearchWrap > :not(input[type="search"]),
body.workspace-embed.page-financeiro .financeSearchWrap > :not(input[type="search"]){
  flex:0 0 auto !important;
}
@media (max-width: 980px){
  body.page-financeiro .financeFiltersCompact > label,
  body.workspace-embed.page-financeiro .financeFiltersCompact > label,
  body.page-financeiro .financeFiltersCompact > .financeSearchInline,
  body.workspace-embed.page-financeiro .financeFiltersCompact > .financeSearchInline,
  body.page-financeiro .financeSearchWrap input[type="search"],
  body.workspace-embed.page-financeiro .financeSearchWrap input[type="search"]{
    flex:1 1 100% !important;
    min-width:0 !important;
  }
  body.page-financeiro .financePanel .sectionHeader.simple > .btn,
  body.workspace-embed.page-financeiro .financePanel .sectionHeader.simple > .btn{
    margin-left:0 !important;
  }
}


/* CRM V1202 - separacao do filtro superior e alinhamento dos botoes */
body.page-financeiro .financeVaultHeroMinimal,
body.workspace-embed.page-financeiro .financeVaultHeroMinimal{
  position:relative !important;
  z-index:3 !important;
  margin-bottom:16px !important;
}
body.page-financeiro .financeVaultHeroMinimal .financeFiltersCompact,
body.workspace-embed.page-financeiro .financeVaultHeroMinimal .financeFiltersCompact{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  row-gap:10px !important;
  column-gap:10px !important;
}
body.page-financeiro .financeVaultHeroMinimal .financeFiltersCompact > label,
body.workspace-embed.page-financeiro .financeVaultHeroMinimal .financeFiltersCompact > label{
  display:grid !important;
  gap:6px !important;
  align-content:start !important;
}
body.page-financeiro .financeVaultHeroMinimal .financeFiltersCompact input,
body.page-financeiro .financeVaultHeroMinimal .financeFiltersCompact select,
body.workspace-embed.page-financeiro .financeVaultHeroMinimal .financeFiltersCompact input,
body.workspace-embed.page-financeiro .financeVaultHeroMinimal .financeFiltersCompact select{
  width:100% !important;
}
body.page-financeiro .financePanel .sectionHeader.simple,
body.workspace-embed.page-financeiro .financePanel .sectionHeader.simple{
  margin-bottom:12px !important;
}
body.page-financeiro .financePanel .sectionHeader.simple > .btn,
body.workspace-embed.page-financeiro .financePanel .sectionHeader.simple > .btn{
  align-self:flex-start !important;
}
body.page-financeiro .financePanel .sectionHeader.simple + .financeSearchWrap,
body.workspace-embed.page-financeiro .financePanel .sectionHeader.simple + .financeSearchWrap{
  margin-top:0 !important;
}
body.page-financeiro .financePanel .financeSearchWrap,
body.workspace-embed.page-financeiro .financePanel .financeSearchWrap{
  align-items:center !important;
}
body.page-financeiro .financePanel .financeSearchWrap .btn,
body.workspace-embed.page-financeiro .financePanel .financeSearchWrap .btn{
  align-self:center !important;
}


/* CRM v1206: no +OS/orcamento, o campo ESCOPO deve permanecer com fundo claro e texto preto em qualquer tema. */
body.page-orcamento .budgetScopeRichEditor,
body.page-orcamento .budgetScopeRichEditor *,
body.page-orcamento #budgetScopeEditor,
body.page-orcamento #budgetScopeEditor *{
  color:#111827 !important;
  caret-color:#111827 !important;
}
body.theme-dark.page-orcamento .budgetScopeRichEditor,
body.theme-dark.page-orcamento .budgetScopeRichEditor *,
body.theme-dark.page-orcamento #budgetScopeEditor,
body.theme-dark.page-orcamento #budgetScopeEditor *{
  background:#ffffff !important;
  color:#111827 !important;
  caret-color:#111827 !important;
}
body.theme-dark.page-orcamento .budgetScopeRichEditor:empty:before{
  color:#64748b !important;
}


/* CRM v1209: remover botoes visuais de Auditoria de todas as telas */
a[href*="audit_view.php"],
a[href*="/audit_view.php"],
a.crmAuditBtn,
.crmAuditBtn,
#userHistoryAuditLink {
  display:none !important;
}


/* CRM V1212 - Validação de serviço opcional e aviso visual */
.serviceValidationOptionalNotice {
  border-color: rgba(120, 190, 255, .42) !important;
  background: linear-gradient(135deg, rgba(51, 112, 255, .14), rgba(12, 19, 38, .92)) !important;
  box-shadow: inset 0 0 24px rgba(98, 168, 255, .08), 0 0 18px rgba(91, 154, 255, .08);
}
.serviceValidationOptionalNotice span {
  color: #9fd2ff;
}
.serviceValidationOptionalNotice strong {
  color: #eaf4ff;
}
#serviceValidationSubmitBtn:disabled {
  opacity: .78;
  cursor: wait;
  filter: saturate(.95);
}

/* CRM V1213 - toolbar do escopo sempre preta, sem troca de cor no hover */
body.page-orcamento .budgetScopeToolbar .scopeToolBtn,
body.page-orcamento .budgetScopeToolbar .scopeToolBtn.markYellow,
body.page-orcamento .budgetScopeToolbar .scopeToolBtn.markGreen,
body.page-orcamento .budgetScopeToolbar .scopeToolBtn.markBlue,
body.page-orcamento .budgetScopeToolbar .scopeToolBtn.ghost,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn.markYellow,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn.markGreen,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn.markBlue,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn.ghost,
body.page-orcamento .budgetScopeToolbar #budgetScopeFontSize,
body.theme-dark.page-orcamento .budgetScopeToolbar #budgetScopeFontSize{
  background:#050505!important;
  color:#ffffff!important;
  border-color:#000000!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
  text-shadow:none!important;
  outline:none!important;
}
body.page-orcamento .budgetScopeToolbar .scopeToolBtn:hover,
body.page-orcamento .budgetScopeToolbar .scopeToolBtn:focus,
body.page-orcamento .budgetScopeToolbar .scopeToolBtn:active,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn:hover,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn:focus,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn:active,
body.page-orcamento .budgetScopeToolbar #budgetScopeFontSize:hover,
body.page-orcamento .budgetScopeToolbar #budgetScopeFontSize:focus,
body.theme-dark.page-orcamento .budgetScopeToolbar #budgetScopeFontSize:hover,
body.theme-dark.page-orcamento .budgetScopeToolbar #budgetScopeFontSize:focus{
  border-color:#000000!important;
  transform:none!important;
  transition:none!important;
  outline:none!important;
}
body.page-orcamento .budgetScopeToolbar .scopeToolBtn *,
body.theme-dark.page-orcamento .budgetScopeToolbar .scopeToolBtn *{
  color:#ffffff!important;
  background:transparent!important;
}

/* CRM_V1247 - ajustes de cabeçalho e diálogos */
.dialogHeaderActionsInline{display:flex;align-items:center;gap:10px;}
.ticketMainHeaderActions{display:flex;align-items:center;gap:8px;margin-left:auto;}

/* CRM V1254 - progresso discreto ao salvar +OS */
.budgetSaveProgress{display:grid;gap:7px;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(115,186,247,.22);border-radius:16px;background:linear-gradient(180deg,rgba(115,186,247,.10),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.budgetSaveProgress[hidden]{display:none!important}
.budgetSaveProgressTop{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#dfefff;font-weight:1000;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.budgetSaveProgressTop span{color:#9fbadd;font-size:.74rem;font-weight:900;text-transform:none;letter-spacing:0;text-align:right}
.budgetSaveProgressTrack{height:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11)}
.budgetSaveProgressTrack span{display:block;width:4%;height:100%;border-radius:999px;background:linear-gradient(90deg,#73baf7,#ffd366,#74f8a6);box-shadow:0 0 18px rgba(115,186,247,.30);transition:width .55s ease}
#budgetFormMain.budgetSavingActive{position:relative}
#budgetFormMain.budgetSavingActive button[type="submit"],#budgetFormMain.budgetSavingActive input[type="submit"]{cursor:progress;opacity:.82}

/* CRM V1265 - padrão global: coluna Ações/Ação fixa quando é a primeira coluna */
table.crmStickyActionsReady{border-collapse:separate;border-spacing:0;}
table.crmStickyActionsReady th.crmStickyActionsCol,
table.crmStickyActionsReady td.crmStickyActionsCol{position:sticky;left:0;z-index:4;background:linear-gradient(180deg,#071524,#05101d);box-shadow:6px 0 12px rgba(0,0,0,.22);}
table.crmStickyActionsReady thead th.crmStickyActionsCol{z-index:8;background:#071b31;color:#fff;}
table.crmStickyActionsReady tbody tr:nth-child(even) td.crmStickyActionsCol{background:#dce9ff;color:#06101f;}


/* CRM V1453 - limpeza estrutural: linhas antigas com cor manual nao alteram contraste nem hover. */
body[data-ui-theme]{
  --crm-table-row-hover: var(--crm-table-row-odd, var(--crm-row-odd));
  --crm-table-hover-accent: transparent;
}
html body[data-ui-theme] :is(table,.dataTable,.ticketDataTable,.dashboardDataTable,.budgetListTable,.financeTable,.opTable,.providerTable,.employeeListTable,.receiptTable,.permissionSheetTable) tbody tr:hover > td{
  background-image:none !important;
  text-shadow:none !important;
  filter:none !important;
}
html body[data-ui-theme] tr.rowThemeCustom > td,
html body[data-ui-theme] tr.rowSpecialGlow > td,
html body[data-ui-theme] tr[class*="rowTheme-"] > td{
  background-image:none !important;
  text-shadow:none !important;
  animation:none !important;
  filter:none !important;
}
html body[data-ui-theme] tr.rowThemeCustom > td *,
html body[data-ui-theme] tr.rowSpecialGlow > td *,
html body[data-ui-theme] tr[class*="rowTheme-"] > td *{
  text-shadow:none !important;
  filter:none !important;
}

/* CRM_V1882 - Destaque de parcelas pendentes sincronizadas com a data fim da OS */
.costRowCard.costRowSyncedWithEndDate {
  background: linear-gradient(135deg, rgba(255, 230, 120, .28), rgba(255, 245, 190, .16));
  border-color: rgba(255, 214, 80, .78);
  box-shadow: 0 0 0 1px rgba(255, 214, 80, .28), 0 10px 28px rgba(255, 205, 70, .08);
}

.costRowCard.costRowSyncedWithEndDate .costState::after {
  content: "Sincronizada com a data fim";
  display: inline-flex;
  margin-left: .45rem;
  padding: .18rem .48rem;
  border-radius: 999px;
  background: rgba(255, 221, 90, .26);
  color: #ffe28a;
  border: 1px solid rgba(255, 221, 90, .42);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .02em;
}

/* CRM_V1885 - ajustes do Ponto: largura, pendências, popup e anexos */
body.page-ponto .mainContent{overflow-x:auto!important;padding-right:14px!important;box-sizing:border-box;}
body.page-ponto .pontoHero,
body.page-ponto .pontoPanel{max-width:100%!important;box-sizing:border-box;overflow:hidden!important;}
body.page-ponto .sectionHeader.simple{min-width:0;max-width:100%;gap:12px;flex-wrap:wrap;}
body.page-ponto .sectionHeader.simple > div{min-width:0;}
body.page-ponto .pontoEmployeeFilter{min-width:0;max-width:100%;}
body.page-ponto .pontoEmployeeFilter select,
body.page-ponto .pontoEmployeeFilter input{min-width:0;max-width:100%;}
body.page-ponto .financeTableWrap{max-width:100%;overflow:auto;}
body.page-ponto .pontoAllOverview,
body.page-ponto .pontoEmployeeKpiGrid,
body.page-ponto .pontoAllSummaryCards,
body.page-ponto .pontoTodayGrid,
body.page-ponto .pontoPunchPanel{max-width:100%;min-width:0;box-sizing:border-box;}
body.page-ponto .pontoAllSummaryCards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
body.page-ponto .pontoEmployeeKpiGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
body.page-ponto .pontoResolveHours{display:block;margin-top:4px;color:#bcd7fa;font-weight:1000;text-transform:uppercase;letter-spacing:.03em;}
body.page-ponto .pontoAttachmentAsk{margin:10px 0;padding:12px;border:1px solid rgba(80,190,255,.28);border-radius:16px;background:rgba(80,190,255,.08);display:grid;gap:8px;}
body.page-ponto .pontoAttachmentAsk[hidden]{display:none!important;}
body.page-ponto .pontoAttachmentAsk strong{color:#fff;font-weight:1000;}
body.page-ponto .pontoAttachmentAsk span{color:#bcd7fa;font-weight:800;font-size:.86rem;}
body.page-ponto .pontoAttachmentAsk input[type=file]{border-style:dashed;background:rgba(4,13,25,.72);}
body.page-ponto .pontoAttachmentLinks{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
body.page-ponto .pontoAttachmentLinks a{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(80,190,255,.30);border-radius:999px;padding:4px 8px;background:rgba(80,190,255,.10);color:#bde7ff;font-weight:900;font-size:.78rem;text-decoration:none;}
body.page-ponto .pontoPendingKind{display:inline-flex;border:1px solid rgba(255,216,102,.35);border-radius:999px;padding:4px 8px;background:rgba(255,216,102,.12);color:#ffe08a;font-weight:1000;font-size:.78rem;white-space:nowrap;}
body.page-ponto .pontoPendingCompactPanel small,
body.page-ponto .pontoUnifiedTable small{color:#9db7da;font-weight:900;}
@media(max-width:1200px){
  body.page-ponto .pontoResolveQuickActions{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.page-ponto .pontoResolveForm .formGrid.fourCols{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
  body.page-ponto .mainContent{padding-left:8px!important;padding-right:8px!important;}
  body.page-ponto .pontoHero,
  body.page-ponto .pontoPanel{padding:14px!important;border-radius:18px!important;}
  body.page-ponto .pontoAllSummaryCards,
  body.page-ponto .pontoEmployeeKpiGrid,
  body.page-ponto .pontoResolveQuickActions,
  body.page-ponto .pontoResolveForm .formGrid.fourCols{grid-template-columns:1fr!important;}
}

/* CRM_V1887 - Organização do Ponto, justificativas e horário real ADMX */
body.page-ponto .mainContent{
  overflow-x:hidden!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.page-ponto .panel,
body.page-ponto .pontoHero,
body.page-ponto .pontoPanel{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
body.page-ponto .pontoHero{padding:22px!important;}
body.page-ponto .pontoHero .sectionHeader.simple{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(280px,560px)!important;
  align-items:start!important;
  gap:18px!important;
}
body.page-ponto .pontoEmployeeFilter{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:center!important;
}
body.page-ponto .pontoEmployeeFilter .btn,
body.page-ponto .pontoEmployeeFilter select,
body.page-ponto .pontoEmployeeFilter input{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.page-ponto .financeTableWrap{
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
  border-radius:16px!important;
}
body.page-ponto .financeTableWrap .financeTable{
  width:100%!important;
  min-width:860px!important;
}
body.page-ponto .pontoMissingTodayPanel .sectionHeader p,
body.page-ponto .pontoPanel .sectionHeader p,
body.page-ponto .pontoHero .sectionHeader p{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  line-height:1.35!important;
}
body.page-ponto .pontoMissingGrid,
body.page-ponto .pontoEmployeeKpiGrid,
body.page-ponto .pontoAllSummaryCards,
body.page-ponto .pontoBankGrid{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.page-ponto .pontoDeclaredTime{
  display:block;
  color:#fff;
  font-weight:1000;
  line-height:1.05;
}
body.page-ponto .pontoRealTime,
body.page-ponto .pontoRealInputStamp{
  display:block;
  margin-top:3px;
  color:#69d7ff!important;
  font-size:.70rem!important;
  font-weight:1000!important;
  letter-spacing:.02em;
  text-transform:uppercase;
  line-height:1.1;
}
body.page-ponto .pontoRealInputStamp:empty{display:none!important;}
body.page-ponto .pontoJustificationChip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:0 6px 4px 0;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(105,215,255,.38);
  background:rgba(105,215,255,.12);
  color:#bfefff;
  font-size:.74rem;
  font-weight:1000;
  white-space:nowrap;
}
body.page-ponto .pontoJustifyBox{
  margin:12px 0;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(105,215,255,.30);
  background:linear-gradient(135deg,rgba(7,30,48,.92),rgba(12,22,39,.92));
  display:grid;
  gap:12px;
}
body.page-ponto .pontoJustifyBox[hidden]{display:none!important;}
body.page-ponto .pontoJustifyHead{display:grid;gap:4px;}
body.page-ponto .pontoJustifyHead strong{font-size:1rem;color:#fff;font-weight:1000;}
body.page-ponto .pontoJustifyHead span{color:#bcd7fa;font-weight:800;font-size:.85rem;}
body.page-ponto .pontoJustifyOptions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px;
}
body.page-ponto .pontoJustifyOptions label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,216,102,.28);
  background:rgba(255,216,102,.08);
  color:#fff!important;
  cursor:pointer;
  text-transform:none!important;
  font-size:.88rem!important;
}
body.page-ponto .pontoJustifyOptions input{min-height:auto!important;width:auto!important;accent-color:#ffd966;}
body.page-ponto .pontoNewJustifyWrap,
body.page-ponto .pontoDropWrap{display:grid!important;gap:7px!important;}
body.page-ponto .pontoNewJustifyWrap[hidden]{display:none!important;}
body.page-ponto .pontoDropZone{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:70px;
  padding:14px;
  border:2px dashed rgba(105,215,255,.38);
  border-radius:16px;
  background:rgba(105,215,255,.07);
  color:#d7f5ff;
  font-weight:1000;
  text-align:center;
  cursor:pointer;
}
body.page-ponto .pontoDropZone.dragging{
  border-color:#ffd966;
  background:rgba(255,217,102,.14);
  color:#fff1b8;
}
body.page-ponto .pontoDropWrap input[type=file]{display:none!important;}
body.page-ponto [data-ponto-file-name]{color:#9db7da;font-weight:900;font-size:.78rem;}
body.page-ponto .pontoDailyReviewDialog{width:min(1240px,96vw)!important;}
body.page-ponto .pontoDailyReviewTableWrap .financeTable{min-width:980px!important;}
@media(max-width:1180px){
  body.page-ponto .pontoHero .sectionHeader.simple{grid-template-columns:1fr!important;}
  body.page-ponto .pontoEmployeeFilter{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  body.page-ponto .pontoEmployeeFilter,
  body.page-ponto .pontoJustifyOptions{grid-template-columns:1fr!important;}
  body.page-ponto .financeTableWrap .financeTable{min-width:760px!important;}
}

/* CRM V1898 - menu de ações compacto, com identificação e contador de fotos do prestador */
.crmActionsIconBtn{position:relative;display:inline-flex;align-items:center;justify-content:center;}
.crmActionPhotoBadge{position:absolute;top:-8px;right:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff355d;color:#fff;font-size:10px;font-weight:900;line-height:18px;text-align:center;border:2px solid rgba(6,16,27,.95);box-shadow:0 5px 14px rgba(255,53,93,.38);}
.actionsDropdown{max-height:calc(100vh - 24px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;}
.actionsDropdown.open{gap:3px;align-items:center;justify-items:stretch;}
.crmActionsDropdownMeta{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;margin:0 0 4px;padding:4px;border-radius:10px;background:rgba(69,180,255,.10);border:1px solid rgba(120,208,255,.24);}
.crmActionsDropdownMeta span{display:inline-flex;align-items:center;justify-content:center;max-width:86px;min-height:18px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.06);font-size:9px;font-weight:900;color:#dff4ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.menuAction{display:flex;align-items:center;justify-content:center;gap:5px;min-height:24px;padding:5px 7px;font-size:10px;line-height:1.05;}
.menuAction .menuIcon{min-width:14px;font-size:13px;}
.iconBtn,.btn{align-items:center;justify-content:center;}

/* CRM V1899 - cor do contador de fotos no botão Ações */
.crmActionPhotoBadge.isPending{
  background:linear-gradient(135deg,#ff355d,#ff9f1a)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(255,92,64,.48),0 0 0 3px rgba(255,159,26,.14)!important;
}
.crmActionPhotoBadge.isReviewed{
  background:linear-gradient(135deg,#12c77a,#45b4ff)!important;
  color:#06111c!important;
  box-shadow:0 6px 16px rgba(18,199,122,.32),0 0 0 3px rgba(69,180,255,.12)!important;
}
.providerReviewAllForm{display:grid;gap:14px;}
.providerStageActions .providerBtn{white-space:nowrap;}
@media(max-width:760px){
  .providerStageActions{display:flex;flex-wrap:wrap;gap:7px;}
  .providerStageActions .providerBtn{flex:1 1 160px;}
}

/* CRM V1900 - Execução/Finalizados KPIs e botões compactos */
.ticketDetailTotals{grid-template-columns:repeat(4,minmax(120px,1fr));}
.executionStageNav .badge{margin-left:4px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(124,241,180,.16);border:1px solid rgba(124,241,180,.36);color:#dfffe9;font-weight:1000;font-size:10px;}
.btn,.menuAction,.iconBtn{align-items:center;justify-content:center;text-align:center;}
@media(max-width:760px){.ticketDetailTotals{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* CRM V1901 - ajustes visuais solicitados: ticket sem ícone, ações compactas premium e limpeza removida */
.ticketExternalLinkNoIcon,
.ticketDataTable td.colTicket .ticketExternalLink{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  width:100%!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.ticketExternalLinkNoIcon span,
.ticketDataTable td.colTicket .ticketExternalLink span[aria-hidden="true"]{display:none!important;}
.actionsDropdown,
#globalActionsMenu{
  border:2px solid rgba(255,216,102,.76)!important;
  box-shadow:0 0 0 1px rgba(255,216,102,.18),0 0 22px rgba(255,216,102,.30),0 24px 52px rgba(0,0,0,.52)!important;
  padding:7px!important;
  border-radius:18px!important;
}
.actionsDropdown.open{align-items:stretch!important;justify-items:stretch!important;gap:4px!important;}
.actionsDropdown .menuAction,
#globalActionsMenu .menuAction,
.actionsDropdown .menuForm .menuAction{
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:5px 9px!important;
  line-height:1!important;
  border-radius:11px!important;
  border:1px solid rgba(105,215,255,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,216,102,.06)!important;
  white-space:nowrap!important;
}
.actionsDropdown .menuForm{display:block!important;width:100%!important;margin:0!important;}
.crmActionsDropdownMeta{
  min-height:24px!important;
  margin-bottom:5px!important;
  border-color:rgba(255,216,102,.30)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 12px rgba(105,215,255,.12)!important;
}
.crmHistoricofTopPanel{display:none!important;}
.crmFilterClearMini,
.crmColumnMenuBtn[data-column-filter-clear]{display:none!important;}

/* CRM V1902 - brilho vermelho suave em OS com evidência nova pendente */
.ticketDataTable tr.rowProviderEvidencePending,
.financeTable tr.rowProviderEvidencePending,
table tr.rowProviderEvidencePending{
  position:relative;
  box-shadow:inset 4px 0 0 rgba(255,53,93,.85),0 0 18px rgba(255,53,93,.20)!important;
  animation:crmProviderEvidenceSoftGlow 2.6s ease-in-out infinite;
}
.ticketDataTable tr.rowProviderEvidencePending td,
.financeTable tr.rowProviderEvidencePending td{
  background-image:linear-gradient(90deg,rgba(255,53,93,.18),rgba(255,53,93,.04) 34%,transparent 70%)!important;
}
@keyframes crmProviderEvidenceSoftGlow{
  0%,100%{box-shadow:inset 4px 0 0 rgba(255,53,93,.82),0 0 12px rgba(255,53,93,.16)}
  50%{box-shadow:inset 4px 0 0 rgba(255,53,93,1),0 0 24px rgba(255,53,93,.32)}
}


/* CRM V1903 - remoção definitiva de ícones na coluna Ticket */
.ticketDataTable td.colTicket a,
.ticketDataTable td[data-column-key="ticket"] a,
a.ticketExternalLink,
a.ticketExternalLinkNoIcon,
a[data-crm-external-ticket-link]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.ticketDataTable td.colTicket a::before,
.ticketDataTable td.colTicket a::after,
.ticketDataTable td[data-column-key="ticket"] a::before,
.ticketDataTable td[data-column-key="ticket"] a::after,
a.ticketExternalLink::before,
a.ticketExternalLink::after,
a.ticketExternalLinkNoIcon::before,
a.ticketExternalLinkNoIcon::after,
a[data-crm-external-ticket-link]::before,
a[data-crm-external-ticket-link]::after{
  content:none!important;
  display:none!important;
}
.ticketDataTable td.colTicket a > .menuIcon,
.ticketDataTable td.colTicket a > .btnIcon,
.ticketDataTable td.colTicket a > .navIcon,
.ticketDataTable td.colTicket a > [aria-hidden="true"],
.ticketDataTable td.colTicket a > svg,
.ticketDataTable td.colTicket a > i,
.ticketDataTable td[data-column-key="ticket"] a > .menuIcon,
.ticketDataTable td[data-column-key="ticket"] a > .btnIcon,
.ticketDataTable td[data-column-key="ticket"] a > .navIcon,
.ticketDataTable td[data-column-key="ticket"] a > [aria-hidden="true"],
.ticketDataTable td[data-column-key="ticket"] a > svg,
.ticketDataTable td[data-column-key="ticket"] a > i{
  display:none!important;
}


/* CRM V1904 - remover avisos/chips de filtros ativos de todo CRM */
.crmFilterChipsBar,
.crmFilterCountChip,
.crmFilterChipList,
.crmFilterChip,
[data-filter-chip-host] > .crmFilterChipsBar{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* CRM V1906 - aviso discreto orçamento aprovado aguardando execução */
.budgetExecSyncWarning{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:min(520px, 100%);
  padding:7px 10px;
  border:1px solid rgba(255, 210, 91, .34);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255, 213, 94, .12), rgba(9, 20, 34, .28));
  color:var(--text, #f7fafc);
  font-size:11px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(0,0,0,.16);
  white-space:nowrap;
}
.budgetExecSyncWarning strong{color:#ffdc73;font-weight:1000;}
.budgetExecSyncWarning a{
  color:#62efff;
  text-decoration:none;
  font-weight:1000;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(98,239,255,.10);
  border:1px solid rgba(98,239,255,.22);
}
.budgetExecSyncWarning a:hover{background:rgba(98,239,255,.18);}
.budgetExecSyncDot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ffcf4a;
  box-shadow:0 0 12px rgba(255,207,74,.75);
  flex:0 0 auto;
}
@media (max-width: 760px){
  .budgetExecSyncWarning{white-space:normal;border-radius:18px;line-height:1.25;}
}

/* CRM V1907 - Ticket 100% sem ícone/bolinha/globo na coluna */
.ticketDataTable td.colTicket,
.ticketDataTable td[data-column-key="ticket"]{
  text-align:center!important;
}
.ticketDataTable td.colTicket .ticketPlainNumber,
.ticketDataTable td[data-column-key="ticket"] .ticketPlainNumber,
.ticketDataTable td.colTicket a,
.ticketDataTable td[data-column-key="ticket"] a{
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-decoration:none!important;
  color:inherit!important;
  line-height:1.05!important;
}
.ticketDataTable td.colTicket *::before,
.ticketDataTable td.colTicket *::after,
.ticketDataTable td[data-column-key="ticket"] *::before,
.ticketDataTable td[data-column-key="ticket"] *::after,
.ticketDataTable td.colTicket::before,
.ticketDataTable td.colTicket::after,
.ticketDataTable td[data-column-key="ticket"]::before,
.ticketDataTable td[data-column-key="ticket"]::after{
  content:none!important;
  display:none!important;
}
.ticketDataTable td.colTicket .menuIcon,
.ticketDataTable td.colTicket .btnIcon,
.ticketDataTable td.colTicket .navIcon,
.ticketDataTable td.colTicket svg,
.ticketDataTable td.colTicket i,
.ticketDataTable td[data-column-key="ticket"] .menuIcon,
.ticketDataTable td[data-column-key="ticket"] .btnIcon,
.ticketDataTable td[data-column-key="ticket"] .navIcon,
.ticketDataTable td[data-column-key="ticket"] svg,
.ticketDataTable td[data-column-key="ticket"] i{
  display:none!important;
}

/* CRM V1932 - OS/Ticket mexido sobe visualmente para o topo da lista. */
.crmActivityMovedTop{
  animation:crmActivityMovedTopPulse 2.1s ease-out 1;
  outline:2px solid rgba(121,245,190,.75)!important;
  box-shadow:0 0 22px rgba(121,245,190,.35)!important;
}
@keyframes crmActivityMovedTopPulse{
  0%{transform:translateY(-4px);filter:brightness(1.28)}
  55%{transform:translateY(0);filter:brightness(1.12)}
  100%{transform:none;filter:none}
}

/* CRM_V1939 - Modal de pagamento integrado ao Extrato */
.extratoPaymentOverlay{position:fixed;inset:0;z-index:99990;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.68);backdrop-filter:blur(6px);padding:18px}
.extratoPaymentOverlay.isOpen{display:flex}
.extratoPaymentBox{width:min(920px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(255,211,83,.65);border-radius:24px;background:linear-gradient(145deg,#120b02,#1e1608 60%,#09131f);box-shadow:0 24px 90px rgba(0,0,0,.62),0 0 34px rgba(255,211,83,.18);padding:22px;color:#fff7d6}
.extratoPaymentHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.extratoPaymentHead span{display:block;text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.13em;color:#ffd96b}.extratoPaymentHead h3{margin:.25rem 0 0;font-size:1.45rem}.extratoPaymentClose{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:14px;width:42px;height:42px;font-size:28px;line-height:1;cursor:pointer}.extratoPaymentSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0 18px}.extratoPayCard{border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:13px;background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.extratoPayCard span{display:block;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.08em;color:#e8d8a7}.extratoPayCard strong{display:block;font-size:1.25rem;margin-top:5px}.extratoPayCard small{display:block;color:#d7c9a3;margin-top:4px}.extratoPayColor-gold{border-color:rgba(255,210,76,.65)!important;box-shadow:0 0 18px rgba(255,210,76,.13)}.extratoPayColor-purple{border-color:rgba(184,116,255,.65)!important;box-shadow:0 0 18px rgba(184,116,255,.13)}.extratoPayColor-blue{border-color:rgba(72,166,255,.65)!important;box-shadow:0 0 18px rgba(72,166,255,.13)}.extratoPayColor-green{border-color:rgba(68,230,145,.65)!important;box-shadow:0 0 18px rgba(68,230,145,.13)}.extratoPayColor-cyan{border-color:rgba(58,219,255,.65)!important;box-shadow:0 0 18px rgba(58,219,255,.13)}.extratoPayColor-red{border-color:rgba(255,94,94,.65)!important;box-shadow:0 0 18px rgba(255,94,94,.13)}.extratoPayColor-orange{border-color:rgba(255,154,61,.65)!important;box-shadow:0 0 18px rgba(255,154,61,.13)}.extratoPaymentFields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.extratoPaymentFields label{display:flex;flex-direction:column;gap:7px;text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.06em;color:#f3d88a}.extratoPaymentFields select{width:100%;border-radius:16px;border:1px solid rgba(255,211,83,.45);background:#120b02;color:#fff;padding:13px 14px;font-weight:900}.extratoPaymentSelect.extratoPayColor-gold{background:linear-gradient(90deg,rgba(255,210,76,.2),rgba(18,11,2,.95))}.extratoPaymentSelect.extratoPayColor-purple{background:linear-gradient(90deg,rgba(184,116,255,.2),rgba(18,11,2,.95))}.extratoPaymentSelect.extratoPayColor-blue{background:linear-gradient(90deg,rgba(72,166,255,.2),rgba(18,11,2,.95))}.extratoPaymentSelect.extratoPayColor-green{background:linear-gradient(90deg,rgba(68,230,145,.2),rgba(18,11,2,.95))}.extratoPaymentHint{margin:14px 0 0;color:#ddcc9b;font-weight:800}.extratoPaymentActions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}

/* CRM_V1940 - ajustes Extrato/B.NF/Execução */
.financeBnfAutoDistribHint{display:inline-flex;align-items:center;min-height:36px;border:1px solid rgba(80,190,255,.35);border-radius:14px;padding:7px 12px;background:rgba(16,28,48,.82);color:#d8f3ff;font-weight:900;font-size:12px;max-width:360px}
.costAccountSelectorField select.ticketCostAccountSelect{min-height:46px;border:1px solid rgba(80,190,255,.45);box-shadow:0 0 0 1px rgba(255,214,107,.18),0 0 20px rgba(80,190,255,.12)}
.costAccountHint{display:block;margin-top:5px;color:#9fdcff;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.02em}
.extratoBalanceMiniBox{align-content:start;gap:6px!important}
.extratoBalanceMiniBox small{display:block;color:#bcd7ff;font-size:11px;font-weight:800;line-height:1.25}
.extratoPeriodAdjust{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;padding:8px;border:1px dashed rgba(80,190,255,.35);border-radius:12px;background:rgba(80,190,255,.06)}
.extratoPeriodAdjust em{grid-column:1/-1;color:#ffd66b;font-style:normal;font-weight:900;font-size:11px;text-transform:uppercase}
.extratoPeriodAdjust input{min-width:0!important}

/* CRM_V1941 - Extrato: pagamentos de gastos/funcionários com saldo e conta colorida */
.financeExtratoPayNote{border:1px solid rgba(80,210,255,.35);background:rgba(14,44,70,.38);color:#dff7ff;border-radius:14px;padding:10px 12px;font-weight:800;line-height:1.35}
.extratoPaymentWarning{margin-top:14px;border:1px solid rgba(255,84,84,.72);background:linear-gradient(135deg,rgba(90,8,8,.72),rgba(35,10,10,.58));color:#ffe4e4;border-radius:16px;padding:12px 14px;font-weight:900;box-shadow:0 0 20px rgba(255,60,60,.15)}
.extratoPaymentWarning strong{display:block;margin-bottom:4px;color:#fff}.extratoPaymentWarning span{display:block;color:#ffd6d6;font-size:.92rem}
.extratoPaymentSelect.extratoPayColor-cyan{background:linear-gradient(90deg,rgba(58,219,255,.2),rgba(18,11,2,.95))}.extratoPaymentSelect.extratoPayColor-red{background:linear-gradient(90deg,rgba(255,94,94,.2),rgba(18,11,2,.95))}.extratoPaymentSelect.extratoPayColor-orange{background:linear-gradient(90deg,rgba(255,154,61,.2),rgba(18,11,2,.95))}.extratoPaymentSelect.extratoPayColor-gray{background:linear-gradient(90deg,rgba(160,170,180,.2),rgba(18,11,2,.95))}

/* CRM_V1981 - Divisão automática de parcelas e evidências do app sem CSS interno */
.ticketCostScheduleActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.ticketCostScheduleActions .btn{white-space:nowrap;}
.costRowCard.costRowAutoSplit{border-color:rgba(56,189,248,.52);box-shadow:0 0 0 1px rgba(56,189,248,.16),0 12px 26px rgba(56,189,248,.08);}
.telegramEvidenceReminderBox{max-width:720px;}
.telegramEvidenceReminderList{display:grid;gap:12px;margin-top:14px;}
.telegramEvidenceReminderItem{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;border:1px solid rgba(255,202,64,.35);border-radius:16px;padding:12px;background:rgba(255,202,64,.08);}
.telegramEvidenceReminderItem span{color:#ffe4a3;}
.telegramEvidenceReminderItem .btn{grid-row:1 / span 2;grid-column:2;}
.crmActionProviderCount{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:#ffd23c;color:#111;font-weight:900;font-size:12px;box-shadow:0 0 12px rgba(255,210,60,.65);}
@media(max-width:760px){.ticketCostScheduleActions{justify-content:flex-start;width:100%;}.telegramEvidenceReminderItem{grid-template-columns:1fr;}.telegramEvidenceReminderItem .btn{grid-row:auto;grid-column:auto;}}

/* CRM_V1983 - destaque ciano temporário da OS aprovada no Orçamento e enviada para Execução. */
.crmBudgetApprovedHighlight{
  position:relative;
  outline:2px solid rgba(36,232,255,.95)!important;
  box-shadow:0 0 0 1px rgba(36,232,255,.45),0 0 28px rgba(36,232,255,.45)!important;
  animation:crmBudgetApprovedHighlightPulse 5s ease-out 1;
}
.crmBudgetApprovedHighlight td{
  box-shadow:inset 0 1px 0 rgba(36,232,255,.32),inset 0 -1px 0 rgba(36,232,255,.24);
}
@keyframes crmBudgetApprovedHighlightPulse{
  0%{filter:brightness(1.38);transform:translateY(-4px)}
  18%{filter:brightness(1.22);transform:translateY(0)}
  72%{filter:brightness(1.08)}
  100%{filter:none;transform:none}
}

/* CRM_V1984 - Preferências por usuário e painel de pagamento da OS */
.crmColumnMenuOptionsTitle::after{
  content:' • salvo por usuário no banco';
  display:block;
  margin-top:4px;
  color:#7dd3fc;
  font-size:10px;
  letter-spacing:.04em;
}
.crmActionPayment{position:relative;}
.crmActionPaymentDueBadge,
.crmActionPaymentPendingBadge{
  margin-left:auto;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:1000;
  line-height:1;
}
.crmActionPaymentDueBadge{
  color:#fff;
  background:linear-gradient(135deg,#7f1d1d,#ef4444);
  box-shadow:0 0 16px rgba(239,68,68,.38);
}
.crmActionPaymentPendingBadge{
  color:#04111c;
  background:linear-gradient(135deg,#fde68a,#38bdf8);
  box-shadow:0 0 16px rgba(56,189,248,.28);
}
.ticketPaymentDialog{
  width:min(1120px,calc(100vw - 28px));
  max-height:calc(100vh - 32px);
  border:1px solid rgba(56,189,248,.35);
  box-shadow:0 24px 80px rgba(0,0,0,.62),0 0 36px rgba(56,189,248,.16);
}
.ticketPaymentDialog .dialogHeader{
  position:sticky;
  top:0;
  z-index:5;
  background:rgba(2,13,24,.95);
  backdrop-filter:blur(14px);
}
.ticketPaymentDialogBody{
  padding:18px 22px 96px;
  display:grid;
  gap:16px;
}
.ticketPaymentSummaryGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ticketPaymentSummaryGrid article{
  border:1px solid rgba(255,214,107,.28);
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(135deg,rgba(255,214,107,.11),rgba(56,189,248,.06));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.ticketPaymentSummaryGrid span{
  display:block;
  color:#c7b98a;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ticketPaymentSummaryGrid strong{
  display:block;
  margin-top:6px;
  color:#fff;
  font-size:20px;
  font-weight:1000;
}
.ticketPaymentSummaryGrid article.isPositive strong{color:#34d399;}
.ticketPaymentSummaryGrid article.isNegative strong{color:#f87171;}
.ticketPaymentRows{display:grid;gap:14px;}
.ticketPaymentRow{
  border:1px solid rgba(255,214,107,.23);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(135deg,rgba(44,28,8,.88),rgba(8,17,28,.82));
  box-shadow:0 14px 32px rgba(0,0,0,.18);
}
.ticketPaymentRow.isDue{
  border-color:rgba(248,113,113,.55);
  box-shadow:0 0 0 1px rgba(248,113,113,.14),0 18px 36px rgba(127,29,29,.18);
}
.ticketPaymentRow.isPaid{
  border-color:rgba(52,211,153,.42);
  box-shadow:0 0 0 1px rgba(52,211,153,.12),0 18px 36px rgba(6,78,59,.12);
}
.ticketPaymentRowTop{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.ticketPaymentRowTop strong{font-size:15px;color:#fff;}
.ticketPaymentRowTop .iconBtn{margin-left:auto;}
.ticketPaymentGrid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr 1fr;
  gap:12px;
  align-items:end;
}
.ticketPaymentGrid .span2{grid-column:span 2;}
.ticketPaymentGrid input,
.ticketPaymentGrid select{
  width:100%;
  min-height:44px;
}
.ticketPaymentDueAlert{
  border:1px solid rgba(248,113,113,.45);
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(135deg,rgba(127,29,29,.34),rgba(2,13,24,.84));
  display:grid;
  gap:8px;
}
.ticketPaymentDueAlert strong{color:#fecaca;font-size:15px;}
.ticketPaymentDueAlert span{color:#fef3c7;font-size:13px;}
.ticketPaymentAlertActions{display:flex;gap:8px;flex-wrap:wrap;}
.ticketPaymentLoading,
.ticketPaymentError{
  border:1px dashed rgba(56,189,248,.3);
  border-radius:18px;
  padding:24px;
  text-align:center;
  color:#dbeafe;
  background:rgba(2,13,24,.55);
}
.ticketPaymentError{border-color:rgba(248,113,113,.45);color:#fecaca;}
.crmToastSuccess{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:99999;
  border:1px solid rgba(52,211,153,.45);
  border-radius:16px;
  padding:13px 16px;
  color:#dcfce7;
  background:linear-gradient(135deg,rgba(6,78,59,.96),rgba(2,13,24,.96));
  box-shadow:0 18px 42px rgba(0,0,0,.35),0 0 24px rgba(52,211,153,.18);
  font-weight:900;
}
@media(max-width:920px){
  .ticketPaymentSummaryGrid{grid-template-columns:1fr;}
  .ticketPaymentGrid{grid-template-columns:1fr 1fr;}
  .ticketPaymentGrid .span2{grid-column:1 / -1;}
}
@media(max-width:620px){
  .ticketPaymentDialogBody{padding:14px 14px 110px;}
  .ticketPaymentGrid{grid-template-columns:1fr;}
  .ticketPaymentGrid .span2{grid-column:1;}
  .ticketPaymentDialog .dialogHeaderActions{width:100%;justify-content:flex-start;}
}


/* CRM_V1985 - relatório de pagamentos vencidos por prestador/OS */
.financeProviderOverduePanel .financeInlineLabel{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:900}
.financeProviderOverduePanel .financeInlineLabel input{min-height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.22);color:var(--text);padding:8px 10px;font-weight:900}
.financeProviderOverdueKpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.financeCostKpiGrid .danger strong{color:#ff7a8a}
.financeProviderOverduePanel .rowActions{display:flex;gap:6px;flex-wrap:wrap}
.financeProviderOverduePanel .miniBtn{min-height:30px;padding:6px 9px;white-space:nowrap}
@media (max-width: 1100px){.financeProviderOverdueKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.financeProviderOverduePanel .financeInlineLabel{width:100%;align-items:flex-start;flex-direction:column}}
@media (max-width: 640px){.financeProviderOverdueKpis{grid-template-columns:1fr}}

/* CRM V1987 - Permissão Inass: visível, mas sem acesso/clique */
.crmPermInactive{
  opacity:.58!important;
  pointer-events:none!important;
  cursor:not-allowed!important;
  filter:saturate(.55)!important;
}
.crmPermInactive::after{
  content:"INASS";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:6px;
  min-height:18px;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(69,180,255,.35);
  background:rgba(69,180,255,.12);
  color:#9ee7ff;
  font-size:.62rem;
  font-weight:1000;
  letter-spacing:.04em;
}


/* === assets/css/app-v1198-safe.css === */
/* CRM_v1198/1449 - camada segura sem hover global de texto */
:root{
  --crm-hover-yellow:#ffd84d;
  --crm-hover-yellow-soft:rgba(255,216,77,.34);
}

/* TOOLS é só grupo visual, sem comportamento de página */
.navGroupConfiguracoes > summary .navLabel{text-transform:uppercase;letter-spacing:.035em;}

/* Loading leve: mesmo se ativado, nunca prende a navegação visual por mais de 2s. */
.crmPageLoaderV1179{transition:opacity .16s ease !important;}
.crmPageLoaderCardV1179{animation-duration:.55s !important;}
.crmDialogEnterV1179{animation-duration:.24s !important;}
.crmModalPulseV1179 *{animation-duration:.45s !important;}

.twoFactorSecretBox{display:grid;gap:8px;padding:12px;border-radius:16px;border:1px solid rgba(255,216,77,.34);background:rgba(255,216,77,.08);margin-bottom:12px;overflow:auto}
.twoFactorSecretBox strong{font-size:1.12rem;letter-spacing:.08em;word-spacing:.18em;color:#ffe49a!important}
.twoFactorSecretBox code{white-space:normal;word-break:break-all;color:#dcecff}
.twoFactorConfigPanel .inlineInfo.success{border-color:rgba(72,220,140,.38);background:rgba(72,220,140,.08)}


/* CRM v1199 - topo leve sem barra preta + correções de sobreposição no Financeiro */
body[data-ui-theme] .topbarMain{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 0 10px !important;
  padding:0 !important;
  min-height:0 !important;
}
body[data-ui-theme] .topbarMain .topbarTitleWrap{
  min-height:0 !important;
}
body[data-ui-theme] .topbarMain .topbarTitleWrap > div:empty{
  display:none !important;
}

.page-financeiro .financeShell,
.page-financeiro .financeShell *{
  box-sizing:border-box;
}
.page-financeiro .financeVaultHero,
.page-financeiro .financeBlueprintPanel,
.page-financeiro .financePanel,
.page-financeiro .financeNfSection,
.page-financeiro .partnerVaultPanel{
  overflow:hidden;
}
.page-financeiro .financeHeroLine,
.page-financeiro .financeBlueprintHead,
.page-financeiro .financePanel .sectionHeader,
.page-financeiro .financePanel .sectionHeader.simple,
.page-financeiro .financeNfSection .sectionHeader,
.page-financeiro .partnerVaultPanel .sectionHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.page-financeiro .financeHeroLine > div,
.page-financeiro .financeBlueprintHead > div,
.page-financeiro .financePanel .sectionHeader > div,
.page-financeiro .financeNfSection .sectionHeader > div,
.page-financeiro .partnerVaultPanel .sectionHeader > div{
  min-width:0;
  flex:1 1 320px;
}
.page-financeiro .financeHeaderActions,
.page-financeiro .financeNfSection .financeHeaderActions{
  min-width:0 !important;
  max-width:100%;
}
.page-financeiro .financeSearch,
.page-financeiro .financeSearchWrap{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.page-financeiro .financeSearch > *,
.page-financeiro .financeSearchWrap > *{
  min-width:0;
}
.page-financeiro .financeSearch input,
.page-financeiro .financeSearchWrap input[type="search"]{
  flex:1 1 260px;
}
.page-financeiro .financeExpenseKpiGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:12px 0 16px;
}
.page-financeiro .financeExpenseKpiGrid article{
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(80,190,255,.22);
  background:rgba(255,255,255,.045);
  box-shadow:0 12px 28px rgba(0,0,0,.14);
}
.page-financeiro .financeExpenseKpiGrid article span,
.page-financeiro .financeExpenseKpiGrid article strong,
.page-financeiro .financeExpenseKpiGrid article small{
  display:block;
  white-space:normal;
}
.page-financeiro .financeExpenseKpiGrid article span{
  color:var(--muted);
  font-size:.75rem;
  font-weight:1000;
  text-transform:uppercase;
}
.page-financeiro .financeExpenseKpiGrid article strong{
  margin:0;
  font-size:1.22rem;
  color:#fff;
  line-height:1.15;
}
.page-financeiro .financeExpenseKpiGrid article small{
  color:var(--muted);
  font-weight:800;
  line-height:1.25;
}
.page-financeiro .financePayrollPanel{
  margin:14px 0 18px;
  border:1px solid rgba(255,214,107,.18);
  border-radius:18px;
  background:rgba(255,214,107,.035);
  padding:14px;
}
.page-financeiro .financePayrollHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.page-financeiro .financePayrollHead h3{
  margin:0;
}
.page-financeiro .financePayrollHead small{
  color:var(--muted);
  font-weight:900;
  line-height:1.3;
}
.page-financeiro .financePayrollGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
}
.page-financeiro .financePayrollCard{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(4,13,24,.82);
  padding:14px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  min-width:0;
}
.page-financeiro .financePayrollTitle{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:8px;
  margin-bottom:10px;
  flex-wrap:wrap;
}
.page-financeiro .financePayrollTitle strong,
.page-financeiro .financePayrollTitle span,
.page-financeiro .financePayrollCalcNote,
.page-financeiro .financePayrollMiniList p,
.page-financeiro .financePayrollNumbers small,
.page-financeiro .financePayrollNumbers b{
  white-space:normal;
}
.page-financeiro .financePayrollNumbers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.page-financeiro .financePayrollNumbers div{
  border:1px solid rgba(80,190,255,.12);
  border-radius:14px;
  padding:8px;
  background:rgba(255,255,255,.035);
  min-width:0;
}
.page-financeiro .financePayrollActions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
@media (max-width: 1180px){
  .page-financeiro .financeExpenseKpiGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 760px){
  .page-financeiro .financeExpenseKpiGrid,
  .page-financeiro .financePayrollNumbers{
    grid-template-columns:1fr;
  }
}


/* CRM v1199.1 - acabamento financeiro leve */
.page-financeiro .financeShell{
  display:grid;
  gap:16px;
  padding:0 2px 20px;
}
.page-financeiro .financeShell > *{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.page-financeiro .financeVaultHero,
.page-financeiro .financeBlueprintPanel,
.page-financeiro .financePanel,
.page-financeiro .partnerVaultPanel,
.page-financeiro .financeNfSection{
  padding:18px !important;
  border-radius:22px !important;
}
.page-financeiro .financePanel + .financePanel,
.page-financeiro .financePanel + .financeNfSection,
.page-financeiro .financeNfSection + .financeNfSection,
.page-financeiro .financeBlueprintPanel + .financePanel,
.page-financeiro .partnerVaultPanel + .financePanel{
  margin-top:16px !important;
}
.page-financeiro .sectionHeader.simple,
.page-financeiro .financeBlueprintHead,
.page-financeiro .financeHeroLine,
.page-financeiro .financePayrollHead{
  margin-bottom:14px !important;
}
.page-financeiro .sectionHeader h2,
.page-financeiro .financeBlueprintHead h2,
.page-financeiro .financePayrollHead h3,
.page-financeiro .financeHeroTopline h1{
  line-height:1.12 !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.page-financeiro .sectionHeader p,
.page-financeiro .financePanel p,
.page-financeiro .financeVaultHero p,
.page-financeiro .financePayrollHead small{
  line-height:1.35 !important;
  max-width:100% !important;
}
.page-financeiro .btn,
.page-financeiro button.btn,
.page-financeiro a.btn,
.page-financeiro .miniBtn,
.page-financeiro .iconBtn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:40px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  vertical-align:middle !important;
}
.page-financeiro .btn.primary,
.page-financeiro .btn.ghost{
  padding:10px 15px !important;
}
.page-financeiro .financeHeaderActions,
.page-financeiro .financePayrollActions,
.page-financeiro .financeDialogActions,
.page-financeiro .financeInlineForm,
.page-financeiro .financeBnfHistoryActions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  flex-wrap:wrap !important;
}
.page-financeiro .financeHeaderActions .btn,
.page-financeiro .financeNfSection .financeHeaderActions .btn,
.page-financeiro .financeNfSection .financeHeaderActions .financeNfHeaderBtn{
  min-height:42px !important;
  height:auto !important;
  max-width:100% !important;
}
.page-financeiro .financeFiltersCompact,
.page-financeiro .financeSearchWrap,
.page-financeiro .financeSearch{
  gap:10px !important;
  margin-top:12px !important;
  margin-bottom:16px !important;
}
.page-financeiro .financeFiltersCompact input,
.page-financeiro .financeFiltersCompact select,
.page-financeiro .financeSearch input,
.page-financeiro .financeSearch select,
.page-financeiro .financeMiniSelect{
  min-height:42px !important;
  height:42px !important;
}
.page-financeiro .financeBlueprintGrid,
.page-financeiro .financeBlueprintMainGrid,
.page-financeiro .financeCostCenterKpiGrid,
.page-financeiro .financeNfKpiGrid,
.page-financeiro .financeNfKpiGridClickable,
.page-financeiro .financeExpenseKpiGrid,
.page-financeiro .partnerVaultGrid,
.page-financeiro .financeCostKpiGrid{
  gap:12px !important;
}
.page-financeiro .financeBlueprintGrid > *,
.page-financeiro .financeBlueprintMainGrid > *,
.page-financeiro .financeCostCenterKpiGrid > *,
.page-financeiro .financeNfKpiGrid > *,
.page-financeiro .financeNfKpiGridClickable > *,
.page-financeiro .financeExpenseKpiGrid > *,
.page-financeiro .partnerVaultGrid > *,
.page-financeiro .financeCostKpiGrid > *{
  min-width:0 !important;
}
.page-financeiro .financeSubTitle{
  margin:18px 0 10px !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.page-financeiro .financeTableWrap,
.page-financeiro .financeBnfTableWrap{
  margin-top:12px !important;
  border-radius:18px !important;
  overflow:auto !important;
}
.page-financeiro .financeTable th,
.page-financeiro .financeTable td{
  padding:10px 12px !important;
  vertical-align:middle !important;
}
.page-financeiro .financeTable td strong,
.page-financeiro .financeTable td small{
  display:block;
  line-height:1.25;
}
.page-financeiro .financePayrollCard,
.page-financeiro .financeExpenseKpiGrid article,
.page-financeiro .financeBlueprintGrid > a,
.page-financeiro .financeBlueprintMainGrid > a,
.page-financeiro .financeCostCenterKpiCard,
.page-financeiro .financeNfKpiGridClickable a{
  transform:none !important;
  transition:box-shadow .16s ease,border-color .16s ease,filter .16s ease !important;
}
.page-financeiro .financePayrollCard:hover,
.page-financeiro .financeExpenseKpiGrid article:hover,
.page-financeiro .financeBlueprintGrid > a:hover,
.page-financeiro .financeBlueprintMainGrid > a:hover,
.page-financeiro .financeCostCenterKpiCard:hover,
.page-financeiro .financeNfKpiGridClickable a:hover{
  transform:none !important;
}
@media (max-width: 1180px){
  .page-financeiro .financeHeaderActions,
  .page-financeiro .financePayrollActions,
  .page-financeiro .financeDialogActions,
  .page-financeiro .financeInlineForm{
    justify-content:flex-start !important;
  }
}
@media (max-width: 760px){
  .page-financeiro .financeVaultHero,
  .page-financeiro .financeBlueprintPanel,
  .page-financeiro .financePanel,
  .page-financeiro .partnerVaultPanel,
  .page-financeiro .financeNfSection{
    padding:14px !important;
  }
  .page-financeiro .btn,
  .page-financeiro button.btn,
  .page-financeiro a.btn{
    width:100% !important;
  }
  .page-financeiro .financeHeaderActions,
  .page-financeiro .financePayrollActions,
  .page-financeiro .financeInlineForm{
    width:100% !important;
  }
}


/* === assets/css/ticket-notes.css === */
.ticketNotesMenuAction .menuIcon{filter:drop-shadow(0 0 8px rgba(125,211,252,.55))}.ticketNotesDialog{width:min(980px,96vw);max-height:92vh}.ticketNotesDialog .dialogHeader h3{display:flex;align-items:center;gap:10px}.ticketNotesLayout{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,1.05fr);gap:16px;align-items:start}.ticketNotesListPanel,.ticketNotesFormPanel{border:1px solid rgba(148,163,184,.22);border-radius:20px;background:linear-gradient(180deg,rgba(15,23,42,.72),rgba(2,6,23,.62));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);padding:14px}.ticketNotesListHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ticketNotesListHeader strong,.ticketNotesFormPanel strong{font-size:.92rem;letter-spacing:.04em;text-transform:uppercase}.ticketNotesScopeBadge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(125,211,252,.35);background:rgba(14,165,233,.12);font-size:.72rem;font-weight:900;color:#dff7ff}.ticketNotesList{display:grid;gap:10px;max-height:54vh;overflow:auto;padding-right:4px}.ticketNoteCard{border-radius:18px;border:1px solid rgba(255,255,255,.18);padding:13px;display:grid;gap:9px;position:relative;overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.2)}.ticketNoteCard::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.16),transparent 36%);pointer-events:none}.ticketNoteTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;position:relative}.ticketNoteTop h4{margin:0;font-size:1rem;line-height:1.2}.ticketNoteMeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.74rem;font-weight:900;opacity:.9}.ticketNoteBody{position:relative;white-space:pre-wrap;word-break:break-word;line-height:1.42;font-size:.9rem}.ticketNoteActions{position:relative;display:flex;gap:8px;flex-wrap:wrap}.ticketNoteActions .btn{min-height:30px;padding:6px 10px}.ticketNoteDeleted{opacity:.68;border-style:dashed;filter:saturate(.55)}.ticketNoteDeleted::after{content:"EXCLUÍDA";position:absolute;right:10px;bottom:10px;font-size:.68rem;font-weight:1000;letter-spacing:.08em;border:1px solid rgba(248,113,113,.55);background:rgba(127,29,29,.4);color:#fecaca;border-radius:999px;padding:4px 8px}.ticketNotesEmpty{border:1px dashed rgba(148,163,184,.32);border-radius:18px;padding:18px;text-align:center;color:var(--muted);font-weight:800;background:rgba(148,163,184,.06)}.ticketNotesForm{display:grid;gap:12px;margin-top:12px}.ticketNotesPalette{display:grid;gap:8px}.ticketNotesPaletteTitle{font-size:.78rem;font-weight:1000;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ticketNotesColorGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ticketNotesTextGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ticketNotesColorOption{position:relative}.ticketNotesColorOption input{position:absolute;opacity:0;pointer-events:none}.ticketNotesColorOption span{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:14px;border:1px solid rgba(255,255,255,.18);font-weight:1000;box-shadow:inset 0 1px 0 rgba(255,255,255,.15);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.ticketNotesColorOption input:checked+span{transform:translateY(-1px);border-color:rgba(255,255,255,.68);box-shadow:0 0 0 2px rgba(125,211,252,.28),0 0 22px rgba(125,211,252,.22)}.noteBgBlue{background:linear-gradient(135deg,#0f5f8f,#38bdf8);color:#06111f}.noteBgGold{background:linear-gradient(135deg,#b7791f,#fde68a);color:#1f1302}.noteBgGreen{background:linear-gradient(135deg,#047857,#86efac);color:#03160d}.noteBgPurple{background:linear-gradient(135deg,#6d28d9,#c4b5fd);color:#140b2f}.noteTextDark{color:#06111f}.noteTextLight{color:#f8fafc}.ticketNoteCard.noteTextDark .ticketNoteMeta,.ticketNoteCard.noteTextDark .ticketNoteActions .btn{color:#06111f}.ticketNoteCard.noteTextLight .ticketNoteMeta{color:#f8fafc}.ticketNoteCard.noteTextLight .ticketNoteActions .btn{color:#f8fafc}.ticketNoteCard.noteTextLight .ticketNoteActions .btn.ghost{background:rgba(15,23,42,.28);border-color:rgba(255,255,255,.32)}.ticketNoteCard.noteTextDark .ticketNoteActions .btn.ghost{background:rgba(255,255,255,.28);border-color:rgba(2,6,23,.18)}.ticketNotesHint{font-size:.8rem;color:var(--muted);font-weight:750;line-height:1.35}.ticketNotesStatus{min-height:18px;font-size:.82rem;font-weight:900}.ticketNotesStatus.is-error{color:#fecaca}.ticketNotesStatus.is-ok{color:#bbf7d0}.ticketNotesDialog textarea{min-height:140px;resize:vertical}.ticketNotesSaving{opacity:.72;pointer-events:none}@media(max-width:760px){.ticketNotesLayout{grid-template-columns:1fr}.ticketNotesList{max-height:36vh}.ticketNotesColorGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ticketNotesTextGrid .noteTextDark{background:#f8fafc;color:#06111f}.ticketNotesTextGrid .noteTextLight{background:#06111f;color:#f8fafc}


/* === assets/css/mobile-app.css === */
/* CRM V1261 - Ajustes externos para APK Android/WebView */
html.crmMobileApp,
body.crmMobileApp{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
body.crmMobileApp{background:#020817!important}
body.crmMobileApp .appShell{min-height:100vh}
body.crmMobileApp .mainContent{padding:8px 8px 76px!important;width:100%!important;min-width:0!important}
body.crmMobileApp .topbarMain{min-height:36px!important;padding:4px 8px!important;margin-bottom:6px!important;position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);background:rgba(2,8,23,.72);border-radius:0 0 14px 14px}
body.crmMobileApp .mobileSidebarBtn{display:none!important}
body.crmMobileApp .sidebar{position:fixed!important;left:8px!important;top:8px!important;bottom:8px!important;width:min(82vw,310px)!important;max-width:310px!important;z-index:1002!important;transform:translateX(calc(-100% - 22px));transition:transform .2s ease, opacity .2s ease!important;opacity:.98;border-radius:22px!important;box-shadow:0 28px 80px rgba(0,0,0,.45)!important;overflow:auto!important}
body.crmMobileApp.crmMobileMenuOpen .sidebar{transform:translateX(0)!important}
body.crmMobileApp .sidebarBackdrop{display:none!important}
body.crmMobileApp .crmMobileAppBackdrop{position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.30);backdrop-filter:blur(6px);border:0;opacity:0;pointer-events:none;transition:opacity .18s ease}
body.crmMobileApp.crmMobileMenuOpen .crmMobileAppBackdrop{opacity:1;pointer-events:auto}
body.crmMobileApp .crmMobileHamburger{position:fixed;left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:1003;width:48px;height:48px;border-radius:17px;border:1px solid rgba(80,190,255,.45);background:linear-gradient(135deg,rgba(8,47,73,.96),rgba(2,8,23,.96));color:#e0f2fe;font-size:22px;font-weight:900;box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 22px rgba(80,190,255,.16)}
body.crmMobileApp.crmMobileMenuOpen .crmMobileHamburger{background:linear-gradient(135deg,rgba(30,41,59,.96),rgba(15,23,42,.96))}
body.crmMobileApp .panel,
body.crmMobileApp .card,
body.crmMobileApp .kpiCard{border-radius:14px!important;margin-bottom:8px!important}
body.crmMobileApp .sectionHeader{gap:8px!important;margin-bottom:8px!important}
body.crmMobileApp .sectionHeader h2{font-size:1rem!important;line-height:1.12!important}
body.crmMobileApp .sectionHeader p,
body.crmMobileApp .subInfo,
body.crmMobileApp small{font-size:.72rem!important;line-height:1.18!important}
body.crmMobileApp .btn{min-height:30px!important;padding:5px 8px!important;border-radius:10px!important;font-size:.74rem!important;line-height:1.05!important;gap:4px!important}
body.crmMobileApp .btn.tiny,
body.crmMobileApp .miniBtn{min-height:24px!important;padding:3px 6px!important;font-size:.68rem!important}
body.crmMobileApp input,
body.crmMobileApp select,
body.crmMobileApp textarea{min-height:32px!important;font-size:.82rem!important;border-radius:10px!important;padding:6px 8px!important}
body.crmMobileApp textarea{min-height:74px!important}
body.crmMobileApp .tableWrap,
body.crmMobileApp .responsiveTableWrap,
body.crmMobileApp .crmTableScroll{overflow:auto!important;-webkit-overflow-scrolling:touch!important;max-width:100%!important}
body.crmMobileApp table{min-width:max-content!important;border-collapse:separate!important;border-spacing:0!important}
body.crmMobileApp th,
body.crmMobileApp td{padding:5px 7px!important;font-size:.72rem!important;line-height:1.12!important;white-space:nowrap!important;vertical-align:middle!important}
body.crmMobileApp td .btn,
body.crmMobileApp td button,
body.crmMobileApp td a.btn{font-size:.65rem!important;padding:3px 5px!important;min-height:22px!important}
body.crmMobileApp .workspaceTabs,
body.crmMobileApp .globalSizeControl{display:none!important}
body.crmMobileApp.crmDensityCompact .mainContent{font-size:92%}
body.crmMobileApp.crmDensitySmallCompact .mainContent{font-size:84%}
body.crmMobileApp.crmDensitySuperCompact .mainContent{font-size:76%}
body.crmMobileApp.crmDensitySmallCompact .panel,
body.crmMobileApp.crmDensitySuperCompact .panel{padding:8px!important;border-radius:12px!important}
body.crmMobileApp.crmDensitySuperCompact .btn{min-height:24px!important;padding:3px 6px!important;font-size:.66rem!important}
body.crmMobileApp.crmDensitySuperCompact input,
body.crmMobileApp.crmDensitySuperCompact select{min-height:26px!important;font-size:.72rem!important;padding:4px 6px!important}
.crmMobileSummaryCard{display:grid;gap:8px;margin:0 0 10px;padding:10px;border:1px solid rgba(80,190,255,.24);border-radius:16px;background:linear-gradient(180deg,rgba(14,116,144,.16),rgba(15,23,42,.82));box-shadow:0 18px 45px rgba(0,0,0,.22)}
.crmMobileSummaryHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.crmMobileSummaryHead strong{font-size:.92rem}.crmMobileSummaryHead small{color:#93c5fd!important;font-weight:800}
.crmMobileSummaryKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.crmMobileSummaryKpi{padding:7px 5px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:rgba(2,8,23,.45);text-align:center}.crmMobileSummaryKpi b{display:block;font-size:1rem;color:#e0f2fe}.crmMobileSummaryKpi span{display:block;font-size:.62rem;color:#a7c7df;font-weight:800;line-height:1.05}.crmMobileSummaryLists{display:grid;gap:5px}.crmMobileSummaryLine{display:flex;justify-content:space-between;gap:8px;border-top:1px solid rgba(148,163,184,.14);padding-top:5px;font-size:.7rem;color:#cbd5e1}.crmMobileSummaryLine span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crmMobileSummaryLine em{font-style:normal;color:#93c5fd;font-weight:900;white-space:nowrap}
.crmMobileSettingsBox{margin:12px 0;padding:12px;border-radius:18px;border:1px solid rgba(80,190,255,.25);background:linear-gradient(180deg,rgba(2,132,199,.12),rgba(2,8,23,.55));display:grid;gap:10px}.crmMobileSettingsBox h3{margin:0;font-size:1rem}.crmMobileSettingRow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.crmMobileModeBtns{display:flex;gap:6px;flex-wrap:wrap}.crmMobileModeBtn{border:1px solid rgba(80,190,255,.25);background:rgba(15,23,42,.8);color:#e0f2fe;border-radius:10px;padding:6px 8px;font-weight:900}.crmMobileModeBtn.isActive{background:rgba(14,165,233,.25);border-color:rgba(125,211,252,.62)}
@media (min-width:768px){body.crmMobileApp .crmMobileSummaryKpis{grid-template-columns:repeat(4,120px)}body.crmMobileApp .mainContent{padding-inline:12px!important}.crmMobileSummaryLists{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* CRM V1947 - Resumo do dia só no Início, com OK e atalho para OS */
.crmMobileSummaryHead{flex-wrap:wrap}
.crmMobileSummaryOk{border:1px solid rgba(80,190,255,.45);border-radius:999px;background:rgba(14,165,233,.18);color:#e0f2fe;font-weight:1000;padding:5px 10px;line-height:1;cursor:pointer}
.crmMobileSummaryOpen{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:22px;border-radius:999px;border:1px solid rgba(80,190,255,.45);color:#e0f2fe;background:rgba(14,165,233,.16);font-weight:1000;text-decoration:none;font-size:.65rem;white-space:nowrap}
.crmMobileSummaryLine{align-items:center}
.crmMobileSummaryLine em{margin-left:auto}

