/* ---- Keepit Overview Cards ---- */
.keepit-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-gap: 16px;
    gap: 16px;
    padding: 16px 0;
}

.keepit-overview-card {
    background: #fff;
    background: var(--color-content-bg, #fff);
    border-radius: 8px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.2s;
}

.keepit-overview-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.keepit-overview-card-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
    letter-spacing: 0.5px;
}

.keepit-overview-card-value {
    font-size: 28px;
    font-weight: 700;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
}

.keepit-overview-card-sub {
    font-size: 12px;
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
}

/* ---- Keepit Status Badge ---- */
.keepit-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 12px;
    width: fit-content;
}

/* ---- Keepit Service Cards Carousel ---- */
.keepit-service-cards-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.keepit-service-cards-grid {
    display: flex;
    gap: 25px;
    padding: 4px 0px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    /* justify-content:  fle; */
    margin: 0 20px;
}

.keepit-service-cards-grid::-webkit-scrollbar {
    display: none;
}

.keepit-service-card {
    background: #fff;
    background: var(--color-content-bg, #fff);
    border: 1px solid #e9ecef;
    border: 1px solid var(--color-border, #e9ecef);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: box-shadow 0.2s, border-color 0.2s;
    cursor: pointer;
    min-width: calc(25% - 20px);
    max-width: calc(25% - 20px);
    flex-shrink: 0;
}

.keepit-service-card:hover {
    box-shadow: 0 4px 16px color-mix(in srgb, #adb5bd 25%, transparent);
    box-shadow: 0 4px 16px color-mix(in srgb, var(--svc-color, #adb5bd) 25%, transparent);
    border-color: #adb5bd;
    border-color: var(--svc-color, var(--color-secondary-text, #adb5bd));
}

.keepit-service-card-warning {
    border-color: #d4a017;
}

.keepit-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #dee2e6;
    border: 1px solid var(--color-border, #dee2e6);
    background: #fff;
    background: var(--color-content-bg, #fff);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    font-size: 14px;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
    transition: background 0.2s;
}

.keepit-carousel-nav:hover {
    background: #f0f0f0;
    background: var(--color-hover-bg, #f0f0f0);
}

.keepit-carousel-nav-left {
    left: -4px;
}

.keepit-carousel-nav-right {
    right: -4px;
}

.keepit-service-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.keepit-service-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
}

.keepit-service-card-name {
    font-weight: 600;
    font-size: 14px;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
}

.keepit-service-card-backup {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
}

.keepit-service-card-backup-value {
    font-weight: 600;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
    font-size: 12px;
}

.keepit-service-card-progress {
    width: 100%;
    height: 5px;
    background: #e9ecef;
    background: var(--color-border, #e9ecef);
    border-radius: 3px;
    overflow: hidden;
}

.keepit-service-card-progress-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s ease;
}

/* ---- Keepit Service Detail (focused view) ---- */
.keepit-detail-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px;
    height: 100%;
}

.keepit-detail-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.keepit-detail-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.keepit-detail-header-right {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.keepit-detail-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
    flex-shrink: 0;
}

.keepit-detail-title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
}

.keepit-detail-subtitle {
    font-size: 12px;
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
}

.keepit-detail-health-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 12px;
}

/* Cards internos */
.keepit-detail-card {
    background: #fff;
    background: var(--color-content-bg, #fff);
    border: 1px solid #e9ecef;
    border: 1px solid var(--color-border, #e9ecef);
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.keepit-detail-card-title {
    font-size: 12px;
    font-weight: 700;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* Top row: 3 colunas */
.keepit-detail-top-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 12px;
    gap: 12px;
}

/* Summary compacto */
.keepit-detail-summary-compact {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.keepit-detail-summary-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.keepit-detail-summary-label {
    font-size: 11px;
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
    min-width: 75px;
}

.keepit-detail-summary-value {
    font-size: 13px;
    font-weight: 600;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
}

/* Donut */
.keepit-detail-card-donut {
    min-height: 180px;
}

.keepit-detail-donut-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}

.keepit-detail-donut-legend {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.keepit-detail-donut-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
}

.keepit-detail-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.keepit-detail-dot-added { background-color: #1b873b; }
.keepit-detail-dot-removed { background-color: #dc3545; }
.keepit-detail-val-added { color: #1b873b; }
.keepit-detail-val-removed { color: #dc3545; }

/* Storage */
.keepit-detail-storage-value {
    font-size: 28px;
    font-weight: 700;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
}

/* Failure info */
.keepit-detail-fail-info {
    border-top: 1px solid #e0e0e0;
    border-top: 1px solid var(--color-border, #e0e0e0);
    padding-top: 8px;
    margin-top: 8px;
}

.keepit-detail-fail-title {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #dc3545;
    margin-bottom: 4px;
}

.keepit-detail-fail-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 120px;
    overflow-y: auto;
}

.keepit-detail-fail-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
    font-size: 11px;
    border-bottom: 1px solid #f0f0f0;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0);
}

.keepit-detail-fail-list li:last-child {
    border-bottom: none;
}

.keepit-detail-fail-name {
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60%;
}

.keepit-detail-fail-count {
    color: #dc3545;
    font-weight: 500;
    white-space: nowrap;
}

.keepit-detail-fail-more {
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
    font-style: italic;
}

/* Fail list clickable rows */
.keepit-detail-fail-row-clickable {
    cursor: pointer;
    transition: background-color 0.15s ease;
    border-radius: 4px;
    padding: 3px 4px !important;
}

.keepit-detail-fail-row-clickable:hover {
    background-color: rgba(0, 120, 212, 0.06);
    background-color: var(--color-hover, rgba(0, 120, 212, 0.06));
}

/* Fail detail modal */
.keepit-fail-detail-modal {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.keepit-fail-detail-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.keepit-fail-detail-section-title {
    font-size: 13px;
    font-weight: 600;
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
    margin: 0;
    padding-bottom: 6px;
    border-bottom: 1px solid #e0e0e0;
    border-bottom: 1px solid var(--color-border, #e0e0e0);
}

.keepit-fail-detail-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.keepit-fail-detail-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.keepit-fail-detail-label {
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
    min-width: 120px;
    flex-shrink: 0;
}

.keepit-fail-detail-value {
    color: #1b2a4a;
    color: var(--color-primary-text, #1b2a4a);
    word-break: break-all;
}

.keepit-fail-detail-stats {
    display: flex;
    gap: 16px;
}

.keepit-fail-detail-stat {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 8px;
    flex: 1 1;
}

.keepit-fail-detail-stat-error {
    background-color: rgba(220, 53, 69, 0.08);
    color: #dc3545;
}

.keepit-fail-detail-stat-info {
    background-color: rgba(0, 120, 212, 0.08);
    color: #0078d4;
}

.keepit-fail-detail-stat div {
    display: flex;
    flex-direction: column;
}

.keepit-fail-detail-stat-value {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

.keepit-fail-detail-stat-label {
    font-size: 11px;
    opacity: 0.85;
}

.keepit-fail-detail-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
}

.keepit-fail-detail-badge-ok {
    background-color: rgba(27, 135, 59, 0.1);
    color: #1b873b;
}

.keepit-fail-detail-badge-fail {
    background-color: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}

.keepit-fail-detail-mono {
    font-family: monospace;
    font-size: 12px;
    color: #6c757d;
    color: var(--color-secondary-text, #6c757d);
}

.keepit-fail-detail-section-title {
    display: flex;
    align-items: center;
    gap: 6px;
}

.keepit-fail-detail-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.keepit-fail-detail-badge-card {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
}

.keepit-fail-detail-badge-card.ok {
    background-color: rgba(27, 135, 59, 0.08);
    color: #1b873b;
}

.keepit-fail-detail-badge-card.fail {
    background-color: rgba(220, 53, 69, 0.08);
    color: #dc3545;
}

.keepit-fail-detail-badge-card.neutral {
    background-color: rgba(108, 117, 125, 0.08);
    color: #6c757d;
}

.keepit-detail-progress-bar {
    width: 100%;
    height: 6px;
    background: #e9ecef;
    background: var(--color-border, #e9ecef);
    border-radius: 3px;
    overflow: hidden;
}

.keepit-detail-progress-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s ease;
}

/* Anomalies table card */
.keepit-detail-card-table {
    flex: 1 1;
    min-height: 0;
}

.keepit-detail-severity {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.keepit-detail-severity-critical {
    color: #dc3545;
    background-color: #f8d7da;
}

.keepit-detail-severity-warning {
    color: #d4a017;
    background-color: #fff3cd;
}

@media (max-width: 900px) {
    .keepit-detail-top-row {
        grid-template-columns: 1fr;
    }
}

/* KPI Cards */
.action-kpi-row {
    display: flex;
    gap: 16px;
    width: 100%;
    justify-content: space-between;
}

.action-kpi-card {
    flex: 1 1;
    min-width: 0;
}

/* Export Dropdown */
.export-dropdown-wrapper {
    position: relative;
    display: inline-block;
}

.export-dropdown-trigger {
    background: #f5f5f5;
    background: var(--background-light, #f5f5f5);
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    color: var(--color-primary-text);
    transition: background 0.2s;
}

.export-dropdown-trigger:hover {
    background: #E2E6F3;
    background: var(--line-default, #E2E6F3);
}

.export-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    background: var(--background-default, #fff);
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 10;
    min-width: 180px;
    margin-top: 4px;
}

.export-dropdown-item {
    display: block;
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: none;
    text-align: left;
    font-size: 13px;
    cursor: pointer;
    color: var(--color-primary-text);
}

.export-dropdown-item:hover {
    background: #f5f5f5;
    background: var(--background-light, #f5f5f5);
}

/* Action Detail Modal */
.action-detail-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 8px 0;
}

.action-detail-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.action-detail-subtitle {
    font-size: 12px;
    font-weight: 600;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.action-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    line-height: 1.4;
}

.action-detail-label {
    font-weight: 500;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    white-space: nowrap;
    min-width: 120px;
}

.action-detail-action-block {
    background: #FFF8E1;
    border-left: 4px solid #FFD54F;
    border-radius: 6px;
    padding: 16px;
}

.action-detail-action-title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 8px;
}

.action-detail-action-desc {
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 8px;
}

.action-detail-action-note {
    font-size: 12px;
    color: #6c757d;
    margin: 4px 0 0;
}

.action-detail-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.action-detail-table th,
.action-detail-table td {
    padding: 6px 10px;
    border-bottom: 1px solid #E2E6F3;
    border-bottom: 1px solid var(--line-default, #E2E6F3);
    text-align: left;
}

.action-detail-table th {
    font-weight: 600;
    font-size: 11px;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    text-transform: uppercase;
}

.action-detail-table td:first-child {
    font-weight: 500;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    white-space: nowrap;
    min-width: 130px;
}

/* Alert Subscribers */
.alert-subscribers-panel {
    padding: 16px 0;
}

.alert-subscribers-title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 12px;
}

.alert-subscribers-form {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}

.alert-subscribers-input {
    flex: 1 1;
    padding: 6px 10px;
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 6px;
    font-size: 13px;
    outline: none;
}

.alert-subscribers-input:focus {
    border-color: #471FCC;
    border-color: var(--color-primary-blue, #471FCC);
}

.alert-subscribers-add-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    border: none;
    border-radius: 6px;
    background: #471FCC;
    background: var(--color-primary-blue, #471FCC);
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.alert-subscribers-add-btn:hover {
    opacity: 0.9;
}

.alert-subscribers-add-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.alert-subscribers-error {
    color: #dc3545;
    font-size: 12px;
    margin-bottom: 8px;
}

.alert-subscribers-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.alert-subscriber-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border-radius: 6px;
    background: #f5f5f5;
    background: var(--background-light, #f5f5f5);
}

.alert-subscriber-info {
    display: flex;
    flex-direction: column;
}

.alert-subscriber-name {
    font-size: 13px;
    font-weight: 600;
}

.alert-subscriber-email {
    font-size: 11px;
    color: #6B6F7D;
    color: var(--color-secondary-text, #6B6F7D);
}

.alert-subscriber-remove {
    background: none;
    border: none;
    cursor: pointer;
    color: #dc3545;
    padding: 4px;
    border-radius: 4px;
}

.alert-subscriber-remove:hover {
    background: #f8d7da;
}

/* Page header */
.acoes-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 0 4px;
}

/* Resumo de Databases — faixa KPI compacta, alinhada ao strip de VMs. */
.db-summary-strip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    max-width: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.db-summary-strip__divider {
    width: 1px;
    align-self: stretch;
    min-height: 22px;
    background: #E2E6F3;
    background: var(--line-default, #E2E6F3);
    margin: 0 4px;
    flex-shrink: 0;
}

.db-summary-strip__kpis {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    min-width: 0;
}

.db-summary-strip__kpi {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 3px;
    min-width: 0;
    padding: 2px 5px;
    flex: 0 0 auto;
    white-space: nowrap;
    line-height: 1.1;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    cursor: default;
    text-align: left;
    font-family: inherit;
}

/* Os filtros permanecem compactos, mas assumem aparência explícita de badge. */
button.db-summary-strip__kpi {
    appearance: none;
    -webkit-appearance: none;
    min-height: 20px;
    padding: 2px 6px;
    border: 1px solid #E8ECF6;
    border-radius: 999px;
    background: #FAFBFD;
    color: inherit;
    cursor: default;
    transition: background-color 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

.db-summary-strip--interactive .db-summary-strip__kpi.is-clickable {
    cursor: pointer;
}

button.db-summary-strip__kpi.is-clickable:hover:not(:disabled) {
    background: #FAFBFD;
    border-color: #E8ECF6;
    box-shadow: 0 1px 3px rgba(46, 25, 86, 0.08);
}

button.db-summary-strip__kpi.is-clickable:focus-visible {
    outline: 2px solid rgba(71, 31, 204, 0.35);
    outline-offset: 1px;
}

button.db-summary-strip__kpi.is-active {
    background: rgba(91, 43, 225, 0.10);
    border-color: rgba(91, 43, 225, 0.32);
    box-shadow: inset 0 0 0 1px rgba(91, 43, 225, 0.08);
}

button.db-summary-strip__kpi.is-active .db-summary-strip__kpi-label {
    color: #471FCC;
}

button.db-summary-strip__kpi:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.db-summary-strip__kpi-label {
    font-size: 9px;
    font-weight: 600;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    white-space: nowrap;
}

.db-summary-strip__kpi-value {
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.db-summary-strip__kpi-value--green { color: #34C38F; }
.db-summary-strip__kpi-value--orange { color: #F1B44C; }
.db-summary-strip__kpi-value--muted { color: #8B90A3; }
.db-summary-strip__kpi-value--blue { color: #556ee6; }
.db-summary-strip__kpi-value--purple { color: #8C40E3; }
.db-summary-strip__kpi-value--teal { color: #0AB39C; }

.db-summary-strip__kpi-hint {
    font-size: 9px;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    white-space: nowrap;
}

.db-summary-strip__kpi--engine {
    gap: 3px;
}

.db-summary-strip__kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
}


/* Painel Detalhes da VM — drawer lateral portaled no body */
.vmd-overlay {
    position: fixed;
    inset: 0;
    z-index: 12000;
    background: rgba(30, 27, 46, 0.42);
    display: flex;
    justify-content: flex-end;
    animation: vmd-fade-in 0.16s ease;
}

@keyframes vmd-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.vmd-panel {
    width: min(560px, 100vw);
    height: 100%;
    background: #fff;
    box-shadow: -8px 0 32px rgba(46, 25, 86, 0.16);
    display: flex;
    flex-direction: column;
    animation: vmd-slide-in 0.2s ease;
}

@keyframes vmd-slide-in {
    from { transform: translateX(24px); opacity: 0.85; }
    to { transform: translateX(0); opacity: 1; }
}

.vmd-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 20px 12px;
    border-bottom: 1px solid #ECEFF6;
    flex-shrink: 0;
}

.vmd-panel__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 16px 20px 24px;
}

.vmd-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #6B6F7D;
    cursor: pointer;
    flex-shrink: 0;
}

.vmd-close:hover {
    background: #F5F6FA;
    color: #2E1956;
}

.vmd-drawer {
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-family: "Ubuntu", sans-serif;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.vmd-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.vmd-provider-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #FFF7ED;
    border: 1px solid #FFE8CC;
    flex-shrink: 0;
}

.vmd-provider-badge--azure {
    background: #EFF6FF;
    border-color: #DBEAFE;
}

.vmd-provider-badge--oci {
    background: #FEF2F2;
    border-color: #FECACA;
}

.vmd-provider-badge--gcp {
    background: #EFF6FF;
    border-color: #DBEAFE;
}

.vmd-head-text {
    min-width: 0;
    flex: 1 1;
}

.vmd-kicker {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
}

.vmd-title {
    margin: 2px 0 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    word-break: break-word;
}

.vmd-kpi-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-gap: 8px;
    gap: 8px;
}

.vmd-kpi {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    padding: 10px 10px 12px;
    border-radius: 12px;
    border: 1px solid #ECEFF6;
    background: #FAFBFD;
}

.vmd-kpi__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #EEF1F8;
    color: #556ee6;
}

.vmd-kpi__icon--on {
    color: #34C38F;
    border-color: rgba(52, 195, 143, 0.25);
    background: rgba(52, 195, 143, 0.08);
}

.vmd-kpi__icon--off {
    color: #F46A6A;
    border-color: rgba(244, 106, 106, 0.25);
    background: rgba(244, 106, 106, 0.08);
}

.vmd-kpi__label {
    font-size: 11px;
    font-weight: 500;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
}

.vmd-kpi__value {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    word-break: break-word;
}

.vmd-kpi__value--on { color: #2B9A74; }
.vmd-kpi__value--off { color: #D64545; }

.vmd-section {
    border: 1px solid #ECEFF6;
    border-radius: 14px;
    padding: 14px 16px 16px;
    background: #fff;
}

.vmd-section__title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 700;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.vmd-section__title-icon {
    display: inline-flex;
    color: #556ee6;
}

.vmd-grid {
    display: grid;
    grid-gap: 12px 16px;
    gap: 12px 16px;
}

.vmd-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vmd-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.vmd-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vmd-field__label {
    font-size: 11px;
    font-weight: 500;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
}

.vmd-field__value {
    font-size: 13px;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    word-break: break-word;
    line-height: 1.35;
}

.vmd-field__value--muted {
    font-weight: 500;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
}

.vmd-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.vmd-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
}

.vmd-status-pill__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.vmd-status-pill--on { color: #2B9A74; }
.vmd-status-pill--on .vmd-status-pill__dot { background: #34C38F; }
.vmd-status-pill--off { color: #D64545; }
.vmd-status-pill--off .vmd-status-pill__dot { background: #F46A6A; }
.vmd-status-pill--pending { color: #8B90A3; }
.vmd-status-pill--pending .vmd-status-pill__dot { background: #C5C9D6; }

.vmd-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    width: fit-content;
}

.vmd-chip--on {
    background: rgba(52, 195, 143, 0.12);
    color: #2B9A74;
}

.vmd-chip--off {
    background: #EEF0F5;
    color: #5A6F8F;
}

.vmd-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #ECEFF6;
}

/* Footer sticky do painel (Storage / Savings / Activities) */
.vmd-panel__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-shrink: 0;
    padding: 12px 20px 16px;
    border-top: 1px solid #ECEFF6;
    background: #fff;
}

/* Botões do drawer = padrão global lc-button */
.vmd-panel button.lc-button,
.vmd-footer button.lc-button,
.vmd-panel__footer button.lc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 135px;
    height: 40px;
    padding: 0.3rem 1.2rem;
    border: 0;
    border-radius: 4px;
    font-family: "Ubuntu", sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.vmd-panel button.lc-button:disabled,
.vmd-footer button.lc-button:disabled,
.vmd-panel__footer button.lc-button:disabled,
.vmd-panel button.lc-button.disabled,
.vmd-footer button.lc-button.disabled {
    background-color: #ebebeb !important;
    color: #8B90A3 !important;
    color: var(--text-light, #8B90A3) !important;
    cursor: not-allowed;
    opacity: 1;
}

/* Compat: classes antigas vmd-btn redirecionam visualmente para lc-button */
.vmd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 135px;
    height: 40px;
    padding: 0.3rem 1.2rem;
    border: 0;
    border-radius: 4px;
    font-family: "Ubuntu", sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    background-color: #F5F6FA !important;
    background-color: var(--background-light, #F5F6FA) !important;
    color: #2E1956 !important;
    color: var(--text-default, #2E1956) !important;
}

.vmd-btn:disabled {
    background-color: #ebebeb !important;
    color: #8B90A3 !important;
    color: var(--text-light, #8B90A3) !important;
    cursor: not-allowed;
}

.vmd-btn--primary {
    background-color: #9FA3FF !important;
    background-color: var(--button-primary-default, #9FA3FF) !important;
    color: #2E1956 !important;
    color: var(--text-default, #2E1956) !important;
}

.vmd-btn--primary:hover:not(:disabled) {
    background-color: #C3C6FD !important;
}

.vmd-btn--secondary,
.vmd-btn--ghost {
    background-color: #F5F6FA !important;
    background-color: var(--background-light, #F5F6FA) !important;
    color: #2E1956 !important;
    color: var(--text-default, #2E1956) !important;
}

.vmd-btn--secondary:hover:not(:disabled),
.vmd-btn--ghost:hover:not(:disabled) {
    background-color: #ECEEF6 !important;
}

.vmd-btn--ghost {
    min-width: 40px;
    width: 40px;
    padding: 0;
}

@media (max-width: 560px) {
    .vmd-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .vmd-grid--3 {
        grid-template-columns: 1fr 1fr;
    }
    .vmd-footer,
    .vmd-panel__footer {
        justify-content: stretch;
    }
    .vmd-footer .lc-button,
    .vmd-panel__footer .lc-button {
        flex: 1 1 auto;
        min-width: 0;
    }
}

.gtmConfiguration_footerModalBtn__lWrO9 {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
}
.gtmConfiguration_webSitesLabel__Kd\+nD {
    margin-bottom: 2rem;
}
.errorField {
    border: 1px solid #f00 !important;
    color:red !important;
    background-color: rgb(255, 215, 215)!important;
}

/* Painel tabela Ambiente + Resumo de VMs */
.ambiente-table-panel {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
    min-height: 0;
    width: 100%;
    box-sizing: border-box;
}

.ambiente-table-panel__table {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ambiente-table-panel__table .lc-datatableinfinite,
.ambiente-table-panel__table .amb-vm-revo {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

/* Chips / células da tabela de VMs */
.ambiente-vms-table .vm-cell-stack {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    line-height: 1.2;
}

.ambiente-vms-table .vm-cell-primary {
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ambiente-vms-table .vm-cell-secondary {
    font-size: 11px;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ambiente-vms-table .vm-cloud-cell {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ambiente-vms-table .vm-cloud-label {
    font-weight: 600;
    font-size: 12px;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    text-transform: lowercase;
}

.ambiente-vms-table .vm-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.ambiente-vms-table .vm-chip--automation-on {
    background: rgba(52, 195, 143, 0.14);
    color: #1f9d6a;
}

.ambiente-vms-table .vm-chip--automation-off {
    background: rgba(139, 144, 163, 0.12);
    color: #8B90A3;
}

.ambiente-vms-table .vm-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.ambiente-vms-table .vm-status__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.ambiente-vms-table .vm-status--on { color: #34C38F; }
.ambiente-vms-table .vm-status--on .vm-status__dot { background: #34C38F; }
.ambiente-vms-table .vm-status--off { color: #F46A6A; }
.ambiente-vms-table .vm-status--off .vm-status__dot { background: #F46A6A; }
.ambiente-vms-table .vm-status--pending { color: #8B90A3; }
.ambiente-vms-table .vm-status--pending .vm-status__dot { background: #C5C9D6; }
.ambiente-vms-table .vm-status--warn { color: #F1B44C; }
.ambiente-vms-table .vm-status--warn .vm-status__dot { background: #F1B44C; }

.ambiente-vms-table .vm-so-cell {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ambiente-vms-table .vm-so-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    flex-shrink: 0;
}

.ambiente-vms-table .vm-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    width: 100%;
}

/* Seleção de linhas (checkbox) — acento roxo LiveCloud */
.ambiente-vms-table .lc-datatableinfinite > .body > .row:has(.lci-checkbox-on) {
    background: rgba(140, 64, 227, 0.06);
    border-left-color: #8C40E3 !important;
}

.ambiente-vms-table .lc-datatableinfinite .selectable .lci-checkbox-on {
    color: #8C40E3 !important;
}
/* Wrapper alinhado ao padrão SaaS Users (.saas-grid-wrapper) */
.amb-vm-revo {
    width: 100%;
    height: 100%;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.amb-vm-revo--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
}

.amb-vm-revo revo-grid {
    flex: 1 1;
    min-height: 0;
    width: 100%;
    height: 100%;
    font-family: "Ubuntu", sans-serif;
}

.amb-vm-revo revo-grid[theme=compact] {
    --revo-grid-row-header-height: 32px;
}

/* Linhas */
.amb-vm-revo revo-grid .rgRow {
    border-bottom: 1px solid #F1F3F8;
}

.amb-vm-revo revo-grid .rgRow:hover {
    background-color: #FAFBFD;
}

/* Cabeçalho — mesmo visual SaaS Users */
.amb-vm-revo revo-grid .header-rgRow,
.amb-vm-revo revo-grid .rgHeaderCell {
    background-color: #fff !important;
    border-bottom: solid 1px #E2E6F3 !important;
    min-height: 28px;
}

.amb-vm-revo revo-grid .rgHeaderCell {
    font-family: "Ubuntu", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1px;
    color: #6B6F7D;
    text-transform: none;
    border: none !important;
    box-shadow: none !important;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s ease;
}

.amb-vm-revo revo-grid .rgHeaderCell::before,
.amb-vm-revo revo-grid .rgHeaderCell::after,
.amb-vm-revo revo-grid .rgHeaderCell .resizable-r,
.amb-vm-revo revo-grid .header-rgRow .resizable-r,
.amb-vm-revo revo-grid .header-rgRow .resize-r {
    border: none !important;
    background: transparent !important;
}

.amb-vm-revo revo-grid revogr-header,
.amb-vm-revo revo-grid revogr-header .rgHeaderCell,
.amb-vm-revo revo-grid revogr-viewport-scroll.colPinStart revogr-header,
.amb-vm-revo revo-grid revogr-viewport-scroll.colPinStart revogr-header .rgHeaderCell,
.amb-vm-revo revo-grid revogr-viewport-scroll.colPinEnd revogr-header,
.amb-vm-revo revo-grid revogr-viewport-scroll.colPinEnd revogr-header .rgHeaderCell {
    box-shadow: none !important;
    border-left: none !important;
    border-right: none !important;
}

.amb-vm-revo revo-grid .rgHeaderCell:hover {
    color: #2E1956;
    background-color: #FAFBFD !important;
}

.amb-vm-revo revo-grid .rgHeaderCell.sortable {
    cursor: pointer;
    font-weight: 500;
}

.amb-vm-revo revo-grid .rgHeaderCell.sort-asc,
.amb-vm-revo revo-grid .rgHeaderCell.sort-desc {
    color: #2E1956;
}

.amb-vm-revo revo-grid .rgHeaderCell .sort-icon,
.amb-vm-revo revo-grid .rgHeaderCell.sort-asc::after,
.amb-vm-revo revo-grid .rgHeaderCell.sort-desc::after {
    color: #471FCC;
    font-size: 0.65rem;
}

/* Células base */
.amb-vm-revo revo-grid .rgCell {
    font-family: "Ubuntu", sans-serif;
    font-size: 0.75rem;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    padding: 6px 8px;
    border-right: none !important;
    display: flex;
    align-items: center;
}

/* Conteúdo custom das células */
.amb-vm-cell {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    font-size: 0.75rem;
    line-height: 1.25;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.amb-vm-cell--primary {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.amb-vm-cell--secondary {
    font-size: 0.6875rem;
    font-weight: 500;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.amb-vm-cell--ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.amb-vm-stack {
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
}

.amb-vm-cloud,
.amb-vm-so {
    gap: 6px;
}

.amb-vm-cloud span:not(.amb-vm-brand-ico) {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: lowercase;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
}

/* Ícones ricos (SVG data-URI) — zero React/createRoot no scroll */
.amb-vm-brand-ico {
    display: inline-block;
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* AWS — FaAws oficial */
.amb-vm-brand-ico--aws {
    width: 18px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%20640%20512%27%20fill=%27%23FF9900%27%3E%3Cpath%20d=%27M180.41%20203.01c-.72%2022.65%2010.6%2032.68%2010.88%2039.05a8.164%208.164%200%200%201-4.1%206.27l-12.8%208.96a10.66%2010.66%200%200%201-5.63%201.92c-.43-.02-8.19%201.83-20.48-25.61a78.608%2078.608%200%200%201-62.61%2029.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28%2034.06-62.06%2070.93-60.05%207.1.02%2021.6.37%2046.99%206.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84%2010.11-7.36%203.38-8.3%202.82-10.75%202.82-7.41%200-4.36-21.48-2.94-24.2%205.21-6.4%2035.86-18.35%2065.94-18.18a76.857%2076.857%200%200%201%2055.69%2017.28%2070.285%2070.285%200%200%201%2017.67%2052.36l-.01%2069.29zM93.99%20235.4c32.43-.47%2046.16-19.97%2049.29-30.47%202.46-10.05%202.05-16.41%202.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82%205.63-41.74%2032.26-1.24%2016.79%2011.12%2031.4%2029.96%2030.48zm170.92%2023.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61%204.61%200%200%201%203.86-5.25c.24-.04-2.13%200%2022.25%200%208.78-.88%2011.64%206.03%2012.55%2010.37l35.72%20140.83%2033.16-140.83c.53-3.22%202.94-11.07%2012.8-10.24h17.16c2.17-.18%2011.11-.5%2012.68%2010.37l33.42%20142.63L420.98%2080.1c.48-2.18%202.72-11.37%2012.68-10.37h19.72c.85-.13%206.15-.81%205.25%208.58-.43%201.85%203.41-10.66-52.75%20169.9-1.15%205.51-4.82%2011.09-12.68%2010.37h-18.69c-10.94%201.15-12.51-9.66-12.68-10.75L328.67%20110.7l-32.78%20136.99c-.16%201.09-1.73%2011.9-12.68%2010.75h-18.3zm273.48%205.63c-5.88.01-33.92-.3-57.36-12.29a12.802%2012.802%200%200%201-7.81-11.91v-10.75c0-8.45%206.2-6.9%208.83-5.89%2010.04%204.06%2016.48%207.14%2028.81%209.6%2036.65%207.53%2052.77-2.3%2056.72-4.48%2013.15-7.81%2014.19-25.68%205.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24%2025.05-56.18%2069.52-55.95%2012.67-.01%2046.43%204.13%2055.57%2015.62%201.35%202.09%202.02%204.55%201.92%207.04v10.11c0%204.44-1.62%206.66-4.87%206.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41%2024.97-.43%2018.96%2026.61%2026.07%2029.7%2026.89%2036.46%2010.97%2048.65%2012.79%2063.12%2029.58%2017.14%2022.25%207.9%2048.3%204.35%2055.44-19.08%2037.49-68.42%2034.44-69.26%2034.42zm40.2%20104.86c-70.03%2051.72-171.69%2079.25-258.49%2079.25A469.127%20469.127%200%200%201%202.83%20327.46c-6.53-5.89-.77-13.96%207.17-9.47a637.37%20637.37%200%200%200%20316.88%2084.12%20630.22%20630.22%200%200%200%20241.59-49.55c11.78-5%2021.77%207.8%2010.12%2016.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47%2040.07-28.17%20105.88-20.1%20113.44-10.63%207.55%209.47-2.05%2075.41-39.56%20106.91-5.76%204.87-11.27%202.3-8.71-4.1%208.44-21.25%2027.39-68.49%2018.43-80.02z%27/%3E%3C/svg%3E");
}

/* Azure */
.amb-vm-brand-ico--azure {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27%230078D4%27%3E%3Cpath d=%27M13.05 4.24L6.56 18.05 2 18l5.09-8.76zm.7.19l5.81 16.26H14.4l-2.51-6.77z%27/%3E%3C/svg%3E");
}

/* OCI / Oracle */
.amb-vm-brand-ico--oci {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27%23C74634%27%3E%3Cpath d=%27M16.412 4.412h-8.82a7.588 7.588 0 0 0-.008 15.176h8.828a7.588 7.588 0 0 0 0-15.176zm-.193 12.502H7.786a4.915 4.915 0 0 1 0-9.828h8.433a4.914 4.914 0 1 1 0 9.828z%27/%3E%3C/svg%3E");
}

/* GCP */
.amb-vm-brand-ico--gcp {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27%234285F4%27 d=%27M12.14 3.05c-2.7 0-5.05 1.55-6.2 3.85l3.35 1.95c.55-1.2 1.75-2.05 3.15-2.05.55 0 1.05.15 1.5.35l2.55-2.55c-1.25-.95-2.75-1.55-4.35-1.55z%27/%3E%3Cpath fill=%27%2334A853%27 d=%27M5.94 6.9C4.74 8.5 4 10.55 4 12.8c0 .85.15 1.65.4 2.4l3.55-1.45c-.15-.4-.2-.8-.2-1.25 0-1.15.5-2.2 1.3-2.9L5.94 6.9z%27/%3E%3Cpath fill=%27%23FBBC05%27 d=%27M12.14 18.55c-1.4 0-2.6-.85-3.15-2.05L5.64 18.45c1.15 2.3 3.5 3.85 6.2 3.85 1.7 0 3.25-.55 4.5-1.5l-2.55-2.55c-.5.3-1.05.45-1.65.45z%27/%3E%3Cpath fill=%27%23EA4335%27 d=%27M20 12.8c0-.55-.05-1.1-.15-1.6h-7.7v3.2h4.4c-.2.95-.75 1.75-1.55 2.3l2.55 2.55c1.55-1.45 2.45-3.55 2.45-6.45z%27/%3E%3C/svg%3E");
}

/* Windows — PiWindowsLogo oficial */
.amb-vm-brand-ico--so-win {
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%20256%20256%27%20fill=%27%230078D4%27%3E%3Cpath%20d=%27M216,136H136a8,8,0,0,0-8,8v57.45a8,8,0,0,0,6.57,7.88l80,14.54A7.61,7.61,0,0,0,216,224a8,8,0,0,0,8-8V144A8,8,0,0,0,216,136Zm-8,70.41-64-11.63V152h64ZM104,136H40a8,8,0,0,0-8,8v40a8,8,0,0,0,6.57,7.87l64,11.64a8.54,8.54,0,0,0,1.43.13,8,8,0,0,0,8-8V144A8,8,0,0,0,104,136Zm-8,50.05-48-8.73V152H96ZM221.13,33.86a8,8,0,0,0-6.56-1.73l-80,14.55A8,8,0,0,0,128,54.55V112a8,8,0,0,0,8,8h80a8,8,0,0,0,8-8V40A8,8,0,0,0,221.13,33.86ZM208,104H144V61.22l64-11.63ZM109.13,54.22a8,8,0,0,0-6.56-1.73l-64,11.64A8,8,0,0,0,32,72v40a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V60.36A8,8,0,0,0,109.13,54.22ZM96,104H48V78.68L96,70Z%27/%3E%3C/svg%3E");
}

/* Linux — PiLinuxLogo oficial */
.amb-vm-brand-ico--so-linux {
    width: 15px;
    height: 15px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%20256%20256%27%20fill=%27%23E95420%27%3E%3Cpath%20d=%27M229,222.25A8,8,0,0,1,217.76,221C216.39,219.27,184,177.86,184,96A56,56,0,0,0,72,96c0,81.86-32.37,123.27-33.75,125a8,8,0,0,1-12.51-10c.15-.2,7.69-9.9,15.13-28.74C47.77,164.8,56,135.64,56,96a72,72,0,0,1,144,0c0,39.64,8.23,68.8,15.13,86.28,7.48,18.94,15.06,28.64,15.14,28.74A8,8,0,0,1,229,222.25ZM100,96a12,12,0,1,0,12,12A12,12,0,0,0,100,96Zm68,12a12,12,0,1,0-12,12A12,12,0,0,0,168,108ZM99.58,136.84a8,8,0,0,0-7.15,14.31l32,16a7.94,7.94,0,0,0,7.15,0l32-16a8,8,0,0,0-7.16-14.31L128,151.05ZM128,184a54.07,54.07,0,0,0-47,28.11,8,8,0,1,0,14,7.78,37.35,37.35,0,0,1,66,0,8,8,0,0,0,14-7.78A54.07,54.07,0,0,0,128,184Z%27/%3E%3C/svg%3E");
}

/* Outro SO / monitor — PiMonitor oficial */
.amb-vm-brand-ico--so-other {
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%20256%20256%27%20fill=%27%238684A8%27%3E%3Cpath%20d=%27M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z%27/%3E%3C/svg%3E");
}

/* Ícones leves de status/automação (não usam React) */
.amb-vm-auto-ico,
.amb-vm-status-ico {
    display: inline-block;
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    border-radius: 3px;
    background: currentColor;
    opacity: 0.95;
}

/* Células só-ícone (Automação / Situação) */
.amb-vm-icon-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.amb-vm-auto {
    color: #B0B4C3;
}

.amb-vm-auto--on {
    color: #34C38F;
}

.amb-vm-auto--off {
    color: #D0D3DE;
}

.amb-vm-auto-ico {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px currentColor;
    background: transparent;
    position: relative;
}

.amb-vm-auto-ico::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 3px;
    width: 2px;
    height: 5px;
    margin-left: -1px;
    background: currentColor;
    border-radius: 1px;
}

.amb-vm-auto__empty {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #D8DBE6;
}

.amb-vm-status {
    color: #9aa0b4;
}

.amb-vm-status--on { color: #34C38F; }
.amb-vm-status--off { color: #F46A6A; }
.amb-vm-status--pending { color: #A0A6B8; }
.amb-vm-status--warn { color: #F1B44C; }

.amb-vm-status-ico {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: transparent;
    box-shadow: inset 0 0 0 2px currentColor;
    position: relative;
}

.amb-vm-status-ico--on {
    background: currentColor;
    box-shadow: none;
}

.amb-vm-status-ico--on::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 3px;
    width: 3px;
    height: 6px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.amb-vm-status-ico--off::after,
.amb-vm-status-ico--stopping::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 4px;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background: currentColor;
}

.amb-vm-status-ico--removed::before,
.amb-vm-status-ico--removed::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 3px;
    width: 2px;
    height: 8px;
    background: currentColor;
    border-radius: 1px;
}
.amb-vm-status-ico--removed::before { transform: rotate(45deg); }
.amb-vm-status-ico--removed::after { transform: rotate(-45deg); }

.amb-vm-status-ico--pending {
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px currentColor;
    border-top-color: transparent;
    animation: amb-vm-spin 0.9s linear infinite;
    background:
        conic-gradient(from 0deg, currentColor 0 70%, transparent 70% 100%);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 0);
}

.amb-vm-status-ico--starting {
    box-shadow: inset 0 0 0 2px currentColor;
}
.amb-vm-status-ico--starting::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 3px;
    border-left: 4px solid currentColor;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}

.amb-vm-status-ico--warn {
    border-radius: 2px;
    transform: rotate(45deg);
    box-shadow: inset 0 0 0 2px currentColor;
}

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

.amb-vm-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    width: 100%;
}

/* Botões de ação leves — sem portal/tooltip React (title nativo) */
.amb-vm-act {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #6B6F7D;
    cursor: pointer;
    line-height: 0;
    flex: 0 0 auto;
    transition: color 0.12s ease, background-color 0.12s ease;
}

.amb-vm-act i {
    font-size: 14px;
    line-height: 1;
    pointer-events: none;
}

.amb-vm-act:hover:not(:disabled):not(.is-disabled) {
    color: #2E1956;
    background: rgba(71, 31, 204, 0.08);
}

.amb-vm-act:active:not(:disabled):not(.is-disabled) {
    background: rgba(71, 31, 204, 0.14);
}

.amb-vm-act:disabled,
.amb-vm-act.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

/* Helpers de alinhamento (mesmo padrão SaaS) */
.amb-vm-revo revo-grid .revo-cell--center {
    text-align: center;
    justify-content: center;
}

.amb-vm-revo revo-grid .revo-cell--right {
    text-align: right;
    justify-content: flex-end;
}

/* Status-colored left border per row (padrão SaaS Users) */
/* Ligada */
revo-grid .rgRow.amb-vm-row--on {
    box-shadow: inset 3px 0 0 0 #34C38F;
    background: #F6FCF9;
}

/* Ligada + automação */
revo-grid .rgRow.amb-vm-row--on-auto {
    box-shadow: inset 3px 0 0 0 #2B9A74;
    background: #F0FAF5;
}

/* Desligada */
revo-grid .rgRow.amb-vm-row--off {
    box-shadow: inset 3px 0 0 0 #F46A6A;
    background: #FFF8F8;
}

/* Desligada + automação (âmbar — pendente de ação / schedule) */
revo-grid .rgRow.amb-vm-row--off-auto {
    box-shadow: inset 3px 0 0 0 #C76317;
    background: #FFFBF6;
}

/* Removida / inativa */
revo-grid .rgRow.amb-vm-row--removed {
    box-shadow: inset 3px 0 0 0 #B0B6C6;
    background: #FAFBFD;
}

/* Erro */
revo-grid .rgRow.amb-vm-row--error {
    box-shadow: inset 3px 0 0 0 #F1B44C;
    background: #FFFCF5;
}

/* Desconhecido / carregando */
revo-grid .rgRow.amb-vm-row--unknown {
    box-shadow: inset 3px 0 0 0 #D0D3DE;
    background: #FCFCFD;
}

revo-grid .rgRow.amb-vm-row--on:hover,
revo-grid .rgRow.amb-vm-row--on-auto:hover {
    background-color: #ECF8F2 !important;
}

revo-grid .rgRow.amb-vm-row--off:hover {
    background-color: #FFF2F2 !important;
}

revo-grid .rgRow.amb-vm-row--off-auto:hover {
    background-color: #FFF4EC !important;
}


/* ── Toolbar única: strip + Agrupar + Colunas ───────────────────────── */
.amb-grid-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 2px 6px;
    flex-wrap: nowrap;
    flex: 0 0 auto;
    min-width: 0;
    width: 100%;
}
.amb-grid-toolbar__start {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}
.amb-grid-toolbar__end {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    margin-left: auto;
}
.amb-grid-toolbar-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #475569;
}
.amb-grid-toolbar-label { font-weight: 500; }
.amb-grid-toolbar-select {
    height: 26px;
    padding: 0 8px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background: #fff;
    font-size: 11px;
    color: #1e293b;
    font-family: 'Ubuntu', sans-serif;
    cursor: pointer;
    outline: none;
}
.amb-grid-toolbar-select:focus { border-color: #2E1956; }
.amb-grid-toolbar-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 26px;
    padding: 0 10px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background: #fff;
    color: #475569;
    font-size: 11px;
    cursor: pointer;
    font-family: 'Ubuntu', sans-serif;
    transition: all .15s ease;
}
.amb-grid-toolbar-btn:hover { border-color: #cbd5e1; color: #1e293b; }
.amb-grid-toolbar-btn.active { border-color: #2E1956; background: #f5f3fa; color: #2E1956; }
.amb-grid-toolbar-iconbtn {
    width: 22px;
    height: 22px;
    margin-left: 2px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: #8a86a6;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 120ms, color 120ms, border-color 120ms;
}
.amb-grid-toolbar-iconbtn:hover:not(:disabled) {
    background: #f5f3fa;
    color: #2E1956;
    border-color: #e2e8f0;
}
.amb-grid-toolbar-iconbtn:disabled {
    color: #d4d2e0;
    cursor: not-allowed;
}

/* ── Popover configurar colunas ─────────────────────────────────────── */
.amb-col-config-panel {
    position: fixed;
    width: 320px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    z-index: 9999;
    font-family: 'Ubuntu', sans-serif;
    font-size: 12px;
}
.amb-col-config-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid #f1f5f9;
    font-weight: 600;
    color: #1e293b;
}
.amb-col-config-close {
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 2px;
    display: inline-flex;
    border-radius: 3px;
}
.amb-col-config-close:hover { background: #f1f5f9; color: #475569; }
.amb-col-config-list {
    list-style: none;
    margin: 0;
    padding: 4px 0;
    max-height: 360px;
    overflow-y: auto;
}
.amb-col-config-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    transition: background .15s;
}
.amb-col-config-item:hover { background: #f8fafc; }
.amb-col-config-item.is-off { opacity: 0.55; }
.amb-col-config-item.is-fixed .amb-col-config-label::after {
    content: ' (fixa)';
    color: #94a3b8;
    font-size: 10px;
}
.amb-col-config-vis {
    background: none;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #475569;
}
.amb-col-config-vis:hover:not(:disabled) { border-color: #2E1956; color: #2E1956; }
.amb-col-config-vis:disabled { cursor: not-allowed; opacity: 0.5; }
.amb-col-config-label {
    flex: 1 1;
    color: #1e293b;
    font-size: 12px;
}
.amb-col-config-arrows {
    display: inline-flex;
    gap: 2px;
}
.amb-col-config-arrows button {
    background: none;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #64748b;
}
.amb-col-config-arrows button:hover:not(:disabled) { border-color: #2E1956; color: #2E1956; }
.amb-col-config-arrows button:disabled { cursor: not-allowed; opacity: 0.3; }
.amb-col-config-footer {
    padding: 8px 12px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: flex-end;
}
.amb-col-config-reset {
    background: none;
    border: none;
    color: #2E1956;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    font-family: 'Ubuntu', sans-serif;
    padding: 4px 6px;
    border-radius: 3px;
}
.amb-col-config-reset:hover { background: #f5f3fa; }


/* Databases RevoGrid — mesmo visual SaaS/VMs */
.amb-db-revo {
    width: 100%;
    height: 100%;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.amb-db-revo--empty {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 240px;
}

.amb-db-revo__toolbar {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
    padding-bottom: 8px;
}

/* Toolbar compartilhado com o grid de VMs: controles + strip na mesma linha. */
.amb-grid-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 2px 6px;
    flex-wrap: nowrap;
    flex: 0 0 auto;
    min-width: 0;
    width: 100%;
}

.amb-grid-toolbar__controls {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

.amb-grid-toolbar__strip {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.amb-grid-toolbar-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #475569;
}

.amb-grid-toolbar-label { font-weight: 500; }

.amb-grid-toolbar-select {
    height: 26px;
    padding: 0 8px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background: #fff;
    font-size: 11px;
    color: #1e293b;
    font-family: 'Ubuntu', sans-serif;
    cursor: pointer;
    outline: none;
}

.amb-grid-toolbar-select:focus { border-color: #2E1956; }

.amb-grid-toolbar-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 26px;
    padding: 0 10px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background: #fff;
    color: #475569;
    font-size: 11px;
    cursor: pointer;
    font-family: 'Ubuntu', sans-serif;
    transition: all .15s ease;
}

.amb-grid-toolbar-btn:hover { border-color: #cbd5e1; color: #1e293b; }
.amb-grid-toolbar-btn.active { border-color: #2E1956; background: #f5f3fa; color: #2E1956; }

.amb-grid-toolbar-iconbtn {
    width: 22px;
    height: 22px;
    margin-left: 2px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: #8a86a6;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.amb-grid-toolbar-iconbtn:hover:not(:disabled) {
    background: #f5f3fa;
    color: #2E1956;
    border-color: #e2e8f0;
}

.amb-grid-toolbar-iconbtn:disabled { color: #d4d2e0; cursor: not-allowed; }

/* Popover de configuração de colunas. */
.amb-col-config-panel {
    position: fixed;
    width: 320px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    z-index: 9999;
    font-family: 'Ubuntu', sans-serif;
    font-size: 12px;
}

.amb-col-config-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid #f1f5f9;
    font-weight: 600;
    color: #1e293b;
}

.amb-col-config-close {
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 2px;
    display: inline-flex;
    border-radius: 3px;
}

.amb-col-config-close:hover { background: #f1f5f9; color: #475569; }

.amb-col-config-list {
    list-style: none;
    margin: 0;
    padding: 4px 0;
    max-height: 360px;
    overflow-y: auto;
}

.amb-col-config-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
}

.amb-col-config-item:hover { background: #f8fafc; }
.amb-col-config-item.is-off { opacity: 0.55; }
.amb-col-config-item.is-fixed .amb-col-config-label::after {
    content: ' (fixa)';
    color: #94a3b8;
    font-size: 10px;
}

.amb-col-config-vis,
.amb-col-config-arrows button {
    background: none;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #475569;
}

.amb-col-config-vis { width: 24px; height: 24px; }
.amb-col-config-vis:hover:not(:disabled) { border-color: #2E1956; color: #2E1956; }
.amb-col-config-vis:disabled { cursor: not-allowed; opacity: 0.5; }
.amb-col-config-label { flex: 1 1; color: #1e293b; font-size: 12px; }
.amb-col-config-arrows { display: inline-flex; gap: 2px; }
.amb-col-config-arrows button { width: 22px; height: 22px; }
.amb-col-config-arrows button:hover:not(:disabled) { border-color: #2E1956; color: #2E1956; }
.amb-col-config-arrows button:disabled { cursor: not-allowed; opacity: 0.3; }
.amb-col-config-footer { padding: 8px 12px; border-top: 1px solid #f1f5f9; display: flex; justify-content: flex-end; }
.amb-col-config-reset { background: none; border: none; color: #2E1956; font-size: 11px; font-weight: 600; cursor: pointer; font-family: 'Ubuntu', sans-serif; padding: 4px 6px; border-radius: 3px; }
.amb-col-config-reset:hover { background: #f5f3fa; }

.amb-db-revo revo-grid {
    flex: 1 1;
    min-height: 0;
    width: 100%;
    height: 100%;
    font-family: "Ubuntu", sans-serif;
}

.amb-db-revo revo-grid[theme=compact] {
    --revo-grid-row-header-height: 32px;
}

.amb-db-revo revo-grid .rgRow {
    border-bottom: 1px solid #F1F3F8;
}

.amb-db-revo revo-grid .rgRow:hover {
    background-color: #FAFBFD;
}

.amb-db-revo revo-grid .header-rgRow,
.amb-db-revo revo-grid .rgHeaderCell {
    background-color: #fff !important;
    border-bottom: solid 1px #E2E6F3 !important;
    min-height: 28px;
}

.amb-db-revo revo-grid .rgHeaderCell {
    font-family: "Ubuntu", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1px;
    color: #6B6F7D;
    text-transform: none;
    border: none !important;
    box-shadow: none !important;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.amb-db-revo revo-grid .rgHeaderCell::before,
.amb-db-revo revo-grid .rgHeaderCell::after,
.amb-db-revo revo-grid .rgHeaderCell .resizable-r {
    border: none !important;
    background: transparent !important;
}

.amb-db-revo revo-grid revogr-header,
.amb-db-revo revo-grid revogr-header .rgHeaderCell,
.amb-db-revo revo-grid revogr-viewport-scroll.colPinEnd revogr-header,
.amb-db-revo revo-grid revogr-viewport-scroll.colPinEnd revogr-header .rgHeaderCell {
    box-shadow: none !important;
    border-left: none !important;
    border-right: none !important;
}

.amb-db-revo revo-grid .rgHeaderCell:hover {
    color: #2E1956;
    background-color: #FAFBFD !important;
}

.amb-db-revo revo-grid .rgHeaderCell.sort-asc,
.amb-db-revo revo-grid .rgHeaderCell.sort-desc {
    color: #2E1956;
}

.amb-db-revo revo-grid .rgHeaderCell .sort-icon,
.amb-db-revo revo-grid .rgHeaderCell.sort-asc::after,
.amb-db-revo revo-grid .rgHeaderCell.sort-desc::after {
    color: #471FCC;
    font-size: 0.65rem;
}

.amb-db-revo revo-grid .rgCell {
    font-family: "Ubuntu", sans-serif;
    font-size: 0.75rem;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    padding: 6px 8px;
    border-right: none !important;
    display: flex;
    align-items: center;
}

.amb-db-revo revo-grid .revo-cell--center {
    text-align: center;
    justify-content: center;
}

.amb-db-cell-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    font-size: 0.75rem;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.amb-db-name {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
}

.amb-db-name__chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 0;
    background: transparent;
    color: #6B6F7D;
    cursor: pointer;
    border-radius: 4px;
    flex-shrink: 0;
    padding: 0;
}

.amb-db-name__chevron:hover {
    background: #F0F3FF;
    color: #2E1956;
}

.amb-db-name__chevron-spacer,
.amb-db-name__child-pad {
    flex-shrink: 0;
}

.amb-db-name__chevron-spacer { width: 18px; }
.amb-db-name__child-pad { width: 28px; }

.amb-db-name__label {
    font-weight: 600;
    font-size: 0.75rem;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.amb-db-name__child .amb-db-name__label { font-weight: 500; }

.amb-db-name__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #EEF0F8;
    color: #5A6F8F;
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
}

.amb-db-engine {
    font-size: 0.75rem;
    font-weight: 600;
    color: #556ee6;
}

.amb-db-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    border: 1px solid transparent;
}

.amb-db-status-chip--on {
    color: #2B9A74;
    background: rgba(52, 195, 143, 0.12);
    border-color: rgba(52, 195, 143, 0.2);
}

.amb-db-status-chip--off {
    color: #D64545;
    background: rgba(244, 106, 106, 0.1);
    border-color: rgba(244, 106, 106, 0.22);
}

.amb-db-status-chip--unknown {
    color: #5A6F8F;
    background: #EEF0F5;
    border-color: #E2E6F3;
}

.amb-db-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    width: 100%;
}

revo-grid .rgRow.amb-db-row--on {
    box-shadow: inset 3px 0 0 0 #34C38F;
    background: #F6FCF9;
}
revo-grid .rgRow.amb-db-row--off {
    box-shadow: inset 3px 0 0 0 #F46A6A;
    background: #FFF8F8;
}
revo-grid .rgRow.amb-db-row--unknown {
    box-shadow: inset 3px 0 0 0 #D0D3DE;
    background: #FCFCFD;
}
revo-grid .rgRow.amb-db-row--child {
    background: #FBFBFD;
}
revo-grid .rgRow.amb-db-row--on:hover { background-color: #ECF8F2 !important; }
revo-grid .rgRow.amb-db-row--off:hover { background-color: #FFF2F2 !important; }

/* Linha por validade do compromisso (borda esquerda SaaS) */
.amb-sav-revo revo-grid .rgRow.amb-sav-row--ok {
    box-shadow: inset 3px 0 0 #34C38F;
}
.amb-sav-revo revo-grid .rgRow.amb-sav-row--warn {
    box-shadow: inset 3px 0 0 #F1B44C;
}
.amb-sav-revo revo-grid .rgRow.amb-sav-row--expired {
    box-shadow: inset 3px 0 0 #dc291e;
}
.amb-sav-revo revo-grid .rgRow.amb-sav-row--unknown {
    box-shadow: inset 3px 0 0 #C5CAD8;
}

.amb-sav-use {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    min-width: 0;
}

.amb-sav-use__bar {
    flex: 1 1 auto;
    height: 6px;
    min-width: 36px;
    max-width: 72px;
    border-radius: 999px;
    background: #EEF1F8;
    overflow: hidden;
}

.amb-sav-use__bar > i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: #8B90A3;
}

.amb-sav-use--high .amb-sav-use__bar > i { background: #34C38F; }
.amb-sav-use--mid .amb-sav-use__bar > i { background: #F1B44C; }
.amb-sav-use--low .amb-sav-use__bar > i { background: #dc291e; }

.amb-sav-use__label {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 600;
    color: #2E1956;
    min-width: 34px;
    text-align: right;
}

.amb-sav-expiry {
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.amb-sav-expiry--ok { color: #34C38F; }
.amb-sav-expiry--warn { color: #D19A2A; }
.amb-sav-expiry--expired { color: #dc291e; }
.amb-sav-expiry--unknown { color: #8B90A3; }

/* Linha por status da atividade (borda esquerda SaaS) */
.amb-act-revo revo-grid .rgRow.amb-act-row--success {
    box-shadow: inset 3px 0 0 #34C38F;
}
.amb-act-revo revo-grid .rgRow.amb-act-row--processing {
    box-shadow: inset 3px 0 0 #F1B44C;
}
.amb-act-revo revo-grid .rgRow.amb-act-row--failed {
    box-shadow: inset 3px 0 0 #dc291e;
}
.amb-act-revo revo-grid .rgRow.amb-act-row--unknown {
    box-shadow: inset 3px 0 0 #C5CAD8;
}

.amb-act-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    max-width: 100%;
}

.amb-act-status__ico {
    display: inline-flex;
    flex: 0 0 auto;
    line-height: 0;
}

.amb-act-status--success { color: #34C38F; }
.amb-act-status--processing { color: #D19A2A; }
.amb-act-status--failed { color: #dc291e; }
.amb-act-status--unknown { color: #8B90A3; }

.amb-act-cloud {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.amb-act-cloud__label {
    font-size: 12px;
    font-weight: 500;
    color: #2E1956;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.amb-act-datetime {
    font-size: 12px;
    font-weight: 500;
    color: #2E1956;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Novo chamado operacional — drawer lateral (hosting VMs) */
.vot-overlay {
    position: fixed;
    inset: 0;
    z-index: 12100;
    background: rgba(30, 27, 46, 0.42);
    display: flex;
    justify-content: flex-end;
    animation: vot-fade-in 0.16s ease;
}

@keyframes vot-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.vot-panel {
    width: min(560px, 100vw);
    height: 100%;
    background: #fff;
    box-shadow: -8px 0 32px rgba(46, 25, 86, 0.16);
    display: flex;
    flex-direction: column;
    animation: vot-slide-in 0.2s ease;
    font-family: "Ubuntu", sans-serif;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

@keyframes vot-slide-in {
    from { transform: translateX(24px); opacity: 0.85; }
    to { transform: translateX(0); opacity: 1; }
}

.vot-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid #ECEFF6;
    flex-shrink: 0;
}

.vot-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.vot-head-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(91, 43, 225, 0.12), rgba(85, 110, 230, 0.1));
    border: 1px solid rgba(91, 43, 225, 0.18);
    color: #5B2BE1;
    flex-shrink: 0;
}

.vot-head-text {
    min-width: 0;
}

.vot-kicker {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
}

.vot-title {
    margin: 2px 0 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.vot-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #6B6F7D;
    cursor: pointer;
    flex-shrink: 0;
}

.vot-close:hover:not(:disabled) {
    background: #F5F6FA;
    color: #2E1956;
}

.vot-close:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.vot-panel__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 16px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.vot-context {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 8px;
    gap: 8px;
}

.vot-context__item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #ECEFF6;
    background: #FAFBFD;
}

.vot-context__label {
    font-size: 11px;
    font-weight: 500;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
}

.vot-context__value {
    font-size: 13px;
    font-weight: 700;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    word-break: break-word;
    line-height: 1.3;
}

.vot-context__value--inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vot-context__hint {
    font-size: 11px;
    font-weight: 500;
    color: #6B6F7D;
    text-transform: capitalize;
}

.vot-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 12px 12px;
    gap: 12px 12px;
}

.vot-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.vot-field--full {
    grid-column: 1 / -1;
}

.vot-field__label {
    font-size: 12px;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.vot-field__label em {
    color: #E14B4B;
    font-style: normal;
    margin-left: 2px;
}

.vot-field__label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.vot-input {
    width: 100%;
    box-sizing: border-box;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #E2E6F3;
    border-radius: 10px;
    background: #fff;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vot-input:focus {
    border-color: #5B2BE1;
    box-shadow: 0 0 0 3px rgba(91, 43, 225, 0.12);
}

.vot-input:disabled {
    background: #F5F6FA;
    color: #8B90A3;
}

.vot-select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #8B90A3 50%),
        linear-gradient(135deg, #8B90A3 50%, transparent 50%);
    background-position:
        calc(100% - 16px) calc(50% - 3px),
        calc(100% - 11px) calc(50% - 3px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 28px;
}

.vot-textarea {
    height: auto;
    min-height: 140px;
    padding: 10px 12px;
    resize: vertical;
    line-height: 1.45;
}

.vot-counter {
    align-self: flex-end;
    font-size: 11px;
    font-weight: 500;
    color: #8B90A3;
}

.vot-ai-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(91, 43, 225, 0.22);
    background: linear-gradient(135deg, rgba(91, 43, 225, 0.08), rgba(85, 110, 230, 0.08));
    color: #5B2BE1;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.vot-ai-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, rgba(91, 43, 225, 0.14), rgba(85, 110, 230, 0.14));
}

.vot-ai-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.vot-dropzone {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1.5px dashed #D5DAEA;
    border-radius: 12px;
    background: #FAFBFD;
    color: #6B6F7D;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.vot-dropzone:hover,
.vot-dropzone.is-drag {
    border-color: #5B2BE1;
    background: rgba(91, 43, 225, 0.04);
    color: #5B2BE1;
}

.vot-dropzone strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.vot-dropzone span {
    display: block;
    font-size: 11px;
    font-weight: 500;
    margin-top: 2px;
}

.vot-files {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.vot-files li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid #ECEFF6;
    background: #fff;
    font-size: 12px;
}

.vot-files__name {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vot-files__size {
    color: #8B90A3;
    font-weight: 500;
    flex-shrink: 0;
}

.vot-files__remove {
    display: inline-flex;
    border: 0;
    background: transparent;
    color: #D64545;
    cursor: pointer;
    padding: 2px;
    border-radius: 6px;
}

.vot-files__remove:hover:not(:disabled) {
    background: rgba(244, 106, 106, 0.12);
}

.vot-side-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
    gap: 10px;
}

.vot-card {
    border: 1px solid #ECEFF6;
    border-radius: 14px;
    padding: 12px 14px 14px;
    background: #FAFBFD;
    min-width: 0;
}

.vot-card__title {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.vot-card__list {
    margin: 0;
    padding-left: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 11px;
    font-weight: 500;
    color: #5A6F8F;
    line-height: 1.4;
}

.vot-card__list--ordered {
    padding-left: 18px;
}

.vot-card__muted {
    list-style: none;
    margin-left: -16px;
    color: #8B90A3;
}

.vot-panel__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 20px 16px;
    border-top: 1px solid #ECEFF6;
    flex-shrink: 0;
    background: #fff;
}

.vot-footer__spacer {
    flex: 1 1 auto;
    min-width: 0;
}

/* Botões do drawer de chamado = padrão global lc-button */
.vot-panel__footer button.lc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 135px;
    height: 40px;
    padding: 0.3rem 1.2rem;
    border: 0;
    border-radius: 4px;
    font-family: "Ubuntu", sans-serif;
    font-size: 13px;
    font-weight: 600;
}

/* Compat residual se restar vot-btn em algum lugar */
.vot-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 135px;
    height: 40px;
    padding: 0.3rem 1.2rem;
    border: 0;
    border-radius: 4px;
    font-family: "Ubuntu", sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    background-color: #F5F6FA !important;
    background-color: var(--background-light, #F5F6FA) !important;
    color: #2E1956 !important;
    color: var(--text-default, #2E1956) !important;
}

.vot-btn:disabled {
    background-color: #ebebeb !important;
    color: #8B90A3 !important;
    color: var(--text-light, #8B90A3) !important;
    cursor: not-allowed;
}

.vot-btn--primary {
    background-color: #9FA3FF !important;
    background-color: var(--button-primary-default, #9FA3FF) !important;
    color: #2E1956 !important;
    color: var(--text-default, #2E1956) !important;
}

.vot-btn--primary:hover:not(:disabled) {
    background-color: #C3C6FD !important;
}

.vot-btn--secondary,
.vot-btn--ghost {
    background-color: #F5F6FA !important;
    background-color: var(--background-light, #F5F6FA) !important;
    color: #2E1956 !important;
    color: var(--text-default, #2E1956) !important;
}

.vot-btn--secondary:hover:not(:disabled),
.vot-btn--ghost:hover:not(:disabled) {
    background-color: #ECEEF6 !important;
}

@media (max-width: 560px) {
    .vot-context,
    .vot-form-grid,
    .vot-side-cards {
        grid-template-columns: 1fr;
    }

    .vot-panel__footer {
        flex-direction: column-reverse;
        align-items: stretch;
        justify-content: stretch;
    }

    .vot-footer__spacer {
        display: none;
    }

    .vot-panel__footer .lc-button,
    .vot-btn {
        width: 100%;
        min-width: 0;
    }
}

/* Resumo de VMs — faixa KPI compacta (mesma linha da toolbar) */
.vm-summary-strip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    max-width: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.vm-summary-strip__divider {
    width: 1px;
    align-self: stretch;
    min-height: 22px;
    background: #E2E6F3;
    background: var(--line-default, #E2E6F3);
    margin: 0 4px;
    flex-shrink: 0;
}

.vm-summary-strip__kpis {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    min-width: 0;
}

.vm-summary-strip__kpi {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 3px;
    min-width: 0;
    min-height: 20px;
    padding: 2px 6px;
    flex: 0 0 auto;
    white-space: nowrap;
    line-height: 1.1;
    border: 1px solid #E8ECF6;
    border-radius: 999px;
    background: #FAFBFD;
    box-sizing: border-box;
}

.vm-summary-strip__kpi-label {
    font-size: 9px;
    font-weight: 600;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    white-space: nowrap;
}

.vm-summary-strip__kpi-value {
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.vm-summary-strip__kpi-value--green { color: #34C38F; }
.vm-summary-strip__kpi-value--orange { color: #F1B44C; }
.vm-summary-strip__kpi-value--blue { color: #556ee6; }

.vm-summary-strip__kpi-hint {
    font-size: 9px;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    white-space: nowrap;
}

.vm-summary-strip__clouds-row {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: nowrap;
    min-width: 0;
}

.vm-summary-strip__cloud {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-width: 0;
    min-height: 20px;
    padding: 2px 6px;
    white-space: nowrap;
    box-sizing: border-box;
    border: 1px solid #E8ECF6;
    border-radius: 999px;
    background: #FAFBFD;
}

.vm-summary-strip__cloud-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.vm-summary-strip__cloud-icon svg {
    width: 14px !important;
    height: 14px !important;
}

.vm-summary-strip__cloud-count {
    font-size: 11px;
    font-weight: 700;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    line-height: 1;
}

.vm-summary-strip__cloud-pct {
    font-size: 9px;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    line-height: 1;
}

/* Interativo */
.vm-summary-strip--interactive .vm-summary-strip__kpi,
.vm-summary-strip--interactive .vm-summary-strip__cloud {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    color: inherit;
    text-align: left;
    margin: 0;
    cursor: pointer;
    transition: background-color 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

.vm-summary-strip__kpi.is-clickable:hover:not(:disabled),
.vm-summary-strip__cloud.is-clickable:hover:not(:disabled) {
    background: #FAFBFD;
    border-color: #E8ECF6;
    box-shadow: 0 1px 3px rgba(46, 25, 86, 0.08);
}

.vm-summary-strip__kpi.is-clickable:focus-visible,
.vm-summary-strip__cloud.is-clickable:focus-visible {
    outline: 2px solid rgba(71, 31, 204, 0.35);
    outline-offset: 1px;
}

.vm-summary-strip__kpi.is-active,
.vm-summary-strip__cloud.is-active {
    background: rgba(91, 43, 225, 0.10);
    border-color: rgba(91, 43, 225, 0.32);
    box-shadow: inset 0 0 0 1px rgba(91, 43, 225, 0.08);
}

.vm-summary-strip__kpi.is-active .vm-summary-strip__kpi-label {
    color: #471FCC;
}

.vm-summary-strip__cloud.is-active .vm-summary-strip__cloud-count {
    color: #471FCC;
}

.vm-summary-strip__kpi:disabled,
.vm-summary-strip__cloud:disabled {
    cursor: default;
    opacity: 1;
}

.vm-summary-strip__kpi.is-clickable:disabled,
.vm-summary-strip__cloud.is-clickable:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Extensões do strip de Savings/Reservas (base = DbSummaryStrip.css) */
.sav-summary-strip__total {
    min-width: 42px;
}

.sav-summary-strip__util {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 4px;
    flex: 0 0 auto;
}

.sav-summary-strip__ring {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
}

.sav-summary-strip__ring-inner {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    font-weight: 700;
    color: #2E1956;
    line-height: 1;
}

.sav-summary-strip__util-meta {
    display: inline-flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.act-summary-strip__period {
    display: inline-flex;
    flex-direction: column;
    gap: 1px;
    padding: 0 6px 0 0;
    margin-right: 2px;
    border-right: 1px solid #E2E6F3;
    border-right: 1px solid var(--line-default, #E2E6F3);
    flex: 0 0 auto;
    min-width: 0;
}

.act-summary-strip__period-label {
    font-size: 9px;
    font-weight: 600;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    white-space: nowrap;
}

.act-summary-strip__period-value {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    white-space: nowrap;
}

.act-summary-strip__period-info {
    color: #8B90A3;
    flex-shrink: 0;
}

.act-summary-strip__total {
    min-width: 48px;
}

.act-summary-strip__status-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.act-summary-strip__status-ico--success { color: #34C38F; }
.act-summary-strip__status-ico--processing { color: #F1B44C; }
.act-summary-strip__status-ico--failed { color: #dc291e; }

.act-summary-strip__dist-label {
    font-size: 9px;
    font-weight: 600;
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    white-space: nowrap;
    padding: 0 2px;
    align-self: center;
}

.act-cloud-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #C5CAD8;
    display: inline-block;
}

