/* ═══════════════════════════════════════════════════════
   Billing Review — Control Plane (Admin)
   ═══════════════════════════════════════════════════════ */

/* ── KPI Cards ── */
.billing-review-admin .kpi-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 16px;
}

.billing-review-admin .kpi-value {
    font-size: 1.5rem;
    font-weight: 700;
    white-space: nowrap;
}

.billing-review-admin .kpi-value.positive {
    color: #52c41a;
}

.billing-review-admin .kpi-value.negative {
    color: #ff4d4f;
}

.billing-review-admin .kpi-value.neutral {
    color: #333;
}

.billing-review-admin .kpi-label {
    font-size: 0.78rem;
    color: #888;
    margin-top: 6px;
    text-align: center;
}

/* ── Toolbar / Filtros ── */
.billing-review-admin .toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    flex-wrap: wrap;
}

.billing-review-admin .toolbar select,
.billing-review-admin .toolbar input {
    padding: 6px 10px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    font-size: 13px;
    background: #fff;
    min-width: 100px;
}

.billing-review-admin .toolbar select:focus,
.billing-review-admin .toolbar input:focus {
    border-color: #1890ff;
    outline: none;
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.15);
}

.billing-review-admin .toolbar label {
    font-size: 12px;
    color: #666;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

/* ── Tabela ── */
.billing-review-admin .margin-ok {
    color: #52c41a;
    font-weight: 600;
}

.billing-review-admin .margin-error {
    color: #ff4d4f;
    font-weight: 600;
}

.billing-review-admin .margin-warning {
    color: #fa8c16;
    font-weight: 600;
}

.billing-review-admin .text-right {
    text-align: right;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.billing-review-admin .text-center {
    text-align: center;
}

.billing-review-admin .cell-muted {
    color: #bbb;
}

/* ── Status badges ── */
.billing-review-admin .status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.billing-review-admin .status-badge.ok {
    background: #f6ffed;
    color: #52c41a;
    border: 1px solid #b7eb8f;
}

.billing-review-admin .status-badge.warning {
    background: #fffbe6;
    color: #faad14;
    border: 1px solid #ffe58f;
}

.billing-review-admin .status-badge.error {
    background: #fff1f0;
    color: #ff4d4f;
    border: 1px solid #ffa39e;
}

/* ── Detail side panel ── */
.billing-review-admin .detail-panel {
    padding: 16px;
}

.billing-review-admin .detail-panel h4 {
    margin: 0 0 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 8px;
}

.billing-review-admin .detail-section {
    font-size: 11px;
    font-weight: 700;
    color: #1890ff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 14px 0 6px;
    padding: 4px 0;
    border-bottom: 1px solid #e6f7ff;
}

.billing-review-admin .detail-row {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    font-size: 13px;
    border-bottom: 1px solid #fafafa;
}

.billing-review-admin .detail-row .label {
    color: #888;
}

.billing-review-admin .detail-row .value {
    font-weight: 600;
    color: #333;
    text-align: right;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

/* ── Empty state ── */
.billing-review-admin .empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 60px 40px;
    text-align: center;
    color: #aaa;
}

.billing-review-admin .empty-state svg {
    margin-bottom: 16px;
    opacity: 0.4;
}

/* ── Summary row (totals) ── */
.billing-review-admin .summary-row {
    background: #fafafa;
    font-weight: 700 !important;
    border-top: 2px solid #e8e8e8;
}

/* ── Responsive adjustments ── */
@media (max-width: 1200px) {
    .billing-review-admin .kpi-value {
        font-size: 1.2rem;
    }
}

.finops-data-health-kpi-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
}

.finops-data-health-kpi-value {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    color: #1f1f1f;
}

.finops-data-health-kpi-label {
    margin-top: 6px;
    font-size: 12px;
    color: #595959;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.finops-data-health-warning {
    margin-bottom: 10px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #ffe58f;
    border-radius: 6px;
    background-color: #fffbe6;
    color: #ad6800;
    font-size: 12px;
}
.menu-tree-view {
  margin-left: 40px;
  padding: 0 0 0 10px;
}
.menu-tree-view:hover {
  background-color: #ececec;
}
/* NPS Analytics Dashboard Styles - Matching Reference Design */
.nps-analytics-dashboard {
    padding: 0;
    background: transparent;
    margin-bottom: 10px;
}

.nps-header-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
}

