.headerLog {
    margin-top: 28px;
    display: flex;
    justify-content: space-between;
    min-width: 100%;
    max-width: 100%;
    border-bottom: 2px solid #e9ecf6;
    padding: 0px 5px;
    font-size: 0.75rem;
    color: #2E1956;
}

    .headerLog div {
        font-weight: bold;
        margin-bottom: .4rem;
    }

.bodyLog {
    margin-bottom: 12px;
}

    .bodyLog > .row {
        display: flex;
        font-size: 0.75rem;
        font-weight: 400;
        justify-content: space-between;
        padding: 0px 5px;
        border-radius: 4px;
        color: #2E1956;
    }

.headerLog > .resources {
    max-width: 50%;
    min-width: 50%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.headerLog > .resources_focus {
    max-width: 25%;
    min-width: 25%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.headerLog > .eventTime_focus {
    max-width: 12.5%;
    min-width: 12.5%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bodyLog > .row:hover {
    background-color: #e9ecf6;
    border-radius: 4px;
}

.bodyLog > .row > .resources {
    max-width: 50%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 50%;
}

.bodyLog > .row > .resources_focus {
    max-width: 25%;
    min-width: 25%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bodyLog > .row > .eventTime_focus {
    max-width: 12.5%;
    min-width: 12.5%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Automations Page Styles (v5 / legacy) — scoped to .page-automacoes-v5 */

/* === GLOBAL: portaled dialog content (cannot be scoped — MUI Dialog renders to document.body) === */
.page-automacoes .customBadgeWeek span,
.related-container .customBadgeWeek span,
.details-related-automations .customBadgeWeek span {
   border: 0.5px solid white;
   background-color: #e4eaec;
   color: #76838f;
   font-size: 0.7rem;
   word-break: keep-all !important;
   font-weight: 100;
   height: 1.2rem;
   width: 2rem;
}

.auditTimestamp {
   color: green;
}

.auditInfoContainer {
   padding: 5px;
}

.auditInfo {
   display: grid;
   grid-template-columns: 1fr 1fr;
}

.auditInfoLabels {
   width: 200px;
}

/* === End GLOBAL block === */

/* === Scoped rules — only apply inside the Automations (v5) page === */
.page-automacoes-v5 .automationIdColumn,
.page-automacoes-v5 .automationIdIcon,
.page-automacoes-v5 .hourScheduledColumn,
.page-automacoes-v5 .weekDaysScheduledColumn,
.page-automacoes-v5 .relatedWeekDaysScheduledColumn,
.page-automacoes-v5 .relatedHourScheduledColumn,
.page-automacoes-v5 .actionColumn {
   display: flex;
}

.page-automacoes-v5 .automationIdColumn,
.page-automacoes-v5 .createdAtColumn,
.page-automacoes-v5 .lastRunColumn,
.page-automacoes-v5 .related-lastRunColumn .createdByColumn {
   white-space: nowrap;
}

.page-automacoes-v5 .hourScheduledColumn div,
.page-automacoes-v5 .related-hourScheduledColumn div {
   margin-top: 1px;
}

.page-automacoes-v5 .statusEnabled {
   color: #3ebb3f;
}

.page-automacoes-v5 .statusDisabled {
   color: #dc291e;
}

/* Economia acumulada card styling */
.page-automacoes-v5 .lcdashboard .card-frame:has(.card-big-number.colorfull) .card-frame-header-content .block-icons span.icon {
   color: white !important;
}

.page-automacoes-v5 .lcdashboard .card-frame:has(.card-big-number.colorfull) .card-frame-header-content .block-icons span.icon svg {
   color: white !important;
   fill: white !important;
}

.page-automacoes-v5 .economia-acumulada-value {
   color: white;
   font-family: "Inter", sans-serif;
}

.page-automacoes-v5 .economia-acumulada-currency {
   font-size: clamp(0.85rem, 1vw, 1.5rem);
}

.page-automacoes-v5 .economia-acumulada-amount {
   font-size: clamp(1.4rem, 1.8vw, 2.5rem);
}

.page-automacoes-v5 .economia-acumulada-subtitle {
   color: white;
   font-size: 0.75rem;
   margin-top: 8px;
   text-align: right;
}

/* Automações card value */
.page-automacoes-v5 .automacoes-card-value .data div {
   font-size: clamp(1.1rem, 1.9vw, 2.5rem) !important;
}

/* Restore card title size — overrides shared LCDashboard rule that shrinks titles to 11px on screens <=1400px.
   Must include !important + full selector chain to beat the global media-query rule. */
.page-automacoes-v5 .lcdashboard .lcdashboard-cards .lcdashboard-cards-panel .lcdashboard-cards-panel-body .card-frame .card-frame-header-content .title,
.page-automacoes-v5 .lcdashboard .lc-title {
   font-size: clamp(12px, 0.95vw, 15px) !important;
}

/* Restore IconValue description size (e.g. 'ativas em seu ambiente cloud') — base 2vh shrinks on small screens. */
.page-automacoes-v5 .lcdashboard .iconvaluecontent .description,
.page-automacoes-v5 .lcdashboard .small-description {
   font-size: clamp(9px, 0.8vw, 13px) !important;
}

/* Restore IconValue icon (cog/etc) svg size — LCDashboard media queries force shrink to 24/20/18/16px. */
.page-automacoes-v5 .lcdashboard .iconvaluecontent .icone svg {
   width: clamp(22px, 2.1vw, 32px) !important;
   height: clamp(22px, 2.1vw, 32px) !important;
}

/* Main table container */
.page-automacoes-v5 .automations-table {
   width: 100%;
   height: 100%;
   display: flex;
   flex-direction: column;
   overflow: hidden;
   font-size: 13px;
   position: relative;
}

/* Table header row */
.page-automacoes-v5 .automations-table-header {
   display: flex;
   align-items: center;
   width: 100%;
   padding: 8px 0;
   border-bottom: 1px solid #e0e0e0;
   border-bottom: 1px solid var(--border-color, #e0e0e0);
   background-color: var(--background-default);
   font-family: Ubuntu, sans-serif;
   font-weight: 700;
   font-size: 12px;
   color: var(--text-default);
   position: sticky;
   top: 0;
   z-index: 1;
}

/* Header cells */
.page-automacoes-v5 .automations-header-cell {
   padding: 0 8px;
   box-sizing: border-box;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.page-automacoes-v5 .automations-header-cell:first-child {
   padding-left: 34px;
}

/* Expand/Collapse all button */
.page-automacoes-v5 .automations-expand-all-btn {
   position: absolute;
   top: 4px;
   left: 2px;
   z-index: 2;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 24px;
   height: 24px;
   padding: 0;
   border: none;
   border-radius: 4px;
   background: none;
   color: var(--text-default);
   cursor: pointer;
}

.page-automacoes-v5 .automations-expand-all-btn:hover {
   background-color: #f0f0f0;
   background-color: var(--menu-item-hover, #f0f0f0);
}

/* Table body container */
.page-automacoes-v5 .automations-table-body {
   flex: 1 1;
   overflow-y: auto;
   overflow-x: hidden;
}

/* Accordion row overrides for automations table */
.page-automacoes-v5 .automations-table .lc-table-accordion {
   border-bottom: 1px solid #f0f0f0;
   border-bottom: 1px solid var(--border-color-light, #f0f0f0);
}

.page-automacoes-v5 .automations-table .lc-table-accordion-header {
   min-height: 36px;
   border-bottom: none;
}

.page-automacoes-v5 .automations-table .lc-table-accordion-cell {
   padding: 4px 8px;
   overflow: visible;
}

.page-automacoes-v5 .automations-table .lc-table-accordion-cell-content {
   overflow: visible;
}

/* Child scheduler rows */
.page-automacoes-v5 .automations-scheduler-row {
   display: flex;
   align-items: center;
   width: 100%;
   min-height: 28px;
   margin-bottom: 1px;
   background-color: #fff;
   border-radius: 5px;
   position: relative;
}

.page-automacoes-v5 .automations-scheduler-row:hover {
   background-color: #eee;
}

/* Scheduler row cells */
.page-automacoes-v5 .automations-scheduler-cell {
   display: flex;
   align-items: center;
   padding: 0 8px;
   box-sizing: border-box;
   font-size: 12px;
}

.page-automacoes-v5 .automations-scheduler-cell:first-child {
   padding-left: 8px;
}

/* Automation name cell with status dot */
.page-automacoes-v5 .automations-scheduler-automation {
   display: flex;
   align-items: center;
   gap: 6px;
}

/* Status indicator bar */
.page-automacoes-v5 .automations-status-bar {
   width: 5px;
   min-height: 28px;
   align-self: stretch;
   border-top-left-radius: 5px;
   border-bottom-left-radius: 5px;
   flex-shrink: 0;
   margin-left: 28px;
}

/* Description note icon */
.page-automacoes-v5 .automations-scheduler-description-icon {
   display: inline-flex;
   align-items: center;
   color: var(--text-default);
   flex-shrink: 0;
}

/* Text overflow handling */
.page-automacoes-v5 .overflowEllipsis {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

/* Week days badges */
.page-automacoes-v5 .automations-table .weekDaysScheduledColumn {
   display: flex;
   align-items: center;
   flex-wrap: nowrap;
}

.page-automacoes-v5 .automations-table .weekDaysScheduledColumn .MuiBadge-root {
   position: relative;
   display: inline-flex;
   vertical-align: middle;
   flex-shrink: 0;
   margin-left: -4px;
}

.page-automacoes-v5 .automations-table .weekDaysScheduledColumn .MuiBadge-root:first-child {
   margin-left: 0;
}

.page-automacoes-v5 .automations-table .weekDaysScheduledColumn .MuiBadge-badge {
   position: relative;
   transform: none;
   border: 0.5px solid white;
   background-color: #e4eaec;
   color: #76838f;
   font-size: 0.65rem;
   font-weight: 100;
   height: 1.1rem;
   width: 1.8rem;
   min-width: 0;
   min-width: initial;
   padding: 0;
   border-radius: 9px;
   line-height: 1.1rem;
   word-break: keep-all !important;
}

.page-automacoes-v5 .automations-table .weekDaysScheduledColumn .MuiBadge-colorPrimary {
   background-color: var(--color-secondary-mint) !important;
   color: #076e6e !important;
}

/* Hour scheduled column */
.page-automacoes-v5 .automations-table .hourScheduledColumn {
   display: flex;
   align-items: center;
}

.page-automacoes-v5 .automations-table .hourScheduledColumn div {
   margin-top: 1px;
}

/* Status styles */
.page-automacoes-v5 .automations-table .statusEnabled {
   color: #3ebb3f;
   font-weight: 400;
   font-size: 11px;
}

.page-automacoes-v5 .automations-table .statusDisabled {
   color: #dc291e;
   font-weight: 400;
   font-size: 11px;
}

/* Action column */
.page-automacoes-v5 .automations-table .actionColumn {
   display: flex;
   align-items: center;
   gap: 4px;
}

/* Last run and created by columns */
.page-automacoes-v5 .automations-table .lastRunColumn,
.page-automacoes-v5 .automations-table .createdByColumn {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

/* Scrollbar styling for table body */
.page-automacoes-v5 .automations-table-body::-webkit-scrollbar {
   width: 8px;
   height: 0;
}

.page-automacoes-v5 .automations-table-body::-webkit-scrollbar-thumb {
   background: #cccccf;
   height: 8px;
   border-radius: 4px;
}

.page-automacoes-v5 .automations-table-body::-webkit-scrollbar-thumb:hover {
   background: #bbb;
}

.page-automacoes-v5 .automations-table-body::-webkit-scrollbar-track {
   border-radius: 4px;
}

/* Clickable resource name */
.page-automacoes-v5 .automations-resource-name-clickable {
   color: var(--color-secondary-cyan);
   cursor: pointer;
   text-decoration: underline;
}

.page-automacoes-v5 .automations-resource-name-clickable:hover {
   color: var(--text-link-hover);
}

/* Counter badge - greyish color */
.page-automacoes-v5 .automations-table .lc-table-accordion-count {
   color: #8b90a3;
}

/* Next Schedulers Card Layout */
.page-automacoes-v5 .automations-next-schedulers-card {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: space-between;
   width: 100%;
   height: 100%;
   min-height: 80px;
}

.page-automacoes-v5 .automations-next-schedulers-icon {
   display: flex;
   align-items: center;
   flex-shrink: 0;
}

.page-automacoes-v5 .automations-next-schedulers-content {
   flex: 1 1;
   min-width: 0;
   display: flex;
   flex-direction: column;
   align-items: flex-end;
}

/* Next Schedulers Carousel */
.page-automacoes-v5 .automations-next-schedulers-carousel {
   width: 100%;
   min-width: 0;
   overflow: hidden;
}

.page-automacoes-v5 .automations-next-scheduler-slide {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   font-size: 0.8rem;
   width: 100%;
   min-width: 0;
   text-align: right;
}

.page-automacoes-v5 .automations-next-scheduler-resource {
   font-family: Ubuntu, sans-serif;
   font-weight: 700;
   font-size: clamp(11px, 0.85vw, 16px);
   color: var(--text-default);
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   max-width: 100%;
}

.page-automacoes-v5 .automations-next-scheduler-automation {
   font-family: Ubuntu, sans-serif;
   font-weight: 400;
   font-size: clamp(9px, 0.65vw, 12px);
   color: #8B90A3;
   color: var(--text-light, #8B90A3);
   padding: 4px 0;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   max-width: 100%;
}

.page-automacoes-v5 .automations-next-scheduler-time {
   font-family: Ubuntu, sans-serif;
   font-weight: 400;
   font-size: clamp(9px, 0.65vw, 12px);
   color: var(--text-default);
   text-transform: capitalize;
}

@media (max-width: 1400px) {
   .page-automacoes-v5 .automations-table {
      font-size: 12px;
   }

   .page-automacoes-v5 .automations-table-header {
      font-size: 11px;
   }

   .page-automacoes-v5 .automations-scheduler-cell {
      font-size: 11px;
      padding-left: 6px;
      padding-right: 6px;
   }
}

@media (max-width: 1100px) {
   .page-automacoes-v5 .automations-table-header {
      padding-top: 6px;
      padding-bottom: 6px;
      font-size: 10px;
   }

   .page-automacoes-v5 .automations-scheduler-cell {
      font-size: 10px;
      padding-left: 4px;
      padding-right: 4px;
   }

   .page-automacoes-v5 .automations-table .weekDaysScheduledColumn .MuiBadge-badge {
      font-size: 0.58rem;
      height: 0.95rem;
      width: 1.5rem;
      line-height: 0.95rem;
   }

   .page-automacoes-v5 .automations-table .statusEnabled,
   .page-automacoes-v5 .automations-table .statusDisabled {
      font-size: 10px;
   }
}

@media (max-width: 768px) {
   .page-automacoes-v5 .economia-acumulada-value {
      text-align: center;
   }

   .page-automacoes-v5 .economia-acumulada-currency {
      font-size: 0.75rem;
   }

   .page-automacoes-v5 .economia-acumulada-amount {
      font-size: 1.35rem;
   }

   .page-automacoes-v5 .economia-acumulada-subtitle {
      font-size: 0.65rem;
      margin-top: 4px;
   }

   .page-automacoes-v5 .automations-table-header {
      font-size: 9px;
   }

   .page-automacoes-v5 .automations-scheduler-cell {
      font-size: 9px;
   }
}

/* Resource Details Modal Styles */
.automations-resource-details-modal {
	padding: 0;
}

.automations-resource-details-tabs {
	margin: 0 10px 8px 10px;
}

/* Override LcTabMenu default styles for this modal */
.automations-resource-details-tabs {
	position: relative;
	border-bottom: 1px solid #EBEBEB;
	border-bottom: 1px solid var(--line-light, #EBEBEB);
}

.automations-resource-details-tabs .lc-tabmenu {
	margin-bottom: -8px;
}

.automations-resource-details-tabs .lc-tabmenu .items .item {
	font-family: Ubuntu, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: 0;
	text-align: center;
	text-transform: none;
	color: #5E6E88;
	color: var(--text-light, #5E6E88);
	padding: 0.2rem 0;
	padding-bottom: 0;
	margin-bottom: -1px;
}

.automations-resource-details-tabs .lc-tabmenu .items .item .tag {
	margin-top: 4px;
	margin-bottom: 0;
}

.automations-resource-details-tabs .lc-tabmenu .items .item.active {
	color: var(--text-default);
}

.automations-resource-details-tabs .lc-tabmenu .items .item.active .tag {
	background-color: #4BA3F2;
}

.automations-resource-details-content {
	padding: 0 10px;
}

/* Resource Info Card */
.automations-resource-info-card {
	background-color: var(--background-default);
	border-radius: 8px;
	padding: 16px;
	margin-bottom: 24px;
}

.automations-resource-info-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 16px;
}

.automations-resource-info-title-wrapper {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.automations-resource-info-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: Ubuntu, sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 160%;
	letter-spacing: -0.05em;
	font-feature-settings: lining-nums tabular-nums;
	font-variant-numeric: lining-nums tabular-nums;
	color: #6B6F7D;
	color: var(--text-dark, #6B6F7D);
}

.automations-resource-info-subtitle {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: Ubuntu, sans-serif;
	font-size: 12px;
	font-style: italic;
	color: #5E6E88;
	color: var(--text-light, #5E6E88);
	margin-left: 30px;
}

.automations-stale-warning {
	display: inline-flex;
	align-items: center;
	cursor: default;
}

.automations-stale-hint {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-left: 8px;
	padding: 8px 12px;
	border: 1px solid #fde68a;
	border-left: 3px solid #d97706;
	border-radius: 4px;
	background-color: #fffbeb;
	color: #92400e;
	font-family: Ubuntu, sans-serif;
	font-size: 13px;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.45;
}

.automations-stale-hint-text {
	display: flex;
	flex-direction: column;
}

.automations-resource-info-savings {
	text-align: right;
}

.automations-resource-info-savings-label {
	font-size: 12px;
	color: var(--text-light);
	display: block;
	margin-bottom: 4px;
}

.automations-resource-info-savings-value {
	font-family: Ubuntu, sans-serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 160%;
	letter-spacing: -0.05em;
	text-align: right;
	font-feature-settings: lining-nums tabular-nums;
	font-variant-numeric: lining-nums tabular-nums;
	color: #3EBB3F;
}

.automations-info-icon-wrapper {
	display: inline-flex;
	align-items: center;
	margin-left: 4px;
	vertical-align: middle;
}

.automations-info-icon {
	width: 14px;
	height: 14px;
	color: var(--text-default);
}

/* Resource Info Grid */
.automations-resource-info-grid {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.automations-resource-info-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-family: Ubuntu, sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 160%;
	letter-spacing: -0.05em;
	font-feature-settings: lining-nums tabular-nums;
	font-variant-numeric: lining-nums tabular-nums;
}

.automations-resource-info-item {
	display: flex;
	gap: 4px;
	flex: 1 1 auto;
}

.automations-resource-info-item label {
	color: #8B90A3;
}

.automations-resource-info-item span {
	color: #6B6F7D;
}

/* Automations Section */
.automations-resource-automations-section {
	margin-top: 24px;
}

.automations-resource-automations-title {
	font-size: 14px;
	color: var(--text-light);
	margin-bottom: 12px;
}

/* Automations Table in Modal */
.automations-resource-automations-table {
	width: 100%;
}

.automations-resource-automations-header {
	display: flex;
	padding: 8px 0;
	border-bottom: 1px solid var(--border-default);
	font-size: 12px;
	color: var(--text-light);
	font-weight: 500;
}

.automations-resource-automations-row {
	display: flex;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--border-light);
	font-size: 12px;
}

.automations-resource-automations-row:last-child {
	border-bottom: none;
}

.automations-resource-automation-cell {
	display: flex;
	align-items: center;
}

.automations-resource-automation-name {
	display: flex;
	align-items: center;
	gap: 8px;
}

.automations-resource-automation-status-bar {
	width: 3px;
	height: 20px;
	border-radius: 2px;
	margin-right: 8px;
}

/* Week days badges in modal - matching main listing sizes */
.automations-resource-weekdays {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}

.automations-resource-weekday-badge {
	font-size: 0.65rem;
	font-weight: 100;
	padding: 0;
	height: 1.1rem;
	width: 1.8rem;
	min-width: 0;
	min-width: initial;
	line-height: 1.1rem;
	text-align: center;
	border-radius: 9px;
	border: 0.5px solid white;
	background-color: #e4eaec;
	color: #76838f;
	margin-left: -4px;
	word-break: keep-all !important;
}

.automations-resource-weekday-badge:first-child {
	margin-left: 0;
}

.automations-resource-weekday-badge.active {
	background-color: var(--color-secondary-mint);
	color: #076e6e;
}

/* LcInfiniteTable cell classes */
.automations-automation-cell,
.weekDaysScheduledColumn,
.hourScheduledColumn,
.lastRunColumn,
.statusColumn,
.clusterServiceColumn,
.clusterCountColumn {
	display: flex;
	align-items: center;
}

/* Status labels */
.automations-resource-status-enabled {
	color: #3ebb3f;
}

.automations-resource-status-disabled {
	color: #dc291e;
}

/* Time column with icon */
.automations-resource-time {
	display: flex;
	align-items: center;
	gap: 4px;
}

/* Tab content placeholder */
.automations-tab-placeholder {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200px;
	color: var(--text-light);
}

/* Projected & Executed Savings Tabs - Shared Styles */
.automations-projected-savings-content,
.automations-executed-savings-content {
	padding: 0 10px;
}

.automations-savings-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
	margin-bottom: 16px;
}

.automations-savings-toggle {
	display: flex;
	justify-content: center;
	margin-bottom: 2px;
}

.automations-savings-card {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	gap: 6px;
}

.automations-savings-card-label {
	font-family: Ubuntu, sans-serif;
	font-size: 11px;
	color: var(--text-light);
}

.automations-savings-card-value {
	font-family: Ubuntu, sans-serif;
	font-weight: 700;
	font-size: 13px;
	line-height: 1;
	color: #6B6F7D;
	color: var(--text-dark, #6B6F7D);
}

.automations-savings-card-value.positive {
	color: #3EBB3F;
}

.automations-savings-card-value.small {
	font-size: 12px;
	font-weight: 400;
}

.automations-chart-container {
	padding: 16px;
	background-color: var(--background-default);
	border-radius: 8px;
}

/* Sync resource button */
.automations-sync-resource-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	background-color: #f0f0f0;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-family: Ubuntu, sans-serif;
	font-size: 12px;
	font-weight: 400;
	color: var(--text-default);
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.automations-sync-resource-btn:hover {
	background-color: #e0e0e0;
}

.automations-sync-resource-btn:disabled {
	cursor: not-allowed;
	opacity: 0.7;
}

.automations-sync-resource-btn .spinning {
	animation: spin 1s linear infinite;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}
.automations-weekly-summary {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 12px;
	font-family: 'Ubuntu', sans-serif;
}

.automations-weekly-summary-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 8px;
}

.automations-weekly-summary-tabs {
	width: 100%;
	margin-bottom: 4px;
	position: relative;
	border-bottom: 1px solid #EBEBEB;
	border-bottom: 1px solid var(--line-light, #EBEBEB);
}

.automations-weekly-summary-tabs .lc-tabmenu {
	margin-bottom: -8px;
}

.automations-weekly-summary-tabs .lc-tabmenu .items {
	display: flex;
	width: 100%;
}

.automations-weekly-summary-tabs .lc-tabmenu .items .item {
	font-family: Ubuntu, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: 0;
	text-align: center;
	text-transform: none;
	color: #5E6E88;
	color: var(--text-light, #5E6E88);
	padding: 0.2rem 0;
	padding-bottom: 0;
	margin-bottom: -1px;
	margin-right: 0;
	flex: 1 1;
}

.automations-weekly-summary-tabs .lc-tabmenu .items .item .tag {
	margin-top: 4px;
	margin-bottom: 0;
}

.automations-weekly-summary-tabs .lc-tabmenu .items .item.active {
	color: var(--text-default);
}

.automations-weekly-summary-tabs .lc-tabmenu .items .item.active .tag {
	background-color: #4BA3F2;
}

.automations-weekly-summary-subtitle {
	font-size: 11px;
	font-weight: 400;
	color: var(--text-default);
	opacity: 0.75;
}

/* ---- Daily Agenda (tab 1) reuses DailySummary classes ---- */

.automations-weekly-summary .automations-daily-summary-content {
	flex: 1 1;
	overflow: hidden;
}

.automations-weekly-summary .automations-daily-summary-columns {
	display: flex;
	gap: 24px;
	height: 100%;
}

.automations-weekly-summary .automations-daily-summary-column {
	flex: 1 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

.automations-weekly-summary .automations-column-header {
	font-size: 13px;
	font-weight: 700;
	color: var(--text-default);
	margin: 0 0 12px 0;
	padding-bottom: 8px;
	border-bottom: 1px solid #e5e7eb;
}

.automations-weekly-summary .automations-daily-summary-timeline {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1 1;
	overflow-y: auto;
}

.automations-weekly-summary .automations-timeline-hour-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 8px 12px;
	border-radius: 4px;
	min-height: 36px;
	flex-shrink: 0;
}

.automations-weekly-summary .automations-timeline-hour-row.past {
	background-color: #f9fafb;
}

.automations-weekly-summary .automations-timeline-hour-row.current {
	background-color: #fef3c7;
	border: 1px solid #d97706;
}

.automations-weekly-summary .automations-timeline-hour-row.future {
	background-color: #f8fafc;
}

.automations-weekly-summary .automations-timeline-hour-label {
	min-width: 70px;
	font-size: 12px;
	font-weight: 700;
	color: var(--text-default);
	display: flex;
	align-items: center;
	gap: 8px;
}

.automations-weekly-summary .automations-current-hour-badge {
	font-size: 10px;
	font-weight: 700;
	color: #fff;
	background-color: #d97706;
	padding: 2px 6px;
	border-radius: 4px;
}

.automations-weekly-summary .automations-timeline-hour-events {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 4px;
	flex: 1 1;
	min-width: 0;
}

.automations-weekly-summary .automations-timeline-no-events {
	color: #d1d5db;
	font-size: 12px;
}

/* Daily view uses full-size event badges (not compact) */
.automations-weekly-summary .automations-daily-summary-content .automations-timeline-event {
	font-size: 11px;
	max-width: 280px;
	padding: 3px 6px;
}

.automations-weekly-summary .automations-daily-summary-content .automations-timeline-event svg {
	width: 16px;
	height: 16px;
}

.automations-weekly-summary .automations-daily-summary-content .automations-timeline-event-label {
	font-size: 11px;
	max-width: 140px;
}

.automations-weekly-summary .automations-daily-summary-content .automations-timeline-event-code {
	font-size: 9px;
	max-width: 120px;
}

/* ---- CSS Grid layout: 8 columns (time + 7 days) ---- */

.automations-weekly-summary-grid {
	display: grid;
	grid-template-columns: 50px repeat(7, minmax(0, 1fr));
	grid-template-rows: 32px;
	grid-auto-rows: 60px;
	flex: 1 1;
	overflow-y: auto;
	overflow-x: hidden;
}

/* Header cells */

.automations-weekly-grid-header-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 32px;
	border-bottom: 1px solid #e5e7eb;
	font-size: 11px;
	color: var(--text-default);
	position: sticky;
	top: 0;
	z-index: 2;
	background-color: #fff;
	background-color: var(--background-default, #fff);
}

.automations-weekly-grid-header-cell.today {
	background-color: #eef2ff;
	border-bottom-color: #6366f1;
}

.automations-weekly-time-header {
	border-right: 1px solid #e5e7eb;
	position: sticky;
	top: 0;
	z-index: 2;
	background-color: #fff;
	background-color: var(--background-default, #fff);
}

.automations-weekly-day-name {
	font-weight: 700;
	font-size: 11px;
	text-transform: lowercase;
}

.automations-weekly-day-date {
	font-size: 10px;
	color: var(--text-default);
	opacity: 0.75;
}

/* Time label cells (first column in each row) */

.automations-weekly-time-cell {
	font-size: 11px;
	color: var(--text-default);
	opacity: 0.75;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	padding: 2px 6px 0 0;
	border-right: 1px solid #e5e7eb;
	border-bottom: 1px dashed #e5e7eb;
	box-sizing: border-box;
	min-height: 60px;
	min-width: 0;
}

/* Day cells (7 cells per row) */

.automations-weekly-hour-cell {
	border-bottom: 1px dashed #e5e7eb;
	border-left: 1px solid #f0f0f0;
	padding: 2px 2px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1px;
	box-sizing: border-box;
	min-width: 0;
	overflow-x: hidden;
	overflow-y: auto;
}

.automations-weekly-hour-cell.past {
	background-color: #f9fafb;
}

.automations-weekly-hour-cell.current {
	background-color: #fef3c7;
	border: 1px solid #d97706;
}

.automations-weekly-hour-cell.future {
	background-color: #f8fafc;
}

/* ---- Scoped overrides for event badges inside weekly grid ---- */

.automations-weekly-summary .automations-timeline-event {
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 1px 3px;
	border-radius: 3px;
	font-size: 10px;
	max-width: 100%;
	box-sizing: border-box;
	flex-shrink: 0;
	min-height: 0;
	line-height: 1.3;
	overflow: hidden;
	min-width: 0;
}

.automations-weekly-summary .automations-timeline-event svg {
	width: 11px;
	height: 11px;
	flex-shrink: 0;
}

.automations-weekly-summary .automations-timeline-event-label {
	font-size: 10px;
	font-weight: 400;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
	flex: 1 1;
}

.automations-weekly-summary .automations-timeline-event-code {
	font-size: 9px;
	padding: 0 2px;
	border-radius: 2px;
	max-width: 70px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/* Horizontal Layout Container */
.execution-timeline {
    display: flex;
    gap: 24px;
    padding: 16px;
    font-family: 'Ubuntu', sans-serif;
    min-height: 400px;
}

/* Loading & Empty States */
.timeline-loading,
.timeline-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px;
    color: #6b7280;
    gap: 12px;
    width: 100%;
}

.timeline-empty p {
    margin: 0;
    font-size: 14px;
}

/* Left Panel - Featured Latest Execution */
.timeline-featured {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
}

.featured-header {
    margin-bottom: 12px;
    height: 20px;
}

.featured-badge {
    font-size: 14px;
    font-weight: 700;
    color: #2E1956;
}

.featured-card {
    background: #fff;
    border-radius: 12px;
    border: 2px solid;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    flex: 1 1;
    display: flex;
    flex-direction: column;
}

.featured-status {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 20px;
    font-size: 20px;
    font-weight: 700;
}

.featured-details {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    background: #fafafa;
    border-top: 1px solid #e5e7eb;
    flex: 1 1;
}

.featured-info-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.featured-info-row svg {
    color: #9ca3af;
    flex-shrink: 0;
}

.featured-info-row .detail-label {
    flex: 1 1;
}

.featured-info-row .detail-value {
    font-size: 14px;
}

.featured-info-row.duration-row {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px dashed #e5e7eb;
}

.featured-info-row.duration-row .detail-value {
    font-size: 18px;
}

.detail-label {
    font-size: 11px;
    text-transform: uppercase;
    color: #9ca3af;
    letter-spacing: 0.5px;
}

.detail-value {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}

.detail-value.duration {
    color: #2E1956;
    font-size: 18px;
}

.featured-runid {
    padding: 12px 20px;
    background: #f3f4f6;
    border-top: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 8px;
}

.runid-label {
    font-size: 11px;
    color: #9ca3af;
    text-transform: uppercase;
}

.featured-runid code {
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 11px;
    color: #6b7280;
    background: #e5e7eb;
    padding: 2px 8px;
    border-radius: 4px;
    word-break: break-all;
}

/* Right Panel - Past Executions Timeline */
.timeline-past {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.timeline-past-title {
    font-size: 14px;
    font-weight: 700;
    color: #2E1956;
    margin: 0;
}

.timeline-empty-past {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1;
    color: #9ca3af;
    font-size: 14px;
    border: 2px dashed #e5e7eb;
    border-radius: 12px;
}

.timeline-empty-past p {
    margin: 0;
}

.timeline-list {
    display: flex;
    flex-direction: column;
    flex: 1 1;
    overflow-y: auto;
    padding-right: 8px;
}

.timeline-item {
    display: flex;
    gap: 16px;
    min-height: 56px;
}

.timeline-connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 16px;
}

.timeline-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 4px;
}

.timeline-line {
    width: 2px;
    flex: 1 1;
    background: #e5e7eb;
    margin: 4px 0;
}

.timeline-content {
    flex: 1 1;
    padding-bottom: 16px;
    border-radius: 4px;
}

.timeline-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.timeline-row.secondary {
    margin-top: 4px;
    font-size: 12px;
    color: #9ca3af;
}

.timeline-date {
    font-size: 14px;
    font-weight: 700;
    color: #374151;
}

.timeline-status {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
}

.timeline-duration {
    font-weight: 600;
    color: #6b7280;
}

/* Hover effect for timeline items */
.timeline-content:hover {
    background-color: #f9fafb;
    box-shadow: -4px 0 0 #f9fafb, 4px 0 0 #f9fafb;
}

/* Scrollbar styling */
.timeline-list::-webkit-scrollbar {
    width: 6px;
}

.timeline-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.timeline-list::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.timeline-list::-webkit-scrollbar-thumb:hover {
    background: #a1a1a1;
}
/* ═══════════════════════════════════════════════════
   Audit History Timeline — FinOps-aligned vertical timeline
   ═══════════════════════════════════════════════════ */

/* Container */
.audit-tl {
    display: flex;
    flex-direction: column;
    padding: 16px 24px;
    font-family: 'Ubuntu', sans-serif;
    min-height: 400px;
    gap: 16px;
}

/* Loading & Empty */
.audit-tl-loading,
.audit-tl-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
    gap: 12px;
    width: 100%;
}

.audit-tl-empty p {
    margin: 0;
    font-size: 14px;
}

/* Summary bar */
.audit-tl-summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 16px;
    background: #f9fafb;
    background: var(--background-secondary, #f9fafb);
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
}

.audit-tl-summary-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
}

.audit-tl-summary-item svg {
    color: #9ca3af;
    color: var(--text-tertiary, #9ca3af);
}

/* Timeline list */
.audit-tl-list {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding-right: 4px;
}

/* Entry row: connector + card */
.audit-tl-entry {
    display: flex;
    gap: 16px;
    position: relative;
}

/* Connector: dot + line */
.audit-tl-connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 20px;
    flex-shrink: 0;
}

.audit-tl-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 14px;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px #e5e7eb;
    box-shadow: 0 0 0 2px var(--border-color, #e5e7eb);
}

.audit-tl-dot--create {
    background: #22c55e;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
}

.audit-tl-dot--update {
    background: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

.audit-tl-line {
    width: 2px;
    flex: 1 1;
    background: #e5e7eb;
    background: var(--border-color, #e5e7eb);
}

/* Card */
.audit-tl-card {
    flex: 1 1;
    background: #fff;
    background: var(--background-primary, #fff);
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    margin-bottom: 16px;
    min-width: 0;
    overflow: hidden;
    transition: box-shadow 0.15s ease;
}

.audit-tl-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.audit-tl-card--latest {
    border-color: #2E1956;
    border-width: 1.5px;
    box-shadow: 0 2px 8px rgba(46, 25, 86, 0.08);
}

/* Card header */
.audit-tl-card-header {
    padding: 12px 16px;
}

.audit-tl-card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.audit-tl-version {
    font-size: 13px;
    font-weight: 700;
    color: #1f2937;
    color: var(--text-default, #1f2937);
}

.audit-tl-card-description {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
    flex-wrap: wrap;
}

.audit-tl-action-text {
    font-weight: 600;
}

.audit-tl-action-text--create {
    color: #16a34a;
}

.audit-tl-action-text--update {
    color: #2563eb;
}

.audit-tl-desc-text {
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
}

.audit-tl-current-badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #2E1956;
    background: rgba(46, 25, 86, 0.08);
    padding: 2px 8px;
    border-radius: 4px;
}

/* Details section title */
.audit-tl-details-title {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
    margin-bottom: 4px;
}

/* Change diff section */
.audit-tl-changes {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 16px;
    background: #f9fafb;
    background: var(--background-secondary, #f9fafb);
    border-top: 1px solid #e5e7eb;
    border-top: 1px solid var(--border-color, #e5e7eb);
}

.audit-tl-change-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
}

.audit-tl-change-field {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
    min-width: 60px;
}

.audit-tl-change-values {
    display: flex;
    align-items: center;
    gap: 6px;
}

.audit-tl-change-values svg {
    color: #9ca3af;
    color: var(--text-tertiary, #9ca3af);
}

.audit-tl-change-old {
    color: #dc2626;
    text-decoration: line-through;
    font-size: 12px;
    background: #fee2e2;
    padding: 1px 6px;
    border-radius: 3px;
}

.audit-tl-change-new {
    color: #16a34a;
    font-weight: 600;
    font-size: 12px;
    background: #dcfce7;
    padding: 1px 6px;
    border-radius: 3px;
}

/* Initial config for CREATE entries */
.audit-tl-initial {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 16px;
    background: #f9fafb;
    background: var(--background-secondary, #f9fafb);
    border-top: 1px solid #e5e7eb;
    border-top: 1px solid var(--border-color, #e5e7eb);
}

.audit-tl-init-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.audit-tl-init-label {
    font-size: 11px;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
}

.audit-tl-init-value {
    font-size: 12px;
    font-weight: 600;
    color: #1f2937;
    color: var(--text-default, #1f2937);
}

/* Scrollbar */
.audit-tl-list::-webkit-scrollbar {
    width: 5px;
}

.audit-tl-list::-webkit-scrollbar-track {
    background: transparent;
}

.audit-tl-list::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 3px;
}

.audit-tl-list::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

/* Placeholder entry (no CREATE record) */
.audit-tl-dot--placeholder {
    background: #e5e7eb;
    background: var(--border-color, #e5e7eb);
    box-shadow: 0 0 0 2px #e5e7eb;
    box-shadow: 0 0 0 2px var(--border-color, #e5e7eb);
    border-style: dashed;
}

.audit-tl-card--placeholder {
    border-style: dashed;
    border-color: #e5e7eb;
    border-color: var(--border-color, #e5e7eb);
    opacity: 0.7;
}
.automations-form {
    min-height: auto;
    height: 75vh;
    max-height: 75vh;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Saving overlay - blocks all interactions during save */
.automations-form .saving-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.85);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.automations-form .wizard-container {
    display: flex;
    flex-direction: column;
    flex: 1 1;
    min-height: 0;
    overflow: hidden;
}

.automations-form .wizard-content {
    flex: 1 1;
    padding: 16px 0;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.automations-form .wizard-buttons {
    display: flex;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid #eee;
    flex-shrink: 0;
}

.automations-form .wizard-buttons .lc-button.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.automations-form .form-label {
    color: var(--text-default);
    font-size: 12px;
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    margin-bottom: 8px;
    display: block;
}

.automations-form .step-description {
    color: #8B90A3;
    font-family: "Ubuntu", sans-serif;
    font-size: 14px;
    margin-bottom: 20px;
}

/* Resource Selection Step */
.automations-form .resource-selection-step {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.automations-form .resource-selection-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    grid-gap: 24px;
    gap: 24px;
    align-items: start;
}

.automations-form .resource-selection-left {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.automations-form .resource-selection-right {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.automations-form .form-field {
    display: flex;
    flex-direction: column;
}

.automations-form .loading-indicator {
    font-size: 11px;
    color: #8B90A3;
    margin-top: 4px;
}

/* Resource List */
.automations-form .resource-list-container {
    flex: 1 1;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    background-color: #fafafa;
}

.automations-form .resource-list {
    max-height: 265px;
    overflow-y: auto;
}

.automations-form .resource-list-loading,
.automations-form .resource-list-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px;
    color: #8B90A3;
    font-size: 14px;
}

.automations-form .resource-list-item {
    padding: 12px 16px;
    border-bottom: 1px solid #e8e8e8;
    cursor: pointer;
    transition: background-color 0.2s;
    position: relative;
}

.automations-form .resource-list-item:last-child {
    border-bottom: none;
}

.automations-form .resource-list-item:hover {
    background-color: #f0f0f0;
}

.automations-form .resource-list-item.selected {
    background-color: #e3f2fd;
    border-left: 3px solid #2E1956;
    border-left: 3px solid var(--color-primary-purple, #2E1956);
}

.automations-form .resource-list-item.automated {
    background-color: #fff8e1;
}

.automations-form .resource-list-item.automated.selected {
    background-color: #ffe0b2;
}

.automations-form .resource-item-info {
    flex: 1 1;
    min-width: 0;
}

.automations-form .resource-item-name {
    font-weight: 500;
    font-size: 14px;
    color: var(--text-default);
    margin-bottom: 4px;
}

.automations-form .resource-item-instance-size {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 400;
    white-space: nowrap;
    background-color: #f0f0f0;
    color: #6b7280;
    margin-left: 8px;
}

.automations-form .resource-item-details {
    font-size: 12px;
    color: #8B90A3;
    display: flex;
    gap: 12px;
}

.automations-form .automated-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    background-color: #ff9800;
    color: white;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 500;
}

/* Live Search Button */
.automations-form .live-search-container {
    display: flex;
    justify-content: center;
    margin-top: 8px;
}

.automations-form .btn-live-search {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 12px;
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    color: #2E1956;
    color: var(--color-primary-purple, #2E1956);
    background-color: transparent;
    border: 1px solid #2E1956;
    border: 1px solid var(--color-primary-purple, #2E1956);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.automations-form .btn-live-search:hover:not(:disabled) {
    background-color: #2E1956;
    background-color: var(--color-primary-purple, #2E1956);
    color: white;
}

.automations-form .btn-live-search:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.automations-form .btn-live-search .spinning {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Scheduling Step */
.automations-form .scheduling-step {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 1;
    min-height: 0;
    overflow: hidden;
}

/* Scheduling Header */
.automations-form .scheduling-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e0e0e0;
    flex-shrink: 0;
}

.automations-form .scheduling-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.automations-form .scheduling-header-icon svg {
    width: 40px;
    height: 40px;
}

.automations-form .scheduling-header-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.automations-form .scheduling-header-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    font-family: "Ubuntu", sans-serif;
    color: var(--text-default);
}

.automations-form .scheduling-header-instance-size {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 400;
    white-space: nowrap;
    background-color: #f0f0f0;
    color: #6b7280;
    margin-left: 10px;
}

.automations-form .scheduling-header-subtitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #8B90A3;
    font-family: "Ubuntu", sans-serif;
}

/* Scheduler List Container */
.automations-form .scheduler-list-container {
    flex: 1 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: visible;
}

/* Ensure dropdown menus are clickable - high z-index for menu portal */
.automations-form .ppdropdown__menu {
    z-index: 9999 !important;
}

/* Scheduler List */
.automations-form .scheduler-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Scheduler Item - Compact row style */
.automations-form .scheduler-item {
    background-color: transparent;
    border-bottom: 1px solid #f0f0f0;
    padding: 8px 0;
}

.automations-form .scheduler-item:first-child {
    padding-top: 0;
}

.automations-form .scheduler-item:last-child {
    border-bottom: none;
}

.automations-form .scheduler-row {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: nowrap;
    width: 100%;
}

/* Scheduler field labels - tighter spacing */
.automations-form .scheduler-row .form-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.automations-form .scheduler-row .form-label {
    margin-bottom: 2px;
    font-size: 11px;
    white-space: nowrap;
}

/* Field widths for compact layout */
.automations-form .scheduler-field-template {
    width: 264px;
    min-width: 264px;
    flex-shrink: 0;
}

.automations-form .scheduler-field-service {
    width: 200px;
    min-width: 200px;
    flex-shrink: 0;
}

.automations-form .scheduler-field-weekdays {
    flex-shrink: 0;
    width: auto;
}

.automations-form .scheduler-field-time {
    width: 120px;
    min-width: 120px;
    flex-shrink: 0;
}

.automations-form .scheduler-field-replicas {
    width: 70px;
    min-width: 70px;
    flex-shrink: 0;
}

.automations-form .scheduler-field-instance {
    width: 180px;
    min-width: 180px;
    flex-shrink: 0;
}

.automations-form .scheduler-field-description {
    flex: 1 1;
    min-width: 100px;
}

/* Actions always at the end */
.automations-form .scheduler-item-actions {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex-shrink: 0;
    min-width: 50px;
    margin-left: auto;
}

.automations-form .scheduler-item-actions .actions-row {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
    align-items: center;
    height: 36px;
}

/* Cost comparison icon - blue color */
.automations-form .scheduler-item-actions .cost-compare-icon {
    color: #0d6efd;
}

.automations-form .scheduler-item-actions .lc-icon-link:not(.disabled):hover .cost-compare-icon {
    color: #0a58ca;
}

/* Trash icon - red color */
.automations-form .scheduler-item-actions .trash-icon {
    color: #dc3545;
}

.automations-form .scheduler-item-actions .lc-icon-link:not(.disabled):hover .trash-icon {
    color: #a71d2a;
}

/* Add Automation Placeholder */
.automations-form .add-automation-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px;
    margin-top: 12px;
    border: 2px dashed #ccc;
    border-radius: 8px;
    color: #666;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: transparent;
}

.automations-form .add-automation-placeholder:hover:not(.disabled) {
    border-color: #007bff;
    color: #007bff;
    background-color: rgba(0, 123, 255, 0.03);
}

.automations-form .add-automation-placeholder.disabled {
    cursor: not-allowed;
    opacity: 0.5;
    border-color: #ddd;
    color: #999;
}

/* Form Input - Compact */
.automations-form .form-input {
    width: 100%;
    padding: 6px 10px;
    font-size: 13px;
    font-family: "Ubuntu", sans-serif;
    border: 1px solid #ccc;
    border-radius: 4px;
    outline: none;
    transition: border-color 0.2s;
    height: 36px;
    box-sizing: border-box;
}

.automations-form .form-input:focus {
    border-color: #2E1956;
    border-color: var(--color-primary-purple, #2E1956);
}

.automations-form .form-input[type="number"] {
    width: 100%;
    text-align: center;
}

.automations-form .form-input::placeholder {
    color: #999;
    font-size: 12px;
}

/* Weekdays - Compact with labels below */
/* Use !important to override legacy .weekdays-container from Form/index.css */
.automations-form .weekdays-container {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-end !important;
    gap: 4px !important;
    height: 36px !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.automations-form .weekday-checkbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    cursor: pointer;
    width: 26px;
    height: 100%;
}

.automations-form .weekday-checkbox .pp-checkbox {
    margin: 0;
    margin-bottom: 0;
}

.automations-form .weekday-label {
    font-size: 9px;
    color: #888;
    text-transform: lowercase;
    font-family: "Ubuntu", sans-serif;
    line-height: 1;
    margin-top: 2px;
    white-space: nowrap;
}

/* Time container - Compact */
.automations-form .time-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
    height: 36px;
}

.automations-form .time-container .ppdropdown {
    width: 50px !important;
    min-width: 50px !important;
    flex-shrink: 0;
}

.automations-form .time-container .ppdropdown-container {
    width: 50px !important;
    min-width: 50px !important;
}

.automations-form .time-container .ppdropdown__control {
    min-height: 32px !important;
    height: 32px !important;
}

.automations-form .time-container .ppdropdown__value-container {
    padding: 0 4px !important;
}

.automations-form .time-container .ppdropdown__indicators {
    display: none !important;
}

.automations-form .time-separator {
    font-size: 14px;
    font-weight: bold;
    padding: 0 2px;
    color: #666;
    flex-shrink: 0;
}

/* PPInput compact in scheduler */
.automations-form .scheduler-field .pp-input {
    height: 32px;
}

.automations-form .scheduler-field .pp-input .field {
    height: 32px;
    min-height: 32px;
}

.automations-form .scheduler-field .pp-input input {
    font-size: 12px;
    padding: 4px 8px;
}

/* PPDropDown compact in scheduler */
.automations-form .scheduler-row .ppdropdown {
    min-height: 32px;
}

.automations-form .scheduler-row .ppdropdown__control {
    min-height: 32px !important;
}

/* Ensure dropdowns in scheduler row have proper z-index */
.automations-form .scheduler-row .ppdropdown-container {
    position: relative;
}

/* Instance type dropdown - wider to prevent text wrapping */
.automations-form .scheduler-field-instance .ppdropdown-container {
    min-width: 180px;
}

/* Prevent option text from wrapping in dropdown */
.automations-form .scheduler-field-instance .ppdropdown__option {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Group header styling in dropdown */
.automations-form .scheduler-field-instance .ppdropdown__group-heading {
    font-weight: bold;
    font-size: 11px;
    color: #666;
    text-transform: uppercase;
}

/* PURGE Warning - shown when all automations are removed in edit mode */
.automations-form .purge-warning {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    margin: 20px 0;
    background-color: #fff5f5;
    border: 1px solid #feb2b2;
    border-radius: 6px;
    color: #c53030;
    font-size: 13px;
    line-height: 1.5;
}

.automations-form .purge-warning svg {
    flex-shrink: 0;
    color: #e53e3e;
}
.cost-compare-modal {
    padding: 16px;
    min-width: 400px;
}

.cost-compare-loading,
.cost-compare-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    color: #666;
}

.cost-compare-header {
    margin-bottom: 16px;
    font-size: 14px;
    color: #666;
}

.cost-compare-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 16px;
}

.cost-compare-table th,
.cost-compare-table td {
    padding: 10px 12px;
    text-align: center;
    border-bottom: 1px solid #eee;
}

.cost-compare-table th {
    background-color: #f8f9fa;
    font-weight: 600;
    font-size: 13px;
    color: #333;
}

.cost-compare-table td {
    font-size: 13px;
}

.cost-compare-table td.row-label {
    text-align: left;
    font-weight: 500;
    color: #666;
    background-color: #fafafa;
}

.cost-compare-table tr.difference-row td {
    background-color: #f0f7ff;
    border-top: 2px solid #dee2e6;
}

.cost-compare-table .cost-diff {
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
}

.cost-compare-table .cost-diff.savings {
    color: #198754;
    background-color: #d1e7dd;
}

.cost-compare-table .cost-diff.increase {
    color: #dc3545;
    background-color: #f8d7da;
}

.cost-compare-content {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
}

.cost-compare-content .cost-compare-table {
    flex: 1 1;
    min-width: 300px;
}

.cost-compare-chart {
    flex: 1 1;
    min-width: 280px;
    min-height: 200px;
}

.cost-compare-footer {
    text-align: center;
    color: #888;
    font-size: 11px;
    margin-top: 16px;
}


.automation-resource-list {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.automation-resource-list .automations-table {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    font-size: 13px;
}

.automation-resource-list .automations-table-header {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 34px;
    padding: 8px 0;
    border-bottom: 1px solid #e0e0e0;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    background-color: #fff;
    background-color: var(--background-default, #fff);
    color: var(--text-default);
    font-family: Ubuntu, sans-serif;
    font-size: 12px;
    font-weight: 700;
    position: sticky;
    top: 0;
    z-index: 1;
}

.automation-resource-list .automations-header-cell {
    box-sizing: border-box;
    padding: 0 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.automation-resource-list .automations-header-cell:first-child {
    padding-left: 8px;
}

.automation-resource-list .automations-header-cell--resource {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding-left: 4px;
}

.automation-resource-list .automations-expand-all-btn {
    position: static;
    top: auto;
    left: auto;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: none;
    color: var(--text-default);
    cursor: pointer;
}

.automation-resource-list .automations-expand-all-btn:hover {
    background-color: #f0f0f0;
    background-color: var(--menu-item-hover, #f0f0f0);
}

.automation-resource-list .automations-table-body {
    flex: 1 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.automation-resource-list .automations-table .lc-table-accordion {
    border-bottom: 1px solid #f0f0f0;
    border-bottom: 1px solid var(--border-color-light, #f0f0f0);
}

.automation-resource-list .automations-table .lc-table-accordion-header {
    min-height: 36px;
    border-bottom: 0;
}

.automation-resource-list .automations-table .lc-table-accordion-cell {
    padding: 4px 8px;
    overflow: visible;
}

.automation-resource-list .automations-table .lc-table-accordion-cell-content {
    overflow: visible;
}

.automation-resource-list .automations-scheduler-row {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 28px;
    margin-bottom: 1px;
    border-radius: 5px;
    background-color: #fff;
    position: relative;
}

.automation-resource-list .automations-scheduler-row:hover {
    background-color: #eee;
}

.automation-resource-list .automations-scheduler-cell {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 0 8px;
    font-size: 12px;
}

.automation-resource-list .automations-scheduler-automation {
    display: flex;
    align-items: center;
    gap: 6px;
}

.automation-resource-list .automations-status-bar {
    width: 5px;
    min-height: 28px;
    align-self: stretch;
    flex-shrink: 0;
    margin-left: 28px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.automation-resource-list .automations-scheduler-description-icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--text-default);
}

.automation-resource-list .overflowEllipsis,
.automation-resource-list .lastRunColumn,
.automation-resource-list .createdByColumn {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.automation-resource-list .weekDaysScheduledColumn,
.automation-resource-list .hourScheduledColumn,
.automation-resource-list .actionColumn {
    display: flex;
    align-items: center;
}

.automation-resource-list .weekDaysScheduledColumn {
    flex-wrap: nowrap;
}

.automation-resource-list .weekDaysScheduledColumn .MuiBadge-root {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    margin-left: -4px;
    vertical-align: middle;
}

.automation-resource-list .weekDaysScheduledColumn .MuiBadge-root:first-child {
    margin-left: 0;
}

.automation-resource-list .weekDaysScheduledColumn .MuiBadge-badge,
.automation-resource-list .customBadgeWeek .MuiBadge-badge {
    position: relative;
    min-width: 0;
    min-width: initial;
    width: 1.8rem;
    height: 1.1rem;
    padding: 0;
    transform: none;
    border: 0.5px solid #fff;
    border-radius: 9px;
    background-color: #e4eaec;
    color: #76838f;
    font-size: 0.65rem;
    font-weight: 100;
    line-height: 1.1rem;
    word-break: keep-all !important;
}

.automation-resource-list .weekDaysScheduledColumn .MuiBadge-colorPrimary .MuiBadge-badge {
    background-color: #b5f3df !important;
    background-color: var(--color-secondary-mint, #b5f3df) !important;
    color: #076e6e !important;
}

.automation-resource-list .statusEnabled {
    color: #3ebb3f;
    font-size: 11px;
    font-weight: 400;
}

.automation-resource-list .statusDisabled {
    color: #dc291e;
    font-size: 11px;
    font-weight: 400;
}

.automation-resource-list .actionColumn {
    gap: 4px;
}

.automation-resource-list .automations-resource-name-clickable {
    color: var(--color-secondary-cyan);
    cursor: pointer;
    text-decoration: underline;
}

.automation-resource-list .automations-resource-name-clickable:hover {
    color: var(--text-link-hover);
}

.automation-resource-list .automation-resource-list__resource-name--readonly {
    cursor: default;
    text-decoration: none;
}

.automation-resource-list .automations-table .lc-table-accordion-count {
    color: #8b90a3;
}

.automation-resource-list .automations-table-body::-webkit-scrollbar {
    width: 8px;
    height: 0;
}

.automation-resource-list .automations-table-body::-webkit-scrollbar-thumb {
    height: 8px;
    border-radius: 4px;
    background: #cccccf;
}

.automation-resource-list .automations-table-body::-webkit-scrollbar-thumb:hover {
    background: #bbb;
}

.automation-resource-list--dashboard {
    overflow: auto;
}

.automation-resource-list--dashboard .automations-table {
    min-width: 820px;
}

.slide-container {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.slide-item {
    animation: slideIn 0.5s ease-out;
    opacity: 1;
    transform: translateX(0);
}

.slide-item.sliding-out {
    animation: slideOut 0.5s ease-out;

}.slide-item.automation-content {
    display: flex;
    flex-direction: column;
    width: 100%;

}
.subtitle-dash.ellipsis.nextScheduleAutomation {
    color: #fff;
    display: flex;
    flex-direction: row;
    overflow: visible;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideOut {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(-100%);
    }
}

.automation-content {
    transition: all 0.3s ease-out;
}
.alert-card-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 6px 10px;
    background-color: #fff;
}

.alert-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.alert-card-title {
    font-family: "Ubuntu", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #5a6c7d;
    margin: 0;
    line-height: 1;
}

.alert-card-icon {
    font-size: 12px;
    color: #7a8a9a;
    cursor: pointer;
}

.alert-card-body {
    display: flex;
    justify-content: space-between;
    flex: 1 1;
    gap: 12px;
}

.alert-periods {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 6px;
    flex: 0 0 auto;
    min-width: 85px;
}

.alert-period-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.period-label {
    font-family: "Ubuntu", sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: #8a9bab;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.period-value {
    font-family: "Ubuntu", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #3d5a73;
    line-height: 1.3;
}

/* .alert-variation {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-around;
    flex: 1;
    gap: 2px;
} */

.variation-header {
    font-family: "Ubuntu", sans-serif;
    font-size: 10px;
    font-weight: 500;
    color: #2c3e50;
    margin-bottom: 0;
    line-height: 1;
}

.variation-percentage {
    font-family: "Ubuntu", sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: #e85454;
    line-height: 1.1;
}

.variation-amount {
    font-family: "Ubuntu", sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: #8a9bab;
    line-height: 1.2;
}

.variation-chart {
    width: 100%;
    height: 45px;
    min-height: 45px;
}

.alert-card-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 2px;
    padding-top: 4px;
    border-top: 1px solid #f0f2f5;
}

.alert-description {
  font-family: "Ubuntu", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  color: #8a9bab;
  letter-spacing: -0.02em;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}


/* Media query para resoluções maiores (1920px) */
@media screen and (min-width: 1920px) {
    .alert-card-title {
        font-size: 16px;
    }

    .alert-card-icon {
        font-size: 14px;
    }

    .period-label {
        font-size: 12px;
    }

    .period-value {
        font-size: 14px;
    }

    .variation-header {
        font-size: 12px;
    }

    .variation-percentage {
        font-size: 20px;
    }
 

    .alert-description {
        font-size: 0.875rem;
        /* 14px */
    }
}

/* Layout compacto para a coluna de variação */
.alert-variation.compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0;              /* tira espaços verticais */
  margin: 0;
  min-height: 24px;        /* garante faixa baixinha */
}

/* Bloco de texto (percentual + valor) em uma única linha */
.alert-variation .variation-meta {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  line-height: 1.05;
  white-space: nowrap;     /* evita quebrar em duas linhas */
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums; /* números com largura uniforme */
}

/* Percentual levemente maior que o valor absoluto */
.alert-variation .variation-meta .var-pct {
  font-size: 0.95rem;
  font-weight: 600;
}
.alert-variation .variation-meta .var-amt {
  font-size: 0.85rem;
  opacity: 0.9;
}

/* Separador discreto */
.alert-variation .variation-meta .dot {
  opacity: 0.5;
}

/* Cores por sinal (ajuste se inverter cores na sua convenção) */
.alert-variation .variation-meta.up .var-pct,
.alert-variation .variation-meta.up .var-amt {
  color: #d94141; /* positivo = vermelho (custos subiram) */
}
.alert-variation .variation-meta.down .var-pct,
.alert-variation .variation-meta.down .var-amt {
  color: #1b8f5a; /* negativo = verde (custos caíram) */
}

/* Área do sparkline bem compacta */
.alert-variation .variation-chart {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}

/* (Opcional) Deixa a descrição em uma linha com elipse */
.alert-card-footer .alert-description {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.alert-variation {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1;
  align-items: flex-end;
  justify-content: flex-start;
}

.variation-header {
  display: flex;
  align-items: baseline; /* % grande + valor pequeno alinhados */
  gap: 8px;
  line-height: 1;        /* compacto */
}

.variation-percentage {
  font-size: calc(2.8vh);
  font-weight: 400;
}

.variation-amount {
  font-size: 0.625rem;
  color: #7a8a9a;
}

.variation-chart {
  width: 100%;
  height: 45px;
  min-height: 45px;
  flex: 1 1;
}

.var-up { color: #ff4444; }   /* positivos = vermelho */
.var-down { color: #17a84b; } /* negativos = verde   */

/* Estilos para modo Home - base responsiva */
.alert-card-container.is-home {
    padding: calc(4px + 0.3vw) calc(6px + 0.4vw);
}

.alert-card-container.is-home .alert-card-body {
    flex-direction: column;
    gap: calc(4px + 0.3vw);
}

.alert-card-container.is-home .alert-periods {
    flex-direction: row;
    justify-content: space-between;
    min-width: 100%;
    gap: calc(6px + 0.5vw);
}

.alert-card-container.is-home .period-container {
    flex: 1 1;
}

.alert-card-container.is-home .period-label {
    font-size: clamp(9px, 1.35vh, 12px);
}

.alert-card-container.is-home .period-value {
    font-size: clamp(10px, 1.5vh, 13px);
}

.alert-card-container.is-home .alert-variation {
    width: 100%;
    align-items: stretch;
}

.alert-card-container.is-home .variation-percentage {
    text-align: center;
    font-size: clamp(20px, 4vh, 34px);
}

.alert-card-container.is-home .variation-chart {
    height: calc(40px + 3vw);
    min-height: 40px;
}

.alert-card-container.is-home .alert-card-footer {
    padding-top: calc(2px + 0.2vw);
    margin-top: calc(2px + 0.2vw);
}

.alert-card-container.is-home .footer-subtitle {
    font-size: clamp(9px, 1.25vh, 11px);
}

/* Home - ocultar chart em telas com altura menor que 700px */
@media (max-height: 700px) {
    .alert-card-container.is-home .variation-chart {
        display: none;
    }
}

/* Home - telas 900px+ */
@media (min-width: 900px) {
    .alert-card-container.is-home {
        padding: 8px 12px;
    }

    .alert-card-container.is-home .alert-card-body {
        gap: 8px;
    }

    .alert-card-container.is-home .alert-periods {
        gap: 12px;
    }

    .alert-card-container.is-home .period-label {
        font-size: 9px;
    }

    .alert-card-container.is-home .period-value {
        font-size: 11px;
    }

    .alert-card-container.is-home .variation-percentage {
        font-size: 28px;
    }

    .alert-card-container.is-home .variation-chart {
        height: 80px;
        min-height: 80px;
    }

    .alert-card-container.is-home .alert-card-footer {
        padding-top: 4px;
        margin-top: 4px;
    }

    .alert-card-container.is-home .footer-subtitle {
        font-size: 9px;
    }
}
/* CMS Operations Dashboard — corpo em abas (LcCategoryTabs) dentro do LCDashboard 12-row */

/* Grid de painéis dentro do corpo da aba */
.cmsops-tab-grid {
    display: grid;
    grid-gap: 14px;
    gap: 14px;
    grid-template-columns: 1fr 1.6fr;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: auto;
    padding: 2px;
}

.cmsops-tab-grid--three {
    grid-template-columns: 1.3fr 0.9fr 1.3fr;
}

.cmsops-tab-grid--operations {
    grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.8fr);
}

/* LCDashboard interno: os painéis continuam encapsulados no bodyCard das
   abas não executivas, mas seguem o mesmo padrão de altura e overflow dos
   cards diretos do Executivo. */
.cmsops-inner-dashboard {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.cmsops-inner-dashboard__grid {
    width: 100%;
    height: 100%;
    min-height: 100% !important;
    max-height: 100% !important;
    overflow: hidden;
}

.cmsops-inner-dashboard__grid .lcdashboard-cards,
.cmsops-inner-dashboard__grid .lcdashboard-cards .lcdashboard-cards-panel,
.cmsops-inner-dashboard__grid .lcdashboard-cards .lcdashboard-cards-panel > div,
.cmsops-inner-dashboard__grid .lcdashboard-cards-panel-body {
    min-height: 100%;
    max-height: 100%;
}

.cmsops-inner-dashboard__grid .lcdashboard-cards-panel-body {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.cmsops-inner-dashboard__grid .card-frame {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.cmsops-inner-dashboard__grid .card-frame > .card-content-body,
.cmsops-inner-dashboard__grid .card-frame > .card-content-body > .card-content-body-content {
    min-height: 0;
    max-height: 100%;
}

.cmsops-inner-dashboard__grid .card-frame > .card-content-body {
    flex: 1 1;
    height: 0;
    overflow: hidden;
}

.cmsops-inner-dashboard__grid .card-frame > .card-content-body > .card-content-body-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.cmsops-inner-dashboard__grid .cmsops-panel--automation-list .card-content-body-content,
.cmsops-inner-dashboard__grid .cmsops-panel--resources .card-content-body-content {
    min-height: 0;
    overflow: hidden;
}

.cmsops-inner-dashboard__grid .cmsops-panel--automation-list .automation-resource-list--dashboard,
.cmsops-inner-dashboard__grid .cmsops-panel--resources .cmsops-resources-embed {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.cmsops-card-title {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    gap: 10px;
}

.cmsops-card-title__label {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 7px;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    font-weight: 700;
    white-space: nowrap;
}

.cmsops-card-title__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #471FCC;
    color: var(--color-primary-blue, #471FCC);
}

.cmsops-card-title__meta {
    margin-left: auto;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    font-size: 0.72rem;
    font-weight: 500;
    white-space: nowrap;
}

.cmsops-card-title > .cmsops-panel__link {
    margin-left: auto;
    flex-shrink: 0;
}

.cmsops-card-title__meta + .cmsops-panel__link {
    margin-left: 2px;
}

/* ── Cabeçalho executivo — quatro cards navegáveis ── */
.cmsops-dashboard .card-frame.cmsops-header-card {
    min-width: 0;
    padding: 0 !important;
    overflow: visible;
    border: 1px solid #ECEAF3;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(58, 79, 135, 0.05);
}

/* O Executivo usa oito faixas efetivas; as demais abas usam as doze colunas
   do LCDashboard para distribuir os cards por toda a largura disponível. */
.cmsops-dashboard--executive > .lcdashboard-cards .lcdashboard-cards-panel-body {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

/* Altura real do viewport: sem isso o grid 1fr colapsa e o bodyCard
   (rows 3–12) não ocupa o restante vertical sob os KPIs. */
.lcdashboard.cmsops-dashboard {
    width: 100%;
    height: calc(100vh - 104px) !important;
    min-height: calc(100vh - 104px) !important;
    max-height: calc(100vh - 104px) !important;
}

.cmsops-dashboard > .lcdashboard-cards,
.cmsops-dashboard > .lcdashboard-cards > .lcdashboard-cards-panel {
    height: 100%;
    min-height: 0;
    max-height: 100%;
}

.cmsops-dashboard > .lcdashboard-cards > .lcdashboard-cards-panel {
    display: grid !important;
    grid-template-rows: 1fr !important;
}

.cmsops-dashboard > .lcdashboard-cards .lcdashboard-cards-panel-body {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    align-content: stretch;
}

.cmsops-dashboard--operational > .lcdashboard-cards .lcdashboard-cards-panel-body {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(12, minmax(0, 1fr)) !important;
}

/* Os painéis do Executivo são cards diretos do LCDashboard raiz; as demais
    abas ficam encapsuladas no bodyCard e mantêm seus grids internos. */
.cmsops-dashboard > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-panel {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.cmsops-dashboard > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-panel > .card-content-body {
    flex: 1 1;
    height: 0;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
}

.cmsops-dashboard > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-panel > .card-content-body > .card-content-body-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
}

/* O corpo das abas não executivas ocupa as doze colunas do LCDashboard raiz
   e as 10 linhas restantes (3→12) sob a faixa de KPIs. */
.cmsops-dashboard--operational > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-body-card {
    display: flex !important;
    flex-direction: column;
    grid-row: 3 / -1 !important;
    grid-column: 1 / -1 !important;
    width: 100%;
    min-width: 0;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden;
    align-self: stretch;
    justify-self: stretch;
}

.cmsops-dashboard--operational > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-body-card > .card-content-body,
.cmsops-dashboard--operational > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-body-card > .card-content-body.fromStart,
.cmsops-dashboard--operational > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-body-card > .card-content-body.centered {
    display: flex !important;
    flex: 1 1 !important;
    flex-direction: column !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
}

.cmsops-dashboard--operational > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-body-card > .card-content-body > .card-content-body-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100%;
    min-width: 0;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
}

.cmsops-dashboard .card-frame.cmsops-header-card.is-active {
    border-color: #D8B8F2;
    background: linear-gradient(135deg, #fff 0%, #FCF9FF 100%);
    box-shadow: 0 2px 12px rgba(140, 64, 227, 0.08);
}

.cmsops-dashboard .card-frame.cmsops-header-card .card-content-body {
    width: 100%;
    max-height: 100%;
    min-height: 100%;
    padding: 0;
}

.cmsops-dashboard .card-frame.cmsops-header-card .card-content-body-content {
    display: block;
    width: 100%;
    height: 100%;
}

/* ── Escala tipografica local para revisao ────────────────────────────────
   Papéis: kpi, section, body, caption e micro. A altura controla a escala;
   os limites em rem impedem que telas extremas tornem o texto ilegivel.
   Este bloco e um candidato a padrao global, mas permanece escopado ao CMS
   ate a revisao visual humana em outras telas. */
.cmsops-dashboard {
    --cmsops-font-family: "Ubuntu", sans-serif;
    --cmsops-font-kpi-label: clamp(9px, 2.35vh, 19px);
    --cmsops-font-kpi-value: clamp(16px, 4.7vh, 38px);
    --cmsops-font-section: clamp(9px, 2.15vh, 18px);
    --cmsops-font-body: clamp(8px, 2vh, 16px);
    --cmsops-font-caption: clamp(8px, 1.75vh, 14px);
    --cmsops-font-micro: clamp(7px, 1.65vh, 13px);
    --cmsops-font-weight-medium: 500;
    --cmsops-font-weight-semibold: 600;
    --cmsops-font-weight-bold: 700;
    font-family: var(--cmsops-font-family);
}

.cmsops-dashboard button,
.cmsops-dashboard input,
.cmsops-dashboard select {
    font-family: var(--cmsops-font-family);
}

/* ── Executivo responsivo ────────────────────────────────────────────────
   Os painéis do Executivo são cards diretos do LCDashboard. Os componentes
   IconValue ainda usam tamanhos relativos ao viewport; estes aliases mantêm
   o contrato antigo sem criar uma segunda escala tipografica. */
.cmsops-dashboard--executive {
    --cmsops-exec-title-size: var(--cmsops-font-section);
    --cmsops-exec-value-size: var(--cmsops-font-kpi-value);
    --cmsops-exec-caption-size: var(--cmsops-font-caption);
    --cmsops-exec-panel-size: var(--cmsops-font-body);
    --cmsops-exec-meta-size: var(--cmsops-font-micro);
}

.cmsops-dashboard--executive > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-panel {
    gap: clamp(3px, 0.65vh, 10px);
    padding: clamp(6px, 0.8vw, 14px) clamp(8px, 1vw, 16px);
}

.cmsops-dashboard--executive > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-panel > .card-frame-header-content {
    min-width: 0;
    gap: clamp(3px, 0.6vh, 8px);
}

.cmsops-dashboard--executive > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-panel .card-title {
    min-width: 0 !important;
    height: auto;
    flex: 1 1 auto;
    overflow: hidden;
}

.cmsops-dashboard--executive .cmsops-card-title {
    min-width: 0;
    gap: clamp(3px, 0.6vh, 7px);
    overflow: hidden;
    font-size: var(--cmsops-exec-title-size);
    line-height: 1.15;
}

.cmsops-dashboard--executive .cmsops-card-title__label {
    min-width: 0;
    gap: clamp(3px, 0.55vh, 7px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: inherit;
}

.cmsops-dashboard--executive .cmsops-card-title__icon {
    flex: 0 0 auto;
}

.cmsops-dashboard--executive .cmsops-card-title__meta {
    min-width: 0;
    max-width: 42%;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--cmsops-exec-meta-size);
}

.cmsops-dashboard--executive .cmsops-panel__link {
    max-width: 42%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-exec-meta-size);
}

/* Cabeçalhos superiores: a altura de duas linhas precisa comportar título,
   valor e descrição sem deixar a última linha sair do card. */
.cmsops-dashboard--executive .cmsops-header-card__inner {
    padding: clamp(6px, 0.8vh, 10px) clamp(8px, 1.2vw, 20px) clamp(5px, 0.6vh, 8px);
}

.cmsops-dashboard--executive .cmsops-header-card__title {
    max-width: 100%;
    gap: clamp(4px, 0.8vh, 12px);
    overflow: hidden;
    font-size: var(--cmsops-exec-title-size);
    white-space: nowrap;
}

.cmsops-dashboard--executive .cmsops-header-card__title > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cmsops-dashboard--executive .cmsops-header-card__icon svg {
    width: clamp(16px, 2.8vh, 25px);
    height: clamp(16px, 2.8vh, 25px);
}

.cmsops-dashboard--executive .cmsops-header-card__value {
    max-width: 100%;
    margin-top: clamp(4px, 1vh, 10px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-exec-value-size);
}

.cmsops-dashboard--executive .cmsops-header-card__description {
    max-width: 100%;
    margin-top: clamp(2px, 0.35vh, 4px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-exec-caption-size);
    line-height: 1.15;
}

.cmsops-header-card__anchor {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.cmsops-header-card__inner {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 14px 20px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #3B3A5D;
    cursor: pointer;
    outline: none;
    text-align: left;
}

.cmsops-header-card__inner:hover,
.cmsops-header-card__inner:focus-visible {
    background: #FCFAFF;
}

.cmsops-header-card__title {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #4B4A67;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
}

.cmsops-header-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #62657D;
}

.cmsops-header-card__inner.is-active .cmsops-header-card__icon,
.cmsops-header-card__inner.is-active .cmsops-header-card__title {
    color: #7350A9;
}

.cmsops-header-card__value {
    margin-top: 17px;
    color: #302E59;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.cmsops-header-card__description {
    margin-top: 6px;
    color: #666780;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
}

.cmsops-header-card__updated {
    position: absolute;
    top: -25px;
    right: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #777A91;
    cursor: pointer;
    font-size: 0.68rem;
    font-weight: 500;
    white-space: nowrap;
}

.cmsops-header-card__updated:hover {
    color: #5E438D;
}

/* ── Primeira tela do card principal (Estate) ── */
.cmsops-estate-overview {
    display: grid;
    grid-template-rows: minmax(240px, 0.82fr) minmax(290px, 1fr);
    grid-gap: 14px;
    gap: 14px;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: auto;
    padding: 2px;
}

.cmsops-estate-overview > .cmsops-tab-grid--estate-top {
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.cmsops-estate-chart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: 14px;
    gap: 14px;
    min-height: 0;
}

.cmsops-dashboard--executive .cmsops-panel--estate .cmsops-estate {
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    overflow: auto;
}

.cmsops-dashboard--executive .cmsops-estate__head,
.cmsops-dashboard--executive .cmsops-estate__row {
    grid-template-columns: minmax(0, 1.5fr) minmax(40px, 0.55fr) minmax(40px, 0.5fr) minmax(52px, 0.75fr);
    gap: clamp(3px, 0.55vh, 8px);
    min-width: 0;
    padding: clamp(3px, 0.65vh, 8px) 2px;
}

.cmsops-dashboard--executive .cmsops-estate__head {
    font-size: var(--cmsops-exec-meta-size);
    white-space: nowrap;
}

.cmsops-dashboard--executive .cmsops-estate__row {
    min-width: 0;
    font-size: var(--cmsops-exec-panel-size);
}

.cmsops-dashboard--executive .cmsops-estate__row > span,
.cmsops-dashboard--executive .cmsops-estate__head > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cmsops-dashboard--executive .cmsops-estate__prov {
    min-width: 0;
    gap: clamp(3px, 0.5vh, 7px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-dashboard--executive .cmsops-estate__health {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-exec-meta-size);
}

@media (max-width: 1200px) {

    .cmsops-tab-grid,
    .cmsops-tab-grid--three,
    .cmsops-tab-grid--operations {
        grid-template-columns: 1fr;
    }

    .cmsops-estate-overview {
        grid-template-rows: auto;
    }

    .cmsops-estate-overview > .cmsops-tab-grid--estate-top {
        grid-template-columns: 1fr;
    }

    .cmsops-estate-chart-grid {
        grid-template-columns: 1fr;
    }
}

/* Embed da seção Recursos (operations/EstateList) no body */
.cmsops-resources-embed {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.cmsops-resources-embed .ops-est {
    padding: 0;
}

/* Embed da seção Serviços (operations/ServiceCatalog) no body */
.cmsops-services-embed {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.cmsops-services-embed .ops-svc {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    padding: 0;
}

/* Catálogo em grid próprio + painel de detalhe (sem LCDashboard interno). */
.cmsops-services-embed .cms-svc,
.cmsops-services-embed .cms-svc-grid,
.cmsops-services-embed .cms-svc-panel,
.cmsops-services-embed .cms-svc-panel__body {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.cmsops-services-embed .cms-svc-grid {
    overflow: auto;
    height: auto;
    max-height: 100%;
}

/* Body card da aba Serviços: o conteúdo custom (CmsServicesTab) precisa
   esticar 100% para o painel de detalhe ocupar a área sob os KPIs. */
.cmsops-dashboard--operational > .lcdashboard-cards .lcdashboard-cards-panel-body > .cmsops-body-card > .card-content-body > .card-content-body-content > .cmsops-services-embed {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.cmsops-panel {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #E8E5F1;
    border: 1px solid var(--border-color, #E8E5F1);
    background: #fff;
    min-height: 0;
}

.cmsops-panel--automation-list {
    min-width: 0;
    overflow: hidden;
}

.cmsops-panel--automation-list > .lc-loading,
.cmsops-panel--automation-list > .automation-resource-list {
    flex: 1 1;
    min-height: 0;
    overflow: hidden;
}

.cmsops-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.cmsops-panel__head h3 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.cmsops-panel__meta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 0.74rem;
    color: #8684A8;
    color: var(--text-light, #8684A8);
}

.cmsops-panel__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 0.76rem;
    font-weight: 600;
    color: #471FCC;
    color: var(--color-primary-blue, #471FCC);
}

.cmsops-panel__link:hover {
    text-decoration: underline;
}

/* ── Multicloud Estate ── */
.cmsops-estate {
    display: flex;
    flex-direction: column;
}

.cmsops-estate__head,
.cmsops-estate__row {
    display: grid;
    grid-template-columns: 1.5fr 0.55fr 0.5fr 0.75fr;
    align-items: center;
    grid-gap: 8px;
    gap: 8px;
    padding: 8px 4px;
}

.cmsops-estate__head {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    font-weight: 700;
    border-bottom: 1px solid #EFEDF6;
    border-bottom: 1px solid var(--border-color, #EFEDF6);
}

.cmsops-estate__head > span:nth-child(2),
.cmsops-estate__head > span:nth-child(3),
.cmsops-estate__head > span:nth-child(4),
.cmsops-estate__row > span:nth-child(2),
.cmsops-estate__row > span:nth-child(3),
.cmsops-estate__row > span:nth-child(4) {
    text-align: right;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.cmsops-estate__row {
    border-bottom: 1px solid #F2F0F8;
    border-bottom: 1px solid var(--border-color, #F2F0F8);
    font-size: 0.82rem;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.cmsops-estate__row:last-child {
    border-bottom: 0;
}

.cmsops-estate__prov {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 600;
}

.cmsops-estate__num,
.cmsops-estate__pct {
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.cmsops-estate__pct {
    color: #8684A8;
    color: var(--text-light, #8684A8);
    font-weight: 600;
}

.cmsops-estate__res {
    font-weight: 600;
}

/* ── Inventário preservado ── */
.cmsops-panel--inv .cmsops-inv {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 10px;
    gap: 10px;
}

.cmsops-dashboard--executive .cmsops-panel--inv .cmsops-inv {
    grid-template-rows: repeat(2, minmax(0, 1fr));
    height: 100%;
    min-height: 0;
    gap: clamp(3px, 0.8vh, 10px);
    overflow: hidden;
}

@media (max-width: 900px) {
    .cmsops-panel--inv .cmsops-inv {
        grid-template-columns: repeat(2, 1fr);
    }
}

.cmsops-inv__cell {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border: 1px solid #EFEDF6;
    border: 1px solid var(--border-color, #EFEDF6);
    border-radius: 10px;
    padding: 8px;
    min-height: 96px;
}

.cmsops-dashboard--executive .cmsops-inv__cell {
    min-width: 0;
    min-height: 0;
    gap: clamp(2px, 0.5vh, 6px);
    padding: clamp(4px, 0.7vh, 8px);
    overflow: hidden;
}

@media (max-width: 560px) {
}

@media (max-width: 900px) {
    .cmsops-dashboard--executive .cmsops-panel--inv .cmsops-inv {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 560px) {
    .cmsops-dashboard--executive .cmsops-panel--inv .cmsops-inv {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(6, minmax(0, 1fr));
    }

}

.cmsops-inv__t {
    font-size: 0.72rem;
    font-weight: 700;
    color: #6B6890;
    color: var(--text-light, #6B6890);
    text-transform: uppercase;
    letter-spacing: .02em;
}

.cmsops-dashboard--executive .cmsops-inv__t {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-exec-meta-size);
    line-height: 1.1;
}

/* IconValue recebe alguns tamanhos inline em vw/vh. Estas regras têm escopo
   apenas no Executivo e usam !important para adaptar os valores inline sem
   alterar o comportamento dos demais dashboards. */
.cmsops-dashboard--executive .cmsops-panel--inv .iconvaluecontent {
    min-width: 0;
    max-width: 100%;
    gap: clamp(2px, 0.5vh, 6px);
}

.cmsops-dashboard--executive .cmsops-panel--inv .iconvaluecontent .icone {
    flex: 0 0 auto;
    min-width: 0;
}

.cmsops-dashboard--executive .cmsops-panel--inv .iconvaluecontent .icone svg {
    width: clamp(15px, 2.6vh, 32px) !important;
    height: clamp(15px, 2.6vh, 32px) !important;
}

.cmsops-dashboard--executive .cmsops-panel--inv .truncate-container {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
}

.cmsops-dashboard--executive .cmsops-panel--inv .iconvaluecontent .data {
    min-width: 0 !important;
    max-width: 100%;
}

.cmsops-dashboard--executive .cmsops-panel--inv .iconvaluecontent .data > div {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-font-kpi-value) !important;
    line-height: 1.1;
}

.cmsops-dashboard--executive .cmsops-panel--inv .iconvaluecontent .description {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-exec-meta-size) !important;
    line-height: 1.1;
}

/* ── Listas (incidentes / pendências) ── */
.cmsops-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.cmsops-list__row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 2px;
    border-top: 1px solid #F2F0F8;
    border-top: 1px solid var(--border-color, #F2F0F8);
}

.cmsops-list__row:first-child {
    border-top: 0;
}

.cmsops-sev {
    flex-shrink: 0;
    width: 4px;
    height: 30px;
    border-radius: 3px;
    background: #8684A8;
    background: var(--text-light, #8684A8);
}

.cmsops-sev--crit {
    background: #DC291E;
    background: var(--status-red, #DC291E);
}

.cmsops-sev--high {
    background: #E2591E;
}

.cmsops-sev--med {
    background: #E2A100;
}

.cmsops-sev--low {
    background: #3b82f6;
}

.cmsops-sev--info {
    background: #8684A8;
    background: var(--text-light, #8684A8);
}

.cmsops-list__main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1;
}

.cmsops-list__title {
    font-size: 0.82rem;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-list__sub {
    font-size: 0.72rem;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-list__at {
    font-size: 0.72rem;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    white-space: nowrap;
    flex-shrink: 0;
}

.cmsops-badge {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 999px;
    flex-shrink: 0;
}

.cmsops-badge--warn {
    background: color-mix(in srgb, #E2A100 16%, #fff);
    color: #9A6E00;
}

/* ── Gauge de automação ── */
.cmsops-panel--gauge {
    align-items: center;
}

.cmsops-gauge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 6px 0;
}

.cmsops-gauge__ring {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: conic-gradient(#34C38F calc(var(--pct) * 1%), #F1EFF8 0);
    background: conic-gradient(var(--color-secondary-green-light, #34C38F) calc(var(--pct) * 1%), var(--background-neutral, #F1EFF8) 0);
}

.cmsops-gauge__ring::after {
    content: '';
    position: absolute;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: #fff;
}

.cmsops-gauge__pct {
    position: relative;
    z-index: 1;
    font-size: 1.5rem;
    font-weight: 700;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.cmsops-gauge__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    justify-content: center;
    font-size: 0.76rem;
    color: #6B6890;
    color: var(--text-light, #6B6890);
}

.cmsops-gauge__legend strong {
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

/* ── Feed de auditoria ── */
.cmsops-feed {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.cmsops-feed__row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 2px;
    border-top: 1px solid #F2F0F8;
    border-top: 1px solid var(--border-color, #F2F0F8);
}

.cmsops-feed__row:first-child {
    border-top: 0;
}

.cmsops-feed__row--error .cmsops-feed__action {
    color: #DC291E;
    color: var(--status-red, #DC291E);
}

.cmsops-feed__prov {
    flex-shrink: 0;
    width: 24px;
    display: inline-flex;
    justify-content: center;
}

.cmsops-feed__main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1;
}

.cmsops-feed__action {
    font-size: 0.8rem;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-feed__res {
    font-size: 0.72rem;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-feed__at {
    font-size: 0.72rem;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    white-space: nowrap;
    flex-shrink: 0;
}

.cmsops-audit-feed {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.cmsops-audit-toolbar {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #F2F0F8;
    border-bottom: 1px solid var(--border-color, #F2F0F8);
}

.cmsops-audit-search,
.cmsops-audit-filter {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    height: 30px;
    border: 1px solid #E8E5F1;
    border: 1px solid var(--border-color, #E8E5F1);
    border-radius: 6px;
    background: #fff;
    color: #8684A8;
    color: var(--text-light, #8684A8);
}

.cmsops-audit-search {
    flex: 1 1 190px;
    gap: 6px;
    padding: 0 9px;
}

.cmsops-audit-search input,
.cmsops-audit-filter select {
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    font: inherit;
    font-size: 0.72rem;
}

.cmsops-audit-search input {
    width: 100%;
}

.cmsops-audit-search input::placeholder {
    color: #8684A8;
    color: var(--text-light, #8684A8);
}

.cmsops-audit-filter {
    flex: 0 1 142px;
    gap: 5px;
    padding: 0 7px;
}

.cmsops-audit-filter select {
    width: 100%;
    cursor: pointer;
}

.cmsops-audit-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #E8E5F1;
    border: 1px solid var(--border-color, #E8E5F1);
    border-radius: 6px;
    background: #fff;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    cursor: pointer;
}

.cmsops-audit-clear:hover:not(:disabled) {
    border-color: #CDB6E8;
    background: #FCF9FF;
}

.cmsops-audit-clear:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.cmsops-audit-result-count {
    margin-left: auto;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    font-size: 0.68rem;
    white-space: nowrap;
}

.cmsops-audit-empty-filter {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    min-height: 80px;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    font-size: 0.76rem;
    text-align: center;
}

.cmsops-audit-feed .cmsops-feed {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.cmsops-audit-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
    padding-top: 8px;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    font-size: 0.72rem;
}

.cmsops-audit-pagination__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid #E8E5F1;
    border: 1px solid var(--border-color, #E8E5F1);
    border-radius: 6px;
    background: #fff;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    cursor: pointer;
}

.cmsops-audit-pagination__button:hover:not(:disabled) {
    border-color: #CDB6E8;
    background: #FCF9FF;
}

.cmsops-audit-pagination__button:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.cmsops-alert-embed {
    min-height: 0;
}

.cmsops-auto-stack {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cmsops-auto-schedule {
    width: 100%;
    border: 1px solid #E8E5F1;
    border: 1px solid var(--border-color, #E8E5F1);
    border-radius: 10px;
    overflow: hidden;
    background: #6c3ec6;
    background: var(--color-primary-purple, #6c3ec6);
}

.cmsops-auto-schedule .card-big-number {
    height: auto;
    min-height: 104px;
    margin: 0;
}

.cmsops-auto-schedule .subtitle-dash.ellipsis.nextScheduleAutomation {
    padding: 10px 12px;
}

.cmsops-list--demands .cmsops-list__row {
    align-items: flex-start;
}

.cmsops-panel--demands .cmsops-demands-list {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.cmsops-panel--demands .cmsops-list--demands {
    min-width: 0;
}

.cmsops-demand__main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1;
}

.cmsops-demand__title {
    font-size: 0.82rem;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-demand__sub {
    font-size: 0.72rem;
    color: #8684A8;
    color: var(--text-light, #8684A8);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-demand__status {
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
    margin-left: 8px;
}

.cmsops-demand__approval-badge {
    flex-shrink: 0;
    margin-left: 8px;
    padding: 3px 8px;
    border: 1px solid #d69e2e;
    border-radius: 999px;
    background: #fffaf0;
    color: #9c6b08;
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
}

.cmsops-demand__approval-badge:hover,
.cmsops-demand__approval-badge:focus-visible {
    border-color: #b7791f;
    background: #fef3c7;
    outline: none;
}

.cmsops-approval-modal__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(31, 28, 52, 0.42);
}

.cmsops-approval-modal {
    display: flex;
    flex-direction: column;
    width: min(100%, 520px);
    max-height: min(720px, calc(100vh - 48px));
    overflow: hidden;
    border: 1px solid #e6e1ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(31, 28, 52, 0.24);
}

.cmsops-approval-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid #eeeaf4;
}

.cmsops-approval-modal__heading {
    min-width: 0;
}

.cmsops-approval-modal__eyebrow,
.cmsops-approval-modal__label {
    display: block;
    color: #777a91;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cmsops-approval-modal__heading h2 {
    margin: 5px 0 0;
    overflow: hidden;
    color: #2e1956;
    font-size: 1.1rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-approval-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #777a91;
    cursor: pointer;
}

.cmsops-approval-modal__close:hover,
.cmsops-approval-modal__close:focus-visible {
    background: #f4f1f9;
    color: #2e1956;
    outline: none;
}

.cmsops-approval-modal__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 22px;
}

.cmsops-approval-modal__description,
.cmsops-approval-modal__scope,
.cmsops-approval-modal__reason {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cmsops-approval-modal__description p {
    margin: 0;
    color: #3b3a5d;
    font-size: 0.9rem;
    line-height: 1.5;
    white-space: pre-wrap;
}

.cmsops-approval-modal__scope select,
.cmsops-approval-modal__reason textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #d9d3e5;
    border-radius: 7px;
    background: #fff;
    color: #3b3a5d;
    font: inherit;
}

.cmsops-approval-modal__scope select {
    min-height: 36px;
    padding: 7px 9px;
}

.cmsops-approval-modal__reason textarea {
    min-height: 76px;
    padding: 9px;
    resize: vertical;
}

.cmsops-approval-modal__scope select:focus,
.cmsops-approval-modal__reason textarea:focus {
    border-color: #8c40e3;
    outline: 2px solid rgba(140, 64, 227, 0.15);
}

.cmsops-approval-modal__scope-value {
    color: #3b3a5d;
    font-size: 0.9rem;
    font-weight: 600;
}

.cmsops-approval-modal__scope-empty {
    color: #9b4a22;
    font-size: 0.84rem;
    line-height: 1.4;
}

.cmsops-approval-modal__notice {
    padding: 9px 11px;
    border: 1px solid #f6d88c;
    border-radius: 7px;
    background: #fffaf0;
    color: #8a6100;
    font-size: 0.8rem;
    line-height: 1.4;
}

.cmsops-approval-modal__message {
    padding: 9px 11px;
    border: 1px solid #feb2b2;
    border-radius: 7px;
    background: #fff5f5;
    color: #c53030;
    font-size: 0.82rem;
    line-height: 1.4;
}

.cmsops-approval-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 22px 20px;
    border-top: 1px solid #eeeaf4;
}

.cmsops-approval-modal__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 7px 13px;
    border: 1px solid transparent;
    border-radius: 7px;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 700;
}

.cmsops-approval-modal__button:disabled,
.cmsops-approval-modal__close:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.cmsops-approval-modal__button--reject {
    border-color: #f0b8b8;
    background: #fff5f5;
    color: #c53030;
}

.cmsops-approval-modal__button--reject:hover:not(:disabled),
.cmsops-approval-modal__button--reject:focus-visible {
    background: #fed7d7;
    outline: none;
}

.cmsops-approval-modal__button--approve {
    border-color: #2f855a;
    background: #2f855a;
    color: #fff;
}

.cmsops-approval-modal__button--approve:hover:not(:disabled),
.cmsops-approval-modal__button--approve:focus-visible {
    border-color: #276749;
    background: #276749;
    outline: none;
}

@media (max-width: 560px) {
    .cmsops-approval-modal__backdrop {
        align-items: flex-end;
        padding: 12px;
    }

    .cmsops-approval-modal {
        max-height: calc(100vh - 24px);
    }

    .cmsops-approval-modal__footer {
        flex-direction: column-reverse;
    }

    .cmsops-approval-modal__button {
        width: 100%;
    }
}

/* ── Sugestões operacionais MCP ── */
.cmsops-panel--ai-suggestions .card-content-body-content {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.cmsops-panel--ai-suggestions .suggestionAIText {
    width: 100%;
    min-width: 0;
}

.cmsops-panel--ai-suggestions .suggestionAIText.expanded {
    max-height: 100%;
}

/* ── Abas operacionais — tipografia responsiva fora do Executivo ──────────
   O LCDashboard compartilhado possui breakpoints próprios. Estas regras são
   escopadas ao ResumeCMS para manter Operações, Atividade, Recursos e
   Serviços legíveis sem alterar os demais dashboards da aplicação. */
.cmsops-dashboard:not(.cmsops-dashboard--executive) {
    min-width: 0;
    min-height: 0;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__inner {
    min-width: 0;
    padding: clamp(6px, 0.6vw, 10px) clamp(8px, 1.2vw, 20px) clamp(5px, 0.5vw, 8px);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__title {
    max-width: 100%;
    min-width: 0;
    gap: clamp(5px, 0.65vw, 12px);
    overflow: hidden;
    font-size: var(--cmsops-font-kpi-label);
    line-height: 1.15;
    white-space: nowrap;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__title > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__icon svg {
    width: clamp(16px, 1.55vw, 25px);
    height: clamp(16px, 1.55vw, 25px);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__value {
    max-width: 100%;
    margin-top: clamp(4px, 0.5vw, 10px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-font-kpi-value);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__description {
    max-width: 100%;
    margin-top: clamp(2px, 0.2vw, 4px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-font-caption);
    line-height: 1.15;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__updated {
    max-width: 100%;
    gap: clamp(4px, 0.5vw, 8px);
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--cmsops-font-micro);
}

/* Cabeçalhos dos painéis operacionais diretos: neutraliza somente aqui os
    títulos reduzidos pelos breakpoints globais do LCDashboard. */
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame-header-content {
    min-width: 0;
    gap: clamp(4px, 0.5vw, 8px);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame-header-content .title,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .lc-title {
    min-width: 0;
    height: auto !important;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--cmsops-font-section) !important;
    line-height: 1.15;
    white-space: nowrap;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-title {
    min-width: 0;
    height: auto !important;
    min-height: 1.1rem;
    overflow: hidden;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel {
    gap: clamp(6px, 0.65vw, 10px);
    padding: clamp(8px, 0.8vw, 14px) clamp(9px, 1vw, 16px) !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-card-title {
    min-width: 0;
    gap: clamp(5px, 0.55vw, 10px);
    overflow: hidden;
    font-size: var(--cmsops-font-section);
    line-height: 1.15;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-card-title__label {
    flex: 1 1 auto;
    min-width: 0;
    gap: clamp(4px, 0.45vw, 7px);
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: inherit;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-card-title__label > span:last-child,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-card-title__meta,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel__link {
    min-width: 0;
    max-width: 42%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-card-title__meta {
    flex: 0 1 auto;
    font-size: var(--cmsops-font-micro);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel__link {
    flex: 0 1 auto;
    font-size: var(--cmsops-font-micro);
}

/* IconValue é usado pelos cards preservados dentro de Operações e Atividade. */
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel .iconvaluecontent {
    min-width: 0;
    max-width: 100%;
    gap: clamp(3px, 0.45vw, 7px);
    overflow: hidden;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel .iconvaluecontent .icone svg {
    width: clamp(16px, 1.45vw, 32px) !important;
    height: clamp(16px, 1.45vw, 32px) !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel .iconvaluecontent .data,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel .iconvaluecontent .truncate-container {
    min-width: 0;
    max-width: 100%;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel .iconvaluecontent .data > div {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-font-kpi-value) !important;
    line-height: 1.1;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel .iconvaluecontent .description {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cmsops-font-caption) !important;
    line-height: 1.1;
}

/* Listas e feed: escala proporcional sem perder a área de rolagem. */
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-list,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-feed {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-list__row,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-feed__row {
    min-width: 0;
    gap: clamp(4px, 0.65vh, 10px);
    padding: clamp(3px, 0.55vh, 8px) 2px;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-list__title,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-demand__title,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-feed__action {
    font-size: var(--cmsops-font-body);
    line-height: 1.15;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-list__sub,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-list__at,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-demand__sub,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-demand__status,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-feed__res,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-feed__at {
    font-size: var(--cmsops-font-caption);
    line-height: 1.15;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-demand__status,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-feed__at,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-list__at {
    max-width: 34%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* A tabela de automações mantém largura mínima para continuar legível, mas
   rola horizontalmente dentro do painel em vez de estourar o card. */
.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel--automation-only,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel--automation-only > .lc-loading {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-panel--automation-only > .lc-loading {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .automations-table {
    font-size: var(--cmsops-font-body);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .automations-table-header {
    min-height: clamp(30px, 2.35vw, 34px);
    padding-block: clamp(6px, 0.55vw, 8px);
    font-size: var(--cmsops-font-caption);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .automations-header-cell,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .automations-scheduler-cell {
    padding-inline: clamp(5px, 0.55vw, 8px);
    font-size: var(--cmsops-font-caption);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .automations-scheduler-row {
    min-height: clamp(26px, 2vw, 28px);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .statusEnabled,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .statusDisabled {
    font-size: var(--cmsops-font-micro);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .weekDaysScheduledColumn .MuiBadge-badge,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .automation-resource-list--dashboard .customBadgeWeek .MuiBadge-badge {
    width: clamp(1.45rem, 1.7vw, 1.8rem);
    height: clamp(0.95rem, 1.05vw, 1.1rem);
    font-size: var(--cmsops-font-micro);
    line-height: inherit;
}
/* Full-height automation list card under KPIs */
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-body-card > .card-content-body > .card-content-body-content > .cmsops-inner-dashboard,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-body-card > .card-content-body > .card-content-body-content > .cmsops-inner-dashboard > .lcdashboard,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-body-card > .card-content-body > .card-content-body-content > .cmsops-inner-dashboard > .lcdashboard > .lcdashboard-cards,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-body-card > .card-content-body > .card-content-body-content > .cmsops-inner-dashboard > .lcdashboard > .lcdashboard-cards > .lcdashboard-cards-panel,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-body-card > .card-content-body > .card-content-body-content > .cmsops-inner-dashboard > .lcdashboard > .lcdashboard-cards > .lcdashboard-cards-panel > div {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100%;
    min-width: 0;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid {
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .lcdashboard-cards-panel-body {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    grid-template-rows: minmax(0, 1fr) !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.cmsops-dashboard--executive .cmsops-list__row {
    gap: clamp(5px, 0.7vh, 9px);
    padding: clamp(4px, 0.8vh, 8px) 2px;
}

.cmsops-dashboard--executive .cmsops-list__title,
.cmsops-dashboard--executive .cmsops-demand__title {
    font-size: var(--cmsops-font-body);
    line-height: 1.1;
}

.cmsops-dashboard--executive .cmsops-list__sub,
.cmsops-dashboard--executive .cmsops-list__at,
.cmsops-dashboard--executive .cmsops-demand__sub,
.cmsops-dashboard--executive .cmsops-demand__status {
    font-size: var(--cmsops-exec-caption-size);
    line-height: 1.1;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only {
    display: flex !important;
    flex-direction: column !important;
    grid-row: 1 / -1 !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    overflow: hidden !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only > .card-content-body,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only > .card-content-body.fromStart,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only > .card-content-body.centered {
    display: flex !important;
    flex: 1 1 !important;
    flex-direction: column !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only > .card-content-body > .card-content-body-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only .lc-loading,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only .automation-resource-list,
.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only .automation-resource-list--dashboard {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only .automations-table {
    flex: 1 1 auto !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-inner-dashboard__grid .card-frame.cmsops-panel--automation-only .automations-table-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
}

/* Aplicacao dos papeis: o mesmo elemento recebe o mesmo token em todas as
   abas. Assim a hierarquia visual nao depende do layout ou da largura. */
.cmsops-dashboard .cmsops-header-card__title {
    font-size: var(--cmsops-font-kpi-label);
    line-height: 1.15;
    flex: 0 0 auto;
}

.cmsops-dashboard .cmsops-header-card__value {
    font-size: var(--cmsops-font-kpi-value);
    letter-spacing: 0;
    line-height: 1.05;
    height: auto;
    min-height: 0;
    flex: 0 0 auto;
    overflow: visible !important;
}

.cmsops-dashboard .cmsops-header-card__description,
.cmsops-dashboard .cmsops-header-card__updated {
    font-size: var(--cmsops-font-caption);
    line-height: 1.15;
}

.cmsops-dashboard .cmsops-header-card__description {
    flex: 0 0 auto;
}

.cmsops-dashboard .cmsops-header-card__title,
.cmsops-dashboard .cmsops-header-card__value {
    color: #2E1956;
    color: var(--text-default, #2E1956);
    font-size: var(--cmsops-font-section);
    font-weight: var(--cmsops-font-weight-bold);
}

.cmsops-dashboard .cmsops-header-card__value {
    font-size: var(--cmsops-font-kpi-value);
}

.cmsops-dashboard .cmsops-header-card__description {
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    font-weight: var(--cmsops-font-weight-medium);
}

.cmsops-dashboard .cmsops-header-card__inner.is-active .cmsops-header-card__title,
.cmsops-dashboard .cmsops-header-card__inner.is-active .cmsops-header-card__icon {
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.cmsops-dashboard .cmsops-header-card__inner {
    padding-block: clamp(1px, 0.35vh, 10px);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__icon svg,
.cmsops-dashboard.cmsops-dashboard--executive .cmsops-header-card__icon svg {
    width: clamp(10px, 2.8vh, 25px) !important;
    height: clamp(10px, 2.8vh, 25px) !important;
}

.cmsops-dashboard {
    --cmsops-card-title-color: var(--text-dark, #6B6F7D);
    --cmsops-card-value-color: var(--color-primary-purple, #8C40E3);
    --cmsops-card-meta-color: var(--text-light, #8B90A3);
}

.cmsops-dashboard .cmsops-panel,
.cmsops-dashboard .card-frame.cmsops-header-card,
.cmsops-dashboard .cmsops-panel--inv .cmsops-inv__cell {
    border: 0;
    border-radius: 0.25rem;
    background: #fff;
    box-shadow: 4px 4px 18px 0 rgba(58, 79, 135, 0.06);
}

.cmsops-dashboard .cmsops-panel,
.cmsops-dashboard .card-frame.cmsops-header-card {
    padding: clamp(4px, 1.05vh, 12px) !important;
}

.cmsops-dashboard .cmsops-panel--inv .cmsops-inv__cell {
    padding: clamp(4px, 0.8vh, 12px);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__title,
.cmsops-dashboard.cmsops-dashboard--executive .cmsops-header-card__title,
.cmsops-dashboard .cmsops-card-title__label,
.cmsops-dashboard .cmsops-panel__head h3,
.cmsops-dashboard .cmsops-inv__t {
    color: var(--cmsops-card-title-color) !important;
    font-family: var(--cmsops-font-family) !important;
    font-weight: 300 !important;
}

.cmsops-dashboard .cmsops-inv__t {
    text-transform: none;
    letter-spacing: normal;
}

.cmsops-dashboard .cmsops-header-card__value,
.cmsops-dashboard .cmsops-panel--inv .iconvaluecontent .data > div {
    color: var(--cmsops-card-value-color) !important;
    font-weight: 400 !important;
}

.cmsops-dashboard .cmsops-header-card__description,
.cmsops-dashboard .cmsops-panel--inv .iconvaluecontent .description {
    color: var(--cmsops-card-meta-color) !important;
    font-weight: 400 !important;
}

.cmsops-dashboard .card-frame.cmsops-header-card.is-active {
    border-color: transparent;
    background: #fff;
    box-shadow: 4px 4px 18px 0 rgba(58, 79, 135, 0.25);
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__title,
.cmsops-dashboard.cmsops-dashboard--executive .cmsops-header-card__title {
    color: #2E1956 !important;
    color: var(--text-default, #2E1956) !important;
    font-size: var(--cmsops-font-section) !important;
    font-weight: var(--cmsops-font-weight-bold) !important;
}

@media (max-height: 620px) {
    .cmsops-dashboard {
        --cmsops-font-kpi-label: clamp(7px, 1.55vh, 14px);
        --cmsops-font-kpi-value: clamp(12px, 3.2vh, 28px);
        --cmsops-font-section: clamp(7px, 1.75vh, 14px);
        --cmsops-font-body: clamp(7px, 1.65vh, 13px);
        --cmsops-font-caption: clamp(7px, 1.35vh, 11px);
        --cmsops-font-micro: clamp(6px, 1.25vh, 10px);
    }

    .cmsops-dashboard .cmsops-header-card__value {
        margin-top: clamp(1px, 0.45vh, 4px);
    }

    .cmsops-dashboard .cmsops-header-card__description {
        margin-top: clamp(1px, 0.2vh, 2px);
    }
}

@media (max-height: 420px) {
    .cmsops-dashboard {
        --cmsops-font-kpi-label: clamp(6px, 1.35vh, 10px);
        --cmsops-font-kpi-value: clamp(10px, 2.5vh, 18px);
        --cmsops-font-section: clamp(6px, 1.5vh, 10px);
        --cmsops-font-body: clamp(6px, 1.4vh, 10px);
        --cmsops-font-caption: clamp(6px, 1.1vh, 9px);
        --cmsops-font-micro: clamp(5px, 1vh, 8px);
    }
}

.cmsops-dashboard .cmsops-header-card__title,
.cmsops-dashboard .cmsops-header-card__value,
.cmsops-dashboard .cmsops-card-title__label,
.cmsops-dashboard .cmsops-panel__head h3 {
    font-weight: var(--cmsops-font-weight-bold);
}

.cmsops-dashboard .cmsops-header-card__description,
.cmsops-dashboard .cmsops-panel__link {
    font-weight: var(--cmsops-font-weight-semibold);
}

.cmsops-dashboard .cmsops-header-card__updated,
.cmsops-dashboard .cmsops-card-title__meta {
    font-weight: var(--cmsops-font-weight-medium);
}

.cmsops-dashboard .cmsops-card-title,
.cmsops-dashboard .card-frame-header-content .title,
.cmsops-dashboard .lc-title {
    font-size: var(--cmsops-font-section) !important;
    line-height: 1.15;
}

.cmsops-dashboard .cmsops-card-title__meta,
.cmsops-dashboard .cmsops-panel__link,
.cmsops-dashboard .cmsops-estate__head,
.cmsops-dashboard .cmsops-inv__t {
    font-size: var(--cmsops-font-micro);
    line-height: 1.1;
}

.cmsops-dashboard .cmsops-audit-result-count {
    font-size: var(--cmsops-font-micro);
    line-height: 1.1;
}

.cmsops-dashboard .cmsops-estate__row,
.cmsops-dashboard .cmsops-list__title,
.cmsops-dashboard .cmsops-demand__title,
.cmsops-dashboard .cmsops-feed__action,
.cmsops-dashboard .automations-table {
    font-size: var(--cmsops-font-body);
    line-height: 1.15;
}

.cmsops-dashboard .cmsops-list__sub,
.cmsops-dashboard .cmsops-list__at,
.cmsops-dashboard .cmsops-demand__sub,
.cmsops-dashboard .cmsops-demand__status,
.cmsops-dashboard .cmsops-feed__res,
.cmsops-dashboard .cmsops-feed__at,
.cmsops-dashboard .cmsops-audit-pagination,
.cmsops-dashboard .cmsops-gauge__legend,
.cmsops-dashboard .cmsops-panel__meta {
    font-size: var(--cmsops-font-caption);
    line-height: 1.15;
}

.cmsops-dashboard .cmsops-panel,
.cmsops-dashboard button,
.cmsops-dashboard input,
.cmsops-dashboard select {
    font-size: var(--cmsops-font-body);
}

.cmsops-dashboard .cmsops-panel--inv .iconvaluecontent .data > div,
.cmsops-dashboard .cmsops-gauge__pct {
    font-size: var(--cmsops-font-kpi-value) !important;
    line-height: 1;
}

.cmsops-dashboard .cmsops-panel--inv .iconvaluecontent .description,
.cmsops-dashboard .cmsops-panel--inv .iconvaluecontent .icone svg {
    font-size: var(--cmsops-font-caption) !important;
}

.cmsops-dashboard .cmsops-panel--inv .iconvaluecontent .icone svg {
    width: clamp(15px, 2.4vh, 28px) !important;
    height: clamp(15px, 2.4vh, 28px) !important;
}

.cmsops-dashboard .automations-table-header,
.cmsops-dashboard .automations-header-cell,
.cmsops-dashboard .automations-scheduler-cell,
.cmsops-dashboard .statusEnabled,
.cmsops-dashboard .statusDisabled {
    font-size: var(--cmsops-font-caption) !important;
}

/* O LCDashboard aplica uma regra responsiva com maior especificidade e
   !important nos wrappers .title. Reafirmamos o contrato tipografico do CMS
   no wrapper e no titulo interno para que os dois elementos nao divergiam. */
.lcdashboard.cmsops-dashboard .lcdashboard-cards .lcdashboard-cards-panel .lcdashboard-cards-panel-body .card-frame .card-frame-header-content .title,
.lcdashboard.cmsops-dashboard .lcdashboard-cards .lcdashboard-cards-panel .lcdashboard-cards-panel-body .card-frame .lc-title {
    color: #2E1956;
    color: var(--text-default, #2E1956);
    font-family: var(--cmsops-font-family) !important;
    font-size: var(--cmsops-font-section) !important;
    font-weight: var(--cmsops-font-weight-bold) !important;
    line-height: 1.15 !important;
}

.cmsops-dashboard .cmsops-header-card__inner {
    padding-block: clamp(1px, 0.35vh, 10px) !important;
}

.cmsops-dashboard:not(.cmsops-dashboard--executive) .cmsops-header-card__icon svg,
.cmsops-dashboard.cmsops-dashboard--executive .cmsops-header-card__icon svg {
    width: clamp(10px, 2.8vh, 25px) !important;
    height: clamp(10px, 2.8vh, 25px) !important;
}

/* ── Aba Recursos (CMS) — inventário multicloud no padrão LiveCloud ───────── */
.cmsres {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

/* Toolbar: contexto à esquerda, ações à direita */
.cmsres__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

/* Chips de contexto (provedor/conta/busca selecionados) */
.cmsres__context {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.cmsres__context-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 26px;
    padding: 0 10px;
    border-radius: 6px;
    background: var(--color-primary-magenta);
    /* background: rgba(140, 64, 227, .12); */
    border: 1px solid rgba(140, 64, 227, .4);
    color: var(--text-white);
    font-size: .76rem;
}

.cmsres__toolbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.cmsres__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border: 1px solid var(--border-secondary, rgba(255, 255, 255, .12));
    border-radius: 6px;
    background: transparent;
    color: #9a9a9a;
    color: var(--text-secondary, #9a9a9a);
    font-size: .78rem;
    cursor: pointer;
    transition: all .15s ease;
}

.cmsres__btn:hover:not(:disabled),
.cmsres__btn.is-active {
    border-color: #8C40E3;
    color: var(--text-default);
}

.cmsres__btn.is-active {
    background: rgba(140, 64, 227, .14);
}

.cmsres__btn:disabled {
    opacity: .5;
    cursor: default;
}

.cmsres__btn .is-spinning {
    animation: cmsres-spin 1s linear infinite;
}

@keyframes cmsres-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Grid */
.cmsres__grid-wrapper {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.cmsres__grid-wrapper revo-grid {
    flex: 1 1 auto;
    min-height: 0;
}

.cmsres__detail {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

/* Status pill nas células */
.cmsres-status {
    display: inline-block;
    font-size: .72rem;
    font-weight: 600;
}

.cmsres-status--ok {
    color: #21A22E;
}

.cmsres-status--danger {
    color: #DC291E;
}

.cmsres-status--muted {
    color: #9a9a9a;
    color: var(--text-secondary, #9a9a9a);
}

revo-grid .revo-cell--right {
    justify-content: flex-end;
    text-align: right;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

revo-grid .revo-cell--center {
    justify-content: center;
    text-align: center;
}

/* A tabela ocupa cards de larguras diferentes conforme a aba e o viewport.
   A escala acompanha o card, enquanto as colunas do RevoGrid continuam
   livres para rolar quando não couberem. */
.cmsres {
    gap: clamp(6px, 0.65vw, 10px);
    min-width: 0;
    overflow: hidden;
}

.cmsres__toolbar {
    min-width: 0;
    flex: 0 0 auto;
    gap: clamp(6px, 0.8vw, 12px);
}

.cmsres__context,
.cmsres__toolbar-right {
    min-width: 0;
    gap: clamp(5px, 0.55vw, 8px);
}

.cmsres__context-chip {
    max-width: 100%;
    height: clamp(23px, 1.7vw, 26px);
    padding-inline: clamp(7px, 0.7vw, 10px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(10px, 1.5vh, 13px);
}

.cmsres__btn {
    max-width: 100%;
    height: clamp(28px, 2vw, 30px);
    padding-inline: clamp(8px, 0.8vw, 12px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(10px, 1.55vh, 14px);
}

.cmsres__grid-wrapper {
    min-width: 0;
    overflow: hidden;
}

.cmsres__grid-wrapper revo-grid {
    min-width: 0;
    font-size: clamp(10px, 1.65vh, 14px);
    --revo-font-size: clamp(10px, 1.65vh, 14px);
}

.cmsres__detail {
    width: 100%;
    min-width: 0;
    font-size: clamp(10px, 1.7vh, 15px);
}

.cmsres-status {
    font-size: clamp(9px, 1.4vh, 12px);
    line-height: 1.1;
}

@media (max-width: 640px) {
    .cmsres__toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .cmsres__toolbar-right {
        justify-content: flex-start;
    }
}

/* ───────────────────────────────────────────────────────────────────────────
   CmsServicesTab — catálogo em grid próprio (tiles), sem LCDashboard interno.
   Drill-down: painel único (.cms-svc-panel) com breadcrumb + detalhe.
   ─────────────────────────────────────────────────────────────────────────── */

.cms-svc {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.cms-svc--detail {
    min-height: 0;
}

/* ── Catálogo: CSS grid de tiles ─────────────────────────────────────────── */
.cms-svc-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-gap: 14px;
    gap: 14px;
    width: 100%;
    min-width: 0;
    align-content: start;
    overflow: auto;
    padding: 2px;
    box-sizing: border-box;
}

.cms-svc-grid__item {
    min-width: 0;
}

/* Tile = botão autônomo (não usa .card-frame do LCDashboard). */
.cms-svc-tile {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 156px;
    padding: 16px;
    border: 1px solid #ECEAF3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(58, 79, 135, 0.05);
    text-align: left;
    cursor: pointer;
    color: inherit;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.cms-svc-tile:hover {
    border-color: #D8B8F2;
    background: linear-gradient(180deg, #FCFBFF 0%, #FFFFFF 100%);
    box-shadow: 0 4px 14px rgba(140, 64, 227, 0.08);
}

.cms-svc-tile:focus-visible {
    outline: 2px solid rgba(140, 64, 227, 0.4);
    outline-offset: 2px;
}

.cms-svc-tile__head {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.cms-svc-tile__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 10px;
}

.cms-svc-tile__badge svg {
    display: block;
}

.cms-svc-tile__name {
    font-family: "Ubuntu", sans-serif;
    font-family: var(--cmsops-font-family, "Ubuntu", sans-serif);
    font-size: 2.15vh;
    font-size: var(--cmsops-font-section, 2.15vh);
    font-weight: 700;
    line-height: 1.2;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    min-width: 0;
}

.cms-svc-tile__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(72px, 42%);
    align-items: end;
    grid-gap: 8px;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
}

.cms-svc-tile__kpi {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.cms-svc-tile__value {
    font-family: "Ubuntu", sans-serif;
    font-family: var(--cmsops-font-family, "Ubuntu", sans-serif);
    font-size: 5.7vh;
    font-size: var(--cmsops-font-kpi-value, 5.7vh);
    font-weight: 700;
    line-height: 1;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    letter-spacing: -0.02em;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.cms-svc-tile__unit {
    font-family: "Ubuntu", sans-serif;
    font-family: var(--cmsops-font-family, "Ubuntu", sans-serif);
    font-size: 1.75vh;
    font-size: var(--cmsops-font-caption, 1.75vh);
    font-weight: 500;
    line-height: 1.2;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
}

.cms-svc-tile__meta {
    font-family: "Ubuntu", sans-serif;
    font-family: var(--cmsops-font-family, "Ubuntu", sans-serif);
    font-size: 1.75vh;
    font-size: var(--cmsops-font-caption, 1.75vh);
    font-weight: 500;
    line-height: 1.2;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
}

.cms-svc-tile__spark {
    width: 100%;
    min-width: 72px;
    height: 36px;
    align-self: end;
    pointer-events: none;
}

.cms-svc-tile__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 2px;
    font-family: "Ubuntu", sans-serif;
    font-family: var(--cmsops-font-family, "Ubuntu", sans-serif);
    font-size: 2vh;
    font-size: var(--cmsops-font-body, 2vh);
    font-weight: 600;
    line-height: 1;
}

.cmsops-dashboard .cms-svc-tile,
.cmsops-dashboard .cms-svc-panel {
    border: 0;
    border-radius: 0.25rem;
    box-shadow: 4px 4px 18px 0 rgba(58, 79, 135, 0.06);
}

.cmsops-dashboard .cms-svc-tile__name {
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    font-weight: 300;
}

.cmsops-dashboard .cms-svc-tile__value {
    color: #8C40E3;
    color: var(--color-primary-purple, #8C40E3);
    font-weight: 400;
}

.cmsops-dashboard .cms-svc-tile__unit,
.cmsops-dashboard .cms-svc-tile__meta {
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    font-weight: 400;
}

.cms-svc-tile:hover .cms-svc-tile__link {
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ── Painel de detalhe (substitui card-focused) ──────────────────────────── */
.cms-svc-panel {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #ECEAF3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(58, 79, 135, 0.05);
    box-sizing: border-box;
}

.cms-svc-nav {
    flex: 0 0 auto;
    min-width: 0;
    padding: 10px 14px 8px;
    border-bottom: 1px solid #EFEDF6;
    border-bottom: 1px solid var(--border-color, #EFEDF6);
}

.cms-svc-nav .lc-breadcrumb-dropdown {
    min-width: 0;
    min-height: clamp(26px, 2.1vw, 32px);
    padding-inline: clamp(4px, 0.45vw, 6px);
    font-size: clamp(10px, 1.5vh, 13px);
}

.cms-svc-nav .lc-breadcrumb-dropdown__label {
    max-width: clamp(120px, 18vw, 240px);
    padding-block: clamp(4px, 0.35vw, 5px);
}

.cms-svc-nav .lc-breadcrumb-dropdown__option-main span {
    font-size: clamp(10px, 1.6vh, 14px);
}

.cms-svc-nav .lc-breadcrumb-dropdown__option-main small,
.cms-svc-nav .lc-breadcrumb-dropdown__count,
.cms-svc-nav .lc-breadcrumb-dropdown__section,
.cms-svc-nav .lc-breadcrumb-dropdown__empty,
.cms-svc-nav .lc-breadcrumb-dropdown__more {
    font-size: clamp(9px, 1.35vh, 12px);
}

.cms-svc-panel__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    padding: 10px 14px 14px;
    box-sizing: border-box;
}

.cms-svc-panel__body > .ops-svd {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-width: 100%;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.cms-svc-panel__body > .ops-svd > .lc-loading,
.cms-svc-panel__body > .ops-svd > .lc-loading > .w-100p,
.cms-svc-panel__body > .ops-svd > .lc-loading > div {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.cms-svc-panel__body .ops-svd__scope-section,
.cms-svc-panel__body .ops-svd__resources-section {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}

.cms-svc-panel__body .ops-svd__scope-list {
    flex: 1 1 auto;
    max-height: none !important;
    min-height: 0;
    height: 100%;
}

.cms-svc-panel__body .ops-svd__scope-loading {
    display: flex;
    flex: 1 1 auto;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 0;
    height: 100%;
}

.cms-svc-panel__resource {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: auto;
}

.cms-svc-panel__resource > .ci-rd-page {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 100%;
    max-width: 100%;
}

/* Compat: embed do body operacional continua esticando o root. */
.cmsops-services-embed .cms-svc {
    height: 100%;
}

@media (max-width: 1280px) {
    .cms-svc-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .cms-svc-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .cms-svc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .cms-svc-tile {
        min-height: 140px;
        padding: 12px;
        gap: 10px;
    }

    .cms-svc-tile__body {
        grid-template-columns: minmax(0, 1fr) minmax(64px, 38%);
    }
}

@media (max-width: 480px) {
    .cms-svc-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ── Layout base ──────────────────────────────────────────────────────── */
.lcdashboard.csp-billing-review .card-frame:hover {
    box-shadow: none;
}

/* ── Aviso de acesso restrito ─────────────────────────────────────────── */
.csp-billing-review .access-denied {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 60vh;
    gap: 16px;
    color: #666;
    color: var(--color-text-secondary, #666);
}

.csp-billing-review .access-denied svg {
    font-size: 64px;
    color: #d32f2f;
    color: var(--color-danger, #d32f2f);
    opacity: 0.5;
}

.csp-billing-review .access-denied h2 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    color: var(--color-text-primary, #333);
}

.csp-billing-review .access-denied p {
    font-size: 13px;
    max-width: 400px;
    text-align: center;
}

/* ── Relatório não gerado ─────────────────────────────────────────────── */
.csp-billing-review .report-not-generated {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 60vh;
    gap: 8px;
    color: #666;
    color: var(--color-text-secondary, #666);
}

.csp-billing-review .report-not-generated h2 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    color: var(--color-text-primary, #333);
    margin: 0;
}

.csp-billing-review .report-not-generated p {
    font-size: 13px;
    max-width: 420px;
    text-align: center;
    margin: 0;
}

.csp-billing-review .generate-report-btn {
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    background: #1976d2;
    background: var(--color-primary, #1976d2);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s;
}

.csp-billing-review .generate-report-btn:hover:not(:disabled) {
    background: #1565c0;
    background: var(--color-primary-dark, #1565c0);
}

.csp-billing-review .generate-report-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ── Cards de resumo (dentro de LCDashboard cards) ────────────────────── */
.lcdashboard.csp-billing-review .summary-card-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    height: 100%;
}

.lcdashboard.csp-billing-review .summary-card-value {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    color: var(--color-text-primary, #333);
}

.lcdashboard.csp-billing-review .summary-card-value.positive {
    color: #2e7d32;
    color: var(--color-success, #2e7d32);
}

.lcdashboard.csp-billing-review .summary-card-value.info {
    color: #1565c0;
    color: var(--color-info, #1565c0);
}

.lcdashboard.csp-billing-review .summary-card-value.warn {
    color: #e65100;
    color: var(--color-warning, #e65100);
}

.lcdashboard.csp-billing-review .summary-card-sub {
    font-size: 11px;
    color: #888;
    color: var(--color-text-secondary, #888);
}

/* ── Top Tab Bar (Reconciliação / Consumo Diário) ─────────────────────── */
.csp-billing-review .top-tab-bar {
    display: flex;
    gap: 0;
    padding: 0 8px;
    margin-bottom: 16px;
    border-bottom: 2px solid #e0e0e0;
    border-bottom: 2px solid var(--color-border, #e0e0e0);
}

.csp-billing-review .top-tab {
    padding: 10px 24px;
    border: none;
    background: transparent;
    color: #666;
    color: var(--color-text-secondary, #666);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    display: flex;
    align-items: center;
}

.csp-billing-review .top-tab:hover {
    color: #333;
    color: var(--color-text-primary, #333);
    background: #e3f2fd;
    background: var(--color-primary-light, #e3f2fd);
    border-radius: 6px 6px 0 0;
}

.csp-billing-review .top-tab.active {
    color: #1565c0;
    color: var(--color-primary, #1565c0);
    border-bottom-color: #1565c0;
    border-bottom-color: var(--color-primary, #1565c0);
    font-weight: 600;
}

/* ── Sub Tabs ─────────────────────────────────────────────────────────── */
.csp-billing-review .view-tabs {
    display: flex;
    gap: 4px;
    padding: 0 8px;
    margin-bottom: 12px;
}

.csp-billing-review .view-tab {
    padding: 6px 16px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    border: 1px solid var(--color-border, #e0e0e0);
    background: #fff;
    background: var(--color-surface, #fff);
    color: #666;
    color: var(--color-text-secondary, #666);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.csp-billing-review .view-tab:hover {
    background: #e3f2fd;
    background: var(--color-primary-light, #e3f2fd);
}

.csp-billing-review .view-tab.active {
    background: #1565c0;
    background: var(--color-primary, #1565c0);
    color: #fff;
    border-color: #1565c0;
    border-color: var(--color-primary, #1565c0);
}

/* ── Badges ───────────────────────────────────────────────────────────── */
.csp-billing-review .fonte-badge {
    display: inline-block;
    background: #e3f2fd;
    background: var(--color-primary-light, #e3f2fd);
    color: #1565c0;
    color: var(--color-primary, #1565c0);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.csp-billing-review .sip-badge {
    display: inline-block;
    background: #f5f5f5;
    background: var(--color-surface-variant, #f5f5f5);
    color: #333;
    color: var(--color-text-primary, #333);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.csp-billing-review .sip-badge-nf {
    background: #e8f5e9;
    color: #2e7d32;
}

.csp-billing-review .cell-muted {
    color: #bbb;
    color: var(--color-text-disabled, #bbb);
}

/* ── Células da tabela ────────────────────────────────────────────────── */
.csp-billing-review .cell-currency {
    text-align: right;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.csp-billing-review .cell-factor {
    text-align: right;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    color: #666;
    color: var(--color-text-secondary, #666);
}

.csp-billing-review .cell-percent {
    text-align: right;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.csp-billing-review .cell-percent.positive {
    color: #2e7d32;
    color: var(--color-success, #2e7d32);
}

.csp-billing-review .cell-percent.negative {
    color: #d32f2f;
    color: var(--color-danger, #d32f2f);
}

.csp-billing-review .cell-percent.zero {
    color: #999;
    color: var(--color-text-secondary, #999);
}

/* ── Destaque coluna Valor NF ─────────────────────────────────────────── */
.csp-billing-review .cell-nf-value {
    color: #2e7d32;
    color: var(--color-success, #2e7d32);
}

/* ── Indicador de cache ───────────────────────────────────────────────── */
.csp-billing-review .cache-info {
    margin-top: 2px;
    font-size: 10px;
    color: #aaa;
    color: var(--color-text-tertiary, #aaa);
    font-style: italic;
}

/* ── Step Monitor Overlay ─────────────────────────────────────────────── */
.step-monitor-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.step-monitor-panel {
    background: #fff;
    background: var(--color-bg-primary, #fff);
    border-radius: 12px;
    padding: 32px;
    min-width: 420px;
    max-width: 520px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.step-monitor-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 4px 0;
    color: #333;
    color: var(--color-text-primary, #333);
}

.step-monitor-subtitle {
    font-size: 13px;
    color: #888;
    color: var(--color-text-secondary, #888);
    margin: 0 0 24px 0;
}

.step-monitor-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.step-monitor-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #f5f5f5;
    background: var(--color-bg-secondary, #f5f5f5);
    transition: all 0.3s ease;
}

.step-monitor-step.active {
    background: #e3f2fd;
    background: var(--color-info-bg, #e3f2fd);
    border-left: 3px solid #1976d2;
    border-left: 3px solid var(--color-info, #1976d2);
}

.step-monitor-step.success {
    background: #e8f5e9;
    background: var(--color-success-bg, #e8f5e9);
    border-left: 3px solid #2e7d32;
    border-left: 3px solid var(--color-success, #2e7d32);
}

.step-monitor-step.failed {
    background: #fce4ec;
    background: var(--color-danger-bg, #fce4ec);
    border-left: 3px solid #d32f2f;
    border-left: 3px solid var(--color-danger, #d32f2f);
}

.step-monitor-step.pending {
    opacity: 0.5;
}

.step-monitor-step .step-icon {
    font-size: 18px;
    min-width: 24px;
    text-align: center;
    line-height: 1.4;
}

.step-monitor-step .step-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.step-monitor-step .step-name {
    font-size: 13px;
    font-weight: 500;
    color: #333;
    color: var(--color-text-primary, #333);
}

.step-monitor-step .step-detail {
    font-size: 11px;
    color: #888;
    color: var(--color-text-secondary, #888);
}

.step-monitor-step .step-error {
    color: #d32f2f;
    color: var(--color-danger, #d32f2f);
    font-weight: 500;
}

.step-monitor-step.active .step-icon {
    animation: pulse-spin 1.5s ease-in-out infinite;
}

@keyframes pulse-spin {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.step-monitor-close-btn {
    display: block;
    margin: 24px auto 0;
    padding: 10px 32px;
    border: none;
    border-radius: 6px;
    background: #1976d2;
    background: var(--color-primary, #1976d2);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
}

.step-monitor-close-btn:hover {
    background: #1565c0;
    background: var(--color-primary-dark, #1565c0);
}

/* ── Row Detail Panel (detalhe contratos por customer) ────────────────── */

.row-detail-panel {
    border-top: 2px solid #1976d2;
    border-top: 2px solid var(--color-primary, #1976d2);
    background: #f8f9fb;
    background: var(--color-background-secondary, #f8f9fb);
    padding: 12px 16px;
    animation: slideDown 0.2s ease-out;
}

@keyframes slideDown {
    from { opacity: 0; max-height: 0; }
    to   { opacity: 1; max-height: 400px; }
}

.row-detail-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.row-detail-title {
    font-size: 13px;
    color: #333;
    color: var(--color-text-primary, #333);
}

.row-detail-customer-id {
    font-size: 11px;
    color: #888;
    color: var(--color-text-secondary, #888);
    margin-left: 6px;
    font-weight: 400;
}

.row-detail-count {
    font-size: 11px;
    color: #888;
    color: var(--color-text-secondary, #888);
    background: #eee;
    background: var(--color-background-tertiary, #eee);
    padding: 2px 8px;
    border-radius: 10px;
}

.row-detail-close {
    margin-left: auto;
    background: none;
    border: none;
    font-size: 18px;
    color: #888;
    color: var(--color-text-secondary, #888);
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
}

.row-detail-close:hover {
    background: #ddd;
    background: var(--color-background-tertiary, #ddd);
    color: #333;
    color: var(--color-text-primary, #333);
}

.row-detail-empty {
    font-size: 12px;
    color: #999;
    color: var(--color-text-secondary, #999);
    padding: 8px 0;
    font-style: italic;
}

.row-detail-table-wrapper {
    overflow-x: auto;
    max-height: 220px;
    overflow-y: auto;
}

.row-detail-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.row-detail-table thead th {
    position: sticky;
    top: 0;
    background: #eaedf1;
    background: var(--color-background-tertiary, #eaedf1);
    padding: 6px 10px;
    text-align: left;
    font-weight: 600;
    color: #555;
    color: var(--color-text-primary, #555);
    border-bottom: 1px solid #ddd;
    border-bottom: 1px solid var(--color-border, #ddd);
    white-space: nowrap;
}

.row-detail-table tbody td {
    padding: 5px 10px;
    border-bottom: 1px solid #eee;
    border-bottom: 1px solid var(--color-border-light, #eee);
    color: #333;
    color: var(--color-text-primary, #333);
}

.row-detail-table tbody tr:hover {
    background: #f0f4ff;
    background: var(--color-background-hover, #f0f4ff);
}

.row-detail-tenant {
    font-size: 11px;
    color: #888;
    color: var(--color-text-secondary, #888);
    font-family: monospace;
}

.status-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    padding: 1px 8px;
    border-radius: 10px;
}

.status-badge.active {
    background: #e8f5e9;
    color: #2e7d32;
}

.status-badge.inactive {
    background: #fce4ec;
    color: #c62828;
}

/* ── Modal: Contratos SIP ─────────────────────────────────────────────── */

.sip-contracts-modal {
    background: #fff;
    background: var(--color-background, #fff);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
    width: 92vw;
    max-width: 1200px;
    height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: slideDown 0.2s ease-out;
}

.sip-contracts-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #eee;
    border-bottom: 1px solid var(--color-border, #eee);
}

.sip-contracts-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    color: #333;
    color: var(--color-text-primary, #333);
}

.sip-contracts-count {
    font-size: 12px;
    color: #888;
    color: var(--color-text-secondary, #888);
    background: #eee;
    background: var(--color-background-tertiary, #eee);
    padding: 2px 10px;
    border-radius: 10px;
}

.sip-contracts-filter {
    padding: 8px 20px;
}

.sip-contracts-filter-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border: 1px solid var(--color-border, #ddd);
    border-radius: 6px;
    font-size: 13px;
    outline: none;
    background: #f8f9fb;
    background: var(--color-background-secondary, #f8f9fb);
    color: #333;
    color: var(--color-text-primary, #333);
    transition: border-color 0.2s;
}

.sip-contracts-filter-input:focus {
    border-color: #1976d2;
    border-color: var(--color-primary, #1976d2);
}

.sip-contracts-filter-input::placeholder {
    color: #aaa;
    color: var(--color-text-secondary, #aaa);
}

.sip-contracts-table-wrapper {
    flex: 1 1;
    min-height: 0;
    padding: 0 4px 4px;
}

/* ── RevoGrid cell helpers (SIP contracts) ────────────────────────────── */

.sip-contracts-table-wrapper revo-grid {
    font-size: 12px;
}

.revo-cell--right {
    text-align: right;
}

.revo-cell-status-active {
    color: #2e7d32;
    font-weight: 500;
}

.revo-cell-status-inactive {
    color: #c62828;
    font-weight: 500;
}

/* ── Modal: Histórico 3 meses ─────────────────────────────────────────── */

.history-modal {
    height: auto;
    max-height: 80vh;
}

.history-table-wrapper {
    overflow-x: auto;
}

.history-table tbody td {
    vertical-align: middle;
}

.history-row-current {
    background: #e3f2fd !important;
    background: var(--color-info-bg, #e3f2fd) !important;
}

.history-current-badge {
    display: inline-block;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    background: #1976d2;
    background: var(--color-primary, #1976d2);
    color: #fff;
    padding: 1px 6px;
    border-radius: 8px;
    margin-left: 6px;
    vertical-align: middle;
}

.history-variation {
    display: block;
    font-size: 10px;
    margin-top: 2px;
}

.history-variation.up {
    color: #d32f2f;
    color: var(--color-danger, #d32f2f);
}

.history-variation.down {
    color: #2e7d32;
    color: var(--color-success, #2e7d32);
}

.history-totals-row {
    background: #eaedf1;
    background: var(--color-background-tertiary, #eaedf1);
}

.history-totals-row td {
    border-top: 2px solid #ccc;
    border-top: 2px solid var(--color-border, #ccc);
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