.nps-title {
    margin: 0 0 12px 0;
    color: #1f2937;
    color: var(--text-primary, #1f2937);
    font-size: 18px;
    font-weight: 700;
}

.nps-scale-info {
    display: flex;
    gap: 20px;
    align-items: center;
}

.scale-indicator {
    display: flex;
    align-items: center;
    padding: 6px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 10px;
    background: #f8fafc;
    background: var(--background-light, #f8fafc);
}

.scale-min {
    color: #ef4444;
    color: var(--danger-color, #ef4444);
    border-color: #fecaca;
    border-color: var(--danger-light, #fecaca);
    background: #fef2f2;
    background: var(--danger-bg, #fef2f2);
}

.scale-min i {
    color: #ef4444;
    color: var(--danger-color, #ef4444);
}

.scale-max {
    color: #10b981;
    color: var(--success-color, #10b981);
    border-color: #a7f3d0;
    border-color: var(--success-light, #a7f3d0);
    background: #ecfdf5;
    background: var(--success-bg, #ecfdf5);
}

.scale-max i {
    color: #10b981;
    color: var(--success-color, #10b981);
}

.scale-value {
    font-weight: 700;
    font-size: 13px;
}

.question-text {
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
    font-size: 14px;
    margin: 0;
    line-height: 1.4;
}

.question-label {
    font-weight: 600;
    color: #374151;
    color: var(--text-primary, #374151);
}

.question-content {
    color: #1f2937;
    color: var(--text-primary, #1f2937);
    font-style: italic;
    font-weight: 500;
}

.nps-header-right {
    display: flex;
    align-items: flex-start;
    margin-top: 4px;
}

/* Metrics Row - Exact Reference Match */
.nps-metrics-row {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
    margin-top: 0;
}

.nps-metric-card {
    background: #ffffff;
    background: var(--card-background, #ffffff);
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 12px;
    padding: 20px;
    min-height: 120px;
    flex: 1 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}
.metric-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.metric-label {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.metric-icon {
    color: #9ca3af;
    color: var(--text-light, #9ca3af);
    font-size: 18px;
    opacity: 0.7;
    height: 100%;
    align-items: center;
    justify-content: center;
    display: flex
;
}

/* Metric Content */
.metric-content {
    flex: 1 1;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.metric-value {
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
}

.metric-description {
    font-size: 10px;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
}

/* Specific Value Colors - Matching Reference */
.nps-score {
    color: #10b981; /* Green for positive NPS */
}

.total-value {
    color: #3b82f6; /* Blue for total count */
}

.promoters-value {
    color: #10b981; /* Green for promoters */
}

.passives-value {
    color: #f59e0b; /* Yellow/Orange for passives */
}

.detractors-value {
    color: #ef4444; /* Red for detractors */
}

.postponed-value {
    color: #6b7280; /* Gray for postponed */
}

/* Specific Icon Colors */
.nps-score-card .metric-icon {
    color: #10b981;
}

.total-card .metric-icon {
    color: #3b82f6;
}

.promoters-card .metric-icon {
    color: #10b981;
}

.passives-card .metric-icon {
    color: #f59e0b;
}

.detractors-card .metric-icon {
    color: #ef4444;
}

.postponed-card .metric-icon {
    color: #6b7280;
}

/* Charts Row - Three Charts Layout */
.nps-charts-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 16px;
    gap: 16px;
    margin-bottom: 24px;
}

.nps-chart-card {
    background: #ffffff;
    background: var(--card-background, #ffffff);
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 12px;
    padding: 20px;
    height: 300px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.chart-content {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
}

/* Chart content styling */

/* NPS Groups Grid */
.nps-groups-grid {
    display: flex;
    flex-direction: row;
    overflow-y: hidden;
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 12px;
    width: 100%;
    height: 100%;
    padding: 8px;
}
.group-header {
    display: flex;
    gap: 16px;
    width: 100%;
    justify-content: space-between;
    align-items: end;
}
.group-information {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 15px;
    justify-content: space-between;
}
.nps-group-card {
    background: var(--background-lightest);
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 4px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.group-name {
    font-size: 12px;
    font-weight: 600;
    color: #3b82f6;
    color: var(--primary-color, #3b82f6);
    margin-bottom: 8px;
    text-transform: lowercase;
    flex-wrap: nowrap;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.group-score {
    font-size: 24px;
    margin-bottom: 8px;
    line-height: 1;
    color: var(--color-primary-blue);
}


.group-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.group-responses {
    font-size: 10px;
    color: #6b7280;
    color: var(--text-light, #6b7280);
}

.group-promoters {
    font-size: 10px;
    color: #6b7280;
    color: var(--text-light, #6b7280);
}

/* NPS Groups Section */
.nps-groups-section {
    background: #ffffff;
    background: var(--card-background, #ffffff);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
}

.nps-groups-container {
    margin-top: 16px;
}

.nps-groups-grid-full {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 16px;
    gap: 16px;
    width: 100%;
}

/* Note Badges */
.note-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
    color: white;
    text-align: center;
    line-height: 1;
}

.note-promoter {
    background-color: #84cc16; /* Verde para promotores (9-10) */
}

.note-passive {
    background-color: #eab308; /* Amarelo para passivos (7-8) */
}

.note-detractor {
    background-color: #ef4444; /* Vermelho para detratores (0-6) */
}

.note-postponed {
    background-color: #94a3b8; /* Cinza para adiadas */    
    font-size: 11px;
    border-radius: 10px;
    padding: 5px;
}

.chart-groups {
    justify-content: flex-start;
    align-items: stretch;
}

/* Groups List - Matching Reference Design */
.nps-groups-list {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding: 0;
}

.nps-group-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    background-color: var(--background-lightest);
}

.nps-group-item:last-child {
    border-bottom: none;
}

.group-info {
    flex: 1 1;
}

.group-name {
    font-weight: 500;
    color: #374151;
    color: var(--text-primary, #374151);
    font-size: 12px;
    margin-bottom: 2px;
}

.group-responses {
    font-size: 10px;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
}

.group-score {
    font-size: 14px;
    font-weight: 700;
    min-width: 40px;
    text-align: right;
}


/* Table Section */
.nps-table-section {
    margin-top: 20px;
    background: #ffffff;
    background: var(--card-background, #ffffff);
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.export-button {
    background-color: var(--color-primary-blue);
    color: #fff;
    display: flex;
    border-radius: 4px;
    gap: 8px;
    border: none;
    cursor: pointer;
    align-items: center;
    padding: 5px 10px;
    font-size: 12px;
}

/* Slideshow Styles */
.nps-slideshow-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    gap: 16px;
}

.slideshow-content {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.slideshow-header {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 12px;
    padding: 0 8px;
    
}

/* Setas Laterais */
.nav-button-side {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
    background: #ffffff;
    background: var(--background-lightest, #ffffff);
    border-radius: 50%;
    cursor: pointer;
    color: #374151;
    color: var(--text-primary, #374151);
    z-index: 10;
    flex-shrink: 0;
}

.nav-button-side:hover:not(.disabled) {
    background: var(--color-primary-blue);
    color: white;
    border-color: var(--color-primary-blue);
}

.nav-button-side.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    color: #9ca3af;
    color: var(--text-light, #9ca3af);
    background: #f8fafc;
    background: var(--background-light, #f8fafc);
}

.nav-button-left {
    margin-right: 8px;
}

.nav-button-right {
    margin-left: 8px;
}

.slide-indicator {
    font-size: 12px;
    color: #6b7280;
    color: var(--text-secondary, #6b7280);
    font-weight: 500;
    text-align: center;
    background: #f8fafc;
    background: var(--background-light, #f8fafc);
    padding: 4px 12px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
}

.nps-groups-slideshow {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding: 8px 35px;
    flex: 1 1;
    /* Hide scrollbar */
    scrollbar-width: none;
    -ms-overflow-style: none;
    mask: linear-gradient(
        to right,
        transparent 0%,
        black 5%,
        black 95%,
        transparent 100%
    );
    -webkit-mask: linear-gradient(
        to right,
        transparent 0%,
        black 5%,
        black 95%,
        transparent 100%
    );
}

.nps-groups-slideshow::-webkit-scrollbar {
    display: none;
}

.nps-group-card-slide {
    background: var(--background-lightest);
    border: 1px solid #e5e7eb;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 16px;
    min-width: 240px;
    max-width: 240px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Fade effect nas bordas */
.slideshow-content::before,
.slideshow-content::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 20px;
    z-index: 5;
    pointer-events: none;
}

.slideshow-content::before {
    left: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.slideshow-content::after {
    right: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

@media (max-width: 1400px) {
    .nps-group-card-slide{
        padding: 4px 8px;
    }

    .group-information {
        gap: 2px;
    }
}
.copy-icon+span {
	color: green !important;
	background: #fff;
	position: relative;
	bottom: 6px;
	right: 6px;
	font-size: 14px;
}
.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;
}


.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: calc(7px + 0.15vw);
}

.alert-card-container.is-home .period-value {
    font-size: calc(8px + 0.15vw);
}

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

.alert-card-container.is-home .variation-percentage {
    text-align: center;
    font-size: calc(16px + 1vw);
}

.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: calc(7px + 0.1vw);
}

/* 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;
    }
}
.aws-inventory-page {
    display: flex;
    height: 100%;
    width: 100%;
    gap: 1rem;
}

.aws-inventory-main {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--background-white);
    border-radius: 8px;
    overflow: hidden;
}

.aws-inventory-sidebar {
    width: 350px;
    flex-shrink: 0;
    background: var(--background-white);
    border-radius: 8px;
    overflow: auto;
}

.aws-inventory-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--background-white);
}

.loading-container,
.error-container,
.empty-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 3.75rem 1.25rem;
    text-align: center;
}

.loading-text,
.error-text,
.empty-text {
    margin-top: 1rem;
    font-size: 1rem;
    color: var(--text-light);
    font-family: 'Ubuntu', sans-serif;
}

.error-icon,
.empty-icon {
    font-size: 3rem;
}

.error-text {
    color: var(--status-red);
}

.retry-button {
    margin-top: 1.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--button-primary-default);
    color: var(--text-default);
    border: none;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: 'Ubuntu', sans-serif;
    cursor: pointer;
    transition: background 0.2s;
}

.retry-button:hover {
    background: var(--menu-item-hover);
}

.retry-button:active {
    transform: scale(0.98);
}

@media (max-width: 768px) {
    .aws-inventory-content {
        padding: 0.5rem;
    }
}


.page-automacoes {
	height: 100%;
}

.title-default {
	color: var(--text-light);
	font-family: "Ubuntu", sans-serif;
}

.related-container .MuiBadge-root,
.details-related-automations .MuiBadge-root {
	margin-right: 1.6rem;
}

.page-automacoes .MuiBadge-root .MuiBadge-colorPrimary,
.related-container .MuiBadge-root .MuiBadge-colorPrimary,
.details-related-automations .MuiBadge-root .MuiBadge-colorPrimary {
	background-color: var(--color-secondary-mint);
	color: #fff;
}

.optionsGroup .MuiBadge-root {
	margin-top: 0.2rem;
	margin-right: 0.5rem;
}

.optionsGroup .MuiBadge-root .MuiBadge-colorSecondary {
	background-color: #ebebeb;
	color: #babdc6;
}

.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;
}

.page-automacoes .checkbox-dias {
	background-color: var(--color-secondary-lime);
}

.related-container {
	width: 25%;
	height: 50vh;
	background-color: #f1f5fb;
	padding: 10px;
	border-radius: 5px;
	overflow-y: auto;
}

.related-resource-label {
	font-size: 14px;
	margin: 10px 0;
}

.related-container::-webkit-scrollbar {
	width: 8px;
	height: 0;
}

.related-container::-webkit-scrollbar-thumb {
	background: #cccccf;
	height: 8px;
	border-radius: 4px;
}

.related-container::-webkit-scrollbar-thumb:hover {
	background: #ddd;
}

.related-container::-webkit-scrollbar-track {
	border-radius: 4px;
}

.related-resource-card {
	box-shadow: none !important;
	border-left: 4px solid;
	margin-bottom: 0.5rem;
}

.related-resource-link {
	font-size: 12px;
	margin-left: 4px;
	color: var(--color-secondary-cyan);
	cursor: pointer;
	text-decoration: underline;
}

.related-title,
.resize-review-title {
	color: var(--text-light);
	font-family: "Ubuntu", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 500;
	letter-spacing: -0.04rem;
	min-width: 60px;
}

.related-title {
	line-height: 160%;
}

.titulo-form {
	font-family: "Ubuntu", sans-serif;
	font-style: normal;
	font-weight: 600;
	font-size: 14px;
	line-height: 140%;
	color: var(--text-default);
	flex: none;
	order: 0;
	flex-grow: 0;
	height: 16px;
	position: static;
	left: 0px;
	top: 0px;
	margin-top: 1rem;
	margin-bottom: 0.8rem;
}

.details-resource-container {
	margin-top: 1rem;
	display: inline-block;
}

.details-resource-line {
	display: flex;
	align-items: start;
	font-size: 12px;
	margin-bottom: 0.5rem;
}

.details-resource-line label {
	color: gray;
}

.details-resource-line span {
	margin-right: 1rem;
}

.resize-review-container {
	padding-top: 10px;
	width: 100%;
	display: flex;
	justify-content: center;
	max-height: 50vh;
	overflow-y: hidden;
}

.resize-review-dashboard {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-bottom: 1rem;
}

.resize-review-title {
	margin-bottom: 1rem;
	line-height: 120%;
}

.resize-review-grid {
	width: 25rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin: 0 0 1.5rem 1rem;
}

.resize-review-col {
	width: 10rem;
	margin: 0;
}

.resize-review-col span {
	position: relative;
	display: block;
	font-size: 12px;
	white-space: nowrap;
	padding: 5px;
	text-align: right;
}

.resize-review-col:first-of-type span {
	text-align: left;
}

.resize-review-col span:nth-child(even):not(:nth-child(2)) {
	background-color: #f5f5f5;
}

.resize-review-col:last-child span:not(:nth-child(1)) {
	font-weight: 600;
}

.resize-review-sizeline {
	border-bottom: 2px solid #f5f5f5;
	font-weight: 600;
}

.resize-review-costarrow {
	width: 20%;
	display: flex;
	justify-content: center;
}

.resize-review-costarrow,
.resize-review-costsummary {
	position: relative;
	margin: auto;
}

.resize-review-costsummary {
	text-align: right;
	width: 40%;
	display: block;
	color: #8B90A3;
	font-family: "Ubuntu", sans-serif;
}

.resize-review-costsummary span:first-child,
.resize-review-costsummary span:last-child {
	font-size: 0.8rem;
	white-space: nowrap;
}

.resize-review-costsummary-value {
	font-size: 2rem;
	color: #5F5DAD;
}

.details-resource-header-line {
	display: flex;
	justify-content: space-between;
	width: 100%;
	font-size: 14px;
	margin-bottom: 10px;
}

.details-related-automations {
	margin-top: 30px;
}

.rdButton {
	font-family: "Ubuntu", sans-serif;
	font-style: normal;
	font-weight: 600;
	font-size: 14px;
}

.detailLink {
	color: var(--color-secondary-cyan);
	text-decoration: underline;
}

.detailLink:hover {
	cursor: pointer;
}

.detailRow {
	padding: 7px 0;
}

.detailRowList {
	padding: 3.5px 0;
}

.auditTimestamp {
	color: green;
}

.auditInfoContainer {
	padding: 5px;
}

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

.auditInfoLabels {
	width: 200px;
}

.ticketSummary {
	font-size: 14px;
}

.ticketSummary p {
	padding: 5px;
}

.filterPanelControls {
	display: flex;
	justify-content: space-between;
	margin-top: 10px;
}

.filterPanelFields {
	margin: 0;
}

.filterPanelFields div {
	padding: 2px 0;
}

/* DATA TABLE*/
.automationIdColumn {
	min-width: 0;
}

.automationIdIcon {
	min-width: 20px;
	padding-left: 4px;
}

.automationIdColumn,
.automationIdIcon {
	align-items: center;
}

.automationIdColumn,
.automationIdIcon,
.hourScheduledColumn,
.weekDaysScheduledColumn,
.relatedWeekDaysScheduledColumn,
.relatedHourScheduledColumn,
.actionColumn {
	display: flex;
}

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

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

.statusEnabled {
	color: #3ebb3f
}

.statusDisabled {
	color: #dc291e
}

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

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

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

.economia-acumulada-currency {
	font-size: 1.5vw;
}

.economia-acumulada-amount {
	font-size: 2.5vw;
}

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

/* Automações card styling */
.automacoes-card-value .data div {
	font-size: 2.5vw !important;
}

/* Savings table - processing failure row styling */
.savings-table-failure-row {
	background-color: #ffebee !important;
}
/* V5 Automations Page Styles */

/* Import parent styles for shared classes */

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

/* Table header row */
.v5-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 */
.v5-header-cell {
	padding: 0 8px;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

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

/* Expand/Collapse all button */
.v5-automations-table {
	position: relative;
}

.v5-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;
}

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

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

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

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

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

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

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

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

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

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

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

/* Status indicator bar - matches LcInfiniteTable .color-status */
.v5-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 */
.v5-scheduler-description-icon {
	display: inline-flex;
	align-items: center;
	color: var(--text-default);
	flex-shrink: 0;
}

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

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

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

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

.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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.v5-next-schedulers-content {
	flex: 1 1;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

/* Next Schedulers Carousel */
.v5-next-schedulers-carousel {
	width: 100%;
}

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

.v5-next-scheduler-resource {
	font-family: Ubuntu, sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--text-default);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 200px;
}

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

.v5-next-scheduler-time {
	font-family: Ubuntu, sans-serif;
	font-weight: 400;
	font-size: 12px;
	color: var(--text-default);
	text-transform: capitalize;
}
/* Resource Details Modal Styles */
.v5-resource-details-modal {
	padding: 0;
}

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

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

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

.v5-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;
}

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

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

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

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

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

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

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

.v5-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);
}

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

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

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

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

.v5-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;
}

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

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

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

.v5-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;
}

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

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

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

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

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

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

.v5-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;
}

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

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

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

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

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

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

.v5-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Sync resource button */
.v5-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;
}

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

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

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

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

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

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

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

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

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

.v5-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;
}

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

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

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

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

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

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

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

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

.v5-weekly-summary .v5-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.v5-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 */

.v5-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);
}

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

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

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

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

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

.v5-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) */

.v5-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;
}

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

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

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

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

.v5-weekly-summary .v5-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;
}

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

.v5-weekly-summary .v5-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;
}

.v5-weekly-summary .v5-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;
}

.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-item:hover .timeline-content {
    background: #f9fafb;
    border-radius: 8px;
    margin: -8px;
    padding: 8px;
    padding-bottom: 24px;
}

/* 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-v5 {
    min-height: auto;
    height: 75vh;
    max-height: 75vh;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Saving overlay - blocks all interactions during save */
.automations-form-v5 .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-v5 .wizard-container {
    display: flex;
    flex-direction: column;
    flex: 1 1;
    min-height: 0;
    overflow: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.automations-form-v5 .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-v5 .resource-item-details {
    font-size: 12px;
    color: #8B90A3;
    display: flex;
    gap: 12px;
}

.automations-form-v5 .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-v5 .live-search-container {
    display: flex;
    justify-content: center;
    margin-top: 8px;
}

.automations-form-v5 .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-v5 .btn-live-search:hover:not(:disabled) {
    background-color: #2E1956;
    background-color: var(--color-primary-purple, #2E1956);
    color: white;
}

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

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

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

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

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

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

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

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

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

.automations-form-v5 .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-v5 .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-v5 .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-v5 .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-v5 .ppdropdown__menu {
    z-index: 9999 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.automations-form-v5 .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-v5 .scheduler-item-actions .cost-compare-icon {
    color: #0d6efd;
}

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

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

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

/* Add Automation Placeholder */
.automations-form-v5 .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-v5 .add-automation-placeholder:hover:not(.disabled) {
    border-color: #007bff;
    color: #007bff;
    background-color: rgba(0, 123, 255, 0.03);
}

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

/* Form Input - Compact */
.automations-form-v5 .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-v5 .form-input:focus {
    border-color: #2E1956;
    border-color: var(--color-primary-purple, #2E1956);
}

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

.automations-form-v5 .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-v5 .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-v5 .weekday-checkbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    cursor: pointer;
    width: 26px;
    height: 100%;
}

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

.automations-form-v5 .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-v5 .time-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
    height: 36px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Group header styling in dropdown */
.automations-form-v5 .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-v5 .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-v5 .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;
}


