.finops-help-modal {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 4px 0;
    font-size: 14px;
    color: #333;
    color: var(--text-default, #333);
}

.finops-help-description {
    background: #E2E6F3;
    background: var(--bg-light-1, #E2E6F3);
    border-radius: 6px;
    padding: 12px 16px;
    font-style: italic;
    color: #444;
    color: var(--text-default, #444);
    line-height: 1.6;
}

.finops-help-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 16px;
    gap: 16px;
}

@media (max-width: 600px) {
    .finops-help-columns {
        grid-template-columns: 1fr;
    }
}

.finops-help-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.finops-help-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #E2E6F3;
    border-bottom: 1px solid var(--bg-light-1, #E2E6F3);
    padding-bottom: 6px;
    margin-bottom: 4px;
}

.finops-help-section-header h4 {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #173192;
    color: var(--primary, #173192);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.finops-help-icon {
    font-size: 15px;
    color: #173192;
    color: var(--primary, #173192);
}

.finops-help-icon-tip {
    color: #F29100;
    color: var(--emphasis, #F29100);
}

.finops-help-list {
    margin: 0;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.finops-help-list li {
    line-height: 1.5;
    color: #444;
    color: var(--text-default, #444);
    font-size: 13px;
}

.finops-help-list-ordered {
    padding-left: 20px;
}

.finops-help-tips {
    background: #FFF8F0;
    border: 1px solid #F29100;
    border: 1px solid var(--emphasis, #F29100);
    border-radius: 6px;
    padding: 12px 16px;
}

.finops-help-tips .finops-help-section-header {
    border-bottom-color: #F2C980;
}

.finops-help-tips .finops-help-section-header h4 {
    color: #F29100;
    color: var(--emphasis, #F29100);
}

/* Adicionar ao CSS existente */
.allocation-rule-container {
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.section-title {
    font-family: "Ubuntu", sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #2c3e50;
    margin: 15px 0 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #e0e0e0;
}

.rule-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding: 10px;
    background-color: #f0f2f5;
    border-radius: 6px;
}

.rule-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #5a6a7d;
}

.validation-errors {
    margin-top: 15px;
    padding: 12px;
    background-color: #fff8f8;
    border: 1px solid #ffebee;
    border-radius: 6px;
    color: #d32f2f;
    font-size: 14px;
}

.rule-input {
    width: 100%;
    margin-bottom: 15px;
}

.rule-input .MuiOutlinedInput-root {
    height: 40px;
    border-radius: 6px;
}

.rule-input .MuiOutlinedInput-input {
    padding: 10px 14px;
    font-size: 14px;
}

.percent-input {
    width: 100px;
}

.percent-input .MuiOutlinedInput-root {
    height: 40px;
}

.condition-row {
    margin-bottom: 15px;
    padding: 12px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.cost-center-row {
    margin-bottom: 15px;
    padding: 12px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    gap: 10px;
}

.action-buttons {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.icon-button {
    color: #5a6a7d;
    transition: all 0.2s ease;
    padding: 6px;
    border-radius: 4px;
}

.icon-button:hover {
    background-color: #e0e0e0;
    color: #2c3e50;
}

.icon-button.disabled {
    color: #b0b0b0;
    cursor: not-allowed;
}

.redistribute-button {
    padding: 6px 12px;
    background-color: #e3f2fd;
    color: #1976d2;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.redistribute-button:hover {
    background-color: #bbdefb;
}

.allocation-rule-redividir-button {
    padding: 4px 8px !important;
    font-size: 12px;
    height: 28px;
    min-width: auto !important;
}

.modal-content {
    max-height: 70vh;
    overflow-y: auto;
    padding-right: 8px;
}

.modal-content::-webkit-scrollbar {
    width: 6px;
}

.modal-content::-webkit-scrollbar-track {
    background: #f1f1f1;
}

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

.modal-content::-webkit-scrollbar-thumb:hover {
    background: #a1a1a1;
}
.collectorsChart {
    max-height: 280px;
}

 


@media screen and (min-width: 1400px) {
        .collectorsChart {
        min-height: 450px;
    }
 
    
 
}

@media screen and (min-width: 1700px) {
        .collectorsChart {
        min-height: 540px;
    } 
 
}
@media screen and (max-height: 800px) {
    .collectorsChart {
        min-height: 280px;
    } 
 
}


.legend-title-home {
    position: absolute;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%);

    color: var(--text-light);
    text-align: center;
    font-family: "Ubuntu", sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 16px */
    letter-spacing: -0.4px;
}

.EdrHome{
    min-height: 40% !important;
    width: 100%;
}
.XDRHomeWithLW {
    min-height: 30% !important;
    margin-bottom: 3px;
    width: 100%;
}
.divWorkStations {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 10px 0px;
    height:100%;
    gap:6px
}

.workstations {
    background-color: #f1f5fb;
    border-radius: 4px;
    display: flex;
    font-size: 1rem;
    padding:  10px;
    justify-content: space-between;
}

.workstations.colored {
    background: #2E195626;
    color: #fff;
}

.iconvaluecontent.workstations.colored > .truncate-container > .truncate-text.description {
    font-size: .8rem;
    margin-top:2px;
    color: #fff !important;
}

.iconvaluecontent.workstations.colored > .truncate-container > .truncate-text.data > div{
    font-size:1.2rem !important;
    color: #fff !important;

}
.legendWorkStations {
    font-size: .7rem;
    display: flex;
    align-items: center;
    padding: 5px 0px; 
    color: var(--text-light);
}
.legendWorkStations.colored {
    color: #fff;
}

.mostTargetsTable > .body > .lc-accordion > .header  > .title {
    font-size: 1rem;
}
.titulos {
  font-family: "Ubuntu", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 16px;
  line-height: 160%;
  color: var(--text-default);
  flex: none;
  order: 0;
  flex-grow: 0;
  height: 26px;
  position: static;
  left: 0px;
  top: 0px;
  margin: 10px 0px;
}
.alert-condition-row,
.alert-period-row,
.alert-resource-item,
.alert-action-buttons,
.alert-condition-input-group {
  display: flex;
  align-items: center;
}

.alert-input-field .MuiOutlinedInput-root,
.alert-input-field .MuiOutlinedInput-input,
.alert-resource-item,
.alert-validation-errors,
.alert-icon-button,
.alert-resource-item .MuiOutlinedInput-root,
.css-13cymwt-control,
.css-t3ipsp-control {
  border-radius: 4px;
}

.titulos,
.rdButton,
.MuiFormControlLabel-label {
  font-family: "Ubuntu", sans-serif;
  font-style: normal;
}

.alert-condition-input-small,
.alert-period-input {
  width: 100px;
}

.alert-condition-input-medium,
.alert-period-dropdown {
  width: 150px;
}

.titulos {
  font-weight: 600;
  font-size: 15px;
  line-height: 140%;
  color: var(--text-default);
  margin: 16px 0 12px 0;
  padding-bottom: 0;
  display: block;
}

.titulos:first-of-type {
  margin-top: 0;
}

.alert-field-container {
  margin-bottom: 12px;
}

.alert-scope-options+.alert-field-container,
.alert-scope-options+.alert-resources-section,
.alert-frequency-options+.alert-field-container {
  margin-top: 16px;
}

.alert-input-field {
  width: 100%;
  margin-bottom: 8px;
}

.alert-input-field .MuiOutlinedInput-root {
  height: 36px;
}

.alert-input-field .MuiOutlinedInput-input {
  padding: 8px 12px;
  font-size: 14px;
}

.rdButton {
  font-weight: 600;
  font-size: 13px;
}

.MuiFormControlLabel-label {
  font-weight: 400;
  font-size: 13px !important;
}

.MuiRadio-colorPrimary.Mui-checked {
  color: var(--color-secondary-lime) !important;
}

.alert-scope-options,
.alert-frequency-options {
  margin-left: 1rem;
  margin-top: 6px;
}

.alert-condition-row {
  margin-bottom: 10px;
  padding: 8px 0;
  gap: 12px;
}

.alert-period-row {
  gap: 12px;
  margin-top: 6px;
}

.alert-resource-item {
  gap: 8px;
  margin-bottom: 8px;
  padding: 6px;
  background-color: #f8f9fa;
}

.alert-checkbox-section {
  margin-bottom: 10px;
  margin-top: 16px;
}

.alert-checkbox-section:first-of-type {
  margin-top: 20px;
}

.inputTextField>.MuiInputBase-root.MuiOutlinedInput-root,
.condValue>.MuiInputBase-root.MuiOutlinedInput-root,
.alert-input-field .MuiOutlinedInput-root,
.alert-resource-item .MuiOutlinedInput-root {
  height: 36px !important;
}

.inputTextField>.MuiInputBase-root.MuiOutlinedInput-root,
.condValue>.MuiInputBase-root.MuiOutlinedInput-root {
  margin-top: 3px;
}

.alert-validation-errors {
  margin-top: 10px;
  padding: 8px;
  background-color: #fff8f8;
  border: 1px solid #ffebee;
  color: #d32f2f;
  font-size: 13px;
}

.alert-modal-content {
  max-height: none;
  overflow: visible;
  padding: 0;
}

.alert-action-buttons {
  gap: 8px;
  margin-top: 8px;
}

.alert-icon-button {
  color: #5a6a7d;
  transition: all 0.2s ease;
  padding: 4px;
}

.alert-icon-button:hover {
  background-color: #e0e0e0;
  color: #2c3e50;
}

.alert-icon-button.disabled {
  color: #b0b0b0;
  cursor: not-allowed;
}

.alert-scope-options .MuiFormGroup-root,
.alert-frequency-options .MuiFormGroup-root {
  gap: 15px;
}

.alert-condition-row>div {
  display: flex;
  align-items: center;
}

.css-13cymwt-control,
.css-t3ipsp-control {
  min-height: 36px !important;
}

.alert-input-field .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {
  border-color: var(--color-primary-blue) !important;
  border-width: 2px !important;
}

.alert-input-field .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline {
  border-color: var(--status-red) !important;
}

.alert-action-buttons .lc-icon-link+.lc-icon-link {
  margin-left: 6px;
}

.alert-disabled-cc-list {
  margin: 15px;
}

.alert-filter-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 100%;
  padding-left: 10px;
}

.alert-resource-content {
  flex: 1 1;
}

.alert-condition-dropdown {
  width: 200px;
}

.alert-condition-input-group {
  gap: 10px;
  width: 300px;
}

.alert-warning-text {
  align-items: baseline;
}

.alert-input-relative {
  position: relative;
}

@media (max-width: 768px) {

  .alert-condition-row,
  .alert-period-row {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .alert-resource-item {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  .alert-action-buttons {
    justify-content: center;
    margin-top: 8px;
  }

  .alert-condition-dropdown,
  .alert-condition-input-group,
  .alert-condition-input-small,
  .alert-condition-input-medium,
  .alert-period-dropdown,
  .alert-period-input {
    width: 100%;
  }
}
/* ═══════════ Billing Review GTM ═══════════ */

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

.kpi-value {
    font-size: 1.6rem;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
}

.kpi-label {
    font-size: 0.8rem;
    color: #666;
    margin-top: 6px;
}

/* ── Status cell ── */
.status-cell {
    display: flex;
    align-items: center;
}

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

/* ── Detail modal ── */
.detail-modal {
    padding: 16px;
    max-height: 70vh;
    overflow-y: auto;
}

.detail-modal h4 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.detail-modal p {
    margin: 6px 0;
    font-size: 13px;
}

/* ── Diagnosis boxes ── */
.diagnosis-box {
    margin-top: 20px;
    padding: 12px;
    border-radius: 8px;
}

.diagnosis-box h4 {
    margin-bottom: 8px !important;
}

.diagnosis-box ul {
    margin: 0;
    padding-left: 20px;
}

.diagnosis-box li {
    margin-bottom: 4px;
    font-size: 13px;
}

.diagnosis-box p {
    margin: 0;
    font-size: 13px;
}

.diagnosis-warning {
    background-color: #fff7e6;
    border: 1px solid #ffd591;
}

.diagnosis-warning h4 {
    color: #d46b08;
}

.diagnosis-error {
    background-color: #fff1f0;
    border: 1px solid #ffa39e;
}

.diagnosis-error h4 {
    color: #cf1322;
}

.diagnosis-info {
    background-color: #e6f7ff;
    border: 1px solid #91d5ff;
}

.diagnosis-info h4 {
    color: #0050b3;
}

.diagnosis-success {
    background-color: #f6ffed;
    border: 1px solid #b7eb8f;
}

.diagnosis-success h4 {
    color: #389e0d;
}

/* ── Buttons ── */
.btn-primary {
    padding: 8px 16px;
    background-color: #1890ff;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    transition: opacity 0.2s;
}

.btn-primary:hover {
    opacity: 0.9;
}

.btn-primary:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.btn-default {
    padding: 8px 16px;
    background-color: #fff;
    color: #595959;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    transition: border-color 0.2s;
}

.btn-default:hover {
    border-color: #1890ff;
    color: #1890ff;
}

.btn-default:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.btn-action {
    padding: 8px 16px;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    transition: opacity 0.2s;
}

.btn-action:hover {
    opacity: 0.9;
}

.btn-action:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.btn-reprocess {
    background-color: #fa541c;
}

/* ── Form fields ── */
.field-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    font-size: 13px;
    color: #333;
}

.field-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    font-size: 14px;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.field-input:focus {
    outline: none;
    border-color: #1890ff;
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

.field-select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    font-size: 14px;
    background-color: #fff;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.field-select:focus {
    outline: none;
    border-color: #1890ff;
}

/* ── File drop zone ── */
.file-drop-zone {
    border: 2px dashed #d9d9d9;
    border-radius: 8px;
    transition: border-color 0.2s;
}

.file-drop-zone:hover {
    border-color: #1890ff;
}

.file-drop-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px;
    cursor: pointer;
    color: #8c8c8c;
    font-size: 13px;
}

/* ── History table ── */
.history-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.history-table th {
    text-align: left;
    padding: 10px 12px;
    background-color: #fafafa;
    border-bottom: 2px solid #e8e8e8;
    font-weight: 600;
    color: #333;
}

.history-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #f0f0f0;
    color: #595959;
}

.history-table tr:hover td {
    background-color: #f5f5f5;
}

/* ── Detail rate comparison table ── */
.detail-rate-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 8px;
}

.detail-rate-table th {
    text-align: left;
    padding: 8px 10px;
    background-color: #fafafa;
    border-bottom: 2px solid #e8e8e8;
    font-weight: 600;
    color: #333;
    font-size: 12px;
}

.detail-rate-table td {
    padding: 6px 10px;
    border-bottom: 1px solid #f0f0f0;
    color: #595959;
}

/* ── Issue badge ── */
.issue-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

.issue-badge-error {
    background-color: #fff1f0;
    color: #cf1322;
    border: 1px solid #ffa39e;
}

.issue-badge-warning {
    background-color: #fffbe6;
    color: #ad8b00;
    border: 1px solid #ffe58f;
}

/* ── Spinner ── */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.spin-animation {
    animation: spin 1s linear infinite;
}

/* RecommendationDetailsModal (SideModal variant) */
.recdetail-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.recdetail-title-content {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1 1;
}

.recdetail-provider-badge {
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.3px;
    flex-shrink: 0;
}

.recdetail-provider-fallback {
    font-size: 11px;
    font-weight: 600;
    color: #fff;
}

.recdetail-title-text {
    font-size: 15px;
    font-weight: 600;
    color: #2D3748;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.recdetail-title-resource {
    font-size: 11px;
    font-weight: 400;
    color: #718096;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Courier New', monospace;
}

.recdetail-nav-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.recdetail-nav-count {
    font-size: 11px;
    color: #718096;
    margin-right: 4px;
}

.recdetail-nav-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    color: #2D3748;
    font-size: 14px;
    line-height: 1;
}

.recdetail-nav-btn:hover:not(:disabled) {
    background: #EDF2F7;
}

.recdetail-nav-btn:disabled {
    cursor: not-allowed;
    opacity: 0.3;
}

.recdetail-content {
    padding: 16px;
    background: #f8f9fa;
    outline: none;
}

/* Em focus/expandido: conteudo em 2 colunas, IA fixa na direita */
.recdetail-content.recdetail-content--expanded {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    grid-gap: 8px;
    gap: 8px;
    height: calc(100vh - 172px);
    overflow: hidden;
}

.recdetail-content.recdetail-content--expanded .recdetail-grid {
    margin: 0;
    overflow: auto;
    align-content: start;
    padding-right: 4px;
}

.recdetail-content.recdetail-content--expanded .recdetail-ai-panel {
    margin: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.recdetail-content.recdetail-content--expanded .recdetail-ai-body {
    flex: 1 1;
    min-height: 0;
    max-height: none;
}

/* Grid de secoes */
.recdetail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    grid-gap: 8px;
    gap: 8px;
    margin-bottom: 16px;
}

.recdetail-section {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 12px 16px;
    min-width: 0;
}

.recdetail-section--wide {
    grid-column: 1 / -1;
}

.recdetail-section-title {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    color: var(--text-primary, #333);
    margin: 0 0 8px 0;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
    border-bottom: 1px solid var(--border-color, #eee);
}

.recdetail-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    padding: 3px 0;
    font-size: 12px;
    min-width: 0;
}

.recdetail-row--full {
    flex-direction: column;
    align-items: stretch;
}

.recdetail-label {
    color: #718096;
    flex-shrink: 0;
    font-weight: 500;
}

.recdetail-value {
    color: #2D3748;
    text-align: right;
    word-break: break-word;
    min-width: 0;
}

.recdetail-row--full .recdetail-value {
    text-align: left;
    margin-top: 2px;
}

.recdetail-value--mono {
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 11px;
    color: #4A5568;
}

.recdetail-text {
    font-size: 12px;
    color: #2D3748;
    line-height: 1.55;
    white-space: pre-wrap;
}

/* Painel IA */
.recdetail-ai-panel {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.recdetail-ai-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: #fff;
    border-bottom: 1px solid #eee;
    border-bottom: 1px solid var(--border-color, #eee);
}

.recdetail-ai-heading {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.recdetail-ai-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    color: var(--text-primary, #333);
}

.recdetail-ai-icon {
    font-size: 18px;
}

.recdetail-ai-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf2f7;
    color: #4a5568;
    font-size: 11px;
    font-weight: 600;
}

.recdetail-ai-status--loading {
    background: #fff7ed;
    color: #c05621;
}

.recdetail-ai-status--error {
    background: #fff5f5;
    color: #c53030;
}

.recdetail-ai-status-spinner {
    animation: recdetail-spin 0.9s linear infinite;
}

.recdetail-ai-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.recdetail-ai-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: opacity 0.15s ease;
}

.recdetail-ai-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.recdetail-ai-btn--primary {
    background: #8C40E3;
    color: #fff;
}

.recdetail-ai-btn--primary:hover:not(:disabled) {
    background: #7838c9;
}

.recdetail-ai-btn--secondary {
    background: #fff;
    color: #4A5568;
    border-color: #CBD5E0;
}

.recdetail-ai-btn--secondary:hover {
    background: #F7FAFC;
}

.recdetail-ai-body {
    padding: 12px 16px;
    min-height: 80px;
    max-height: 360px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background:
        radial-gradient(circle at top right, rgba(140, 64, 227, 0.05), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}

.recdetail-ai-context {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    background: rgba(247, 250, 252, 0.95);
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.recdetail-ai-context-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #718096;
}

.recdetail-ai-context-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.recdetail-ai-tag {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    color: #2d3748;
    font-size: 11px;
    font-weight: 600;
}

.recdetail-ai-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 180px;
    padding: 24px;
    text-align: center;
    color: #4a5568;
}

.recdetail-ai-placeholder-spinner {
    font-size: 28px;
    color: #8c40e3;
    animation: recdetail-spin 0.9s linear infinite;
}

.recdetail-ai-placeholder-title {
    font-size: 15px;
    font-weight: 700;
    color: #2d3748;
}

.recdetail-ai-placeholder-text {
    max-width: 320px;
    font-size: 12.5px;
    line-height: 1.6;
}

.recdetail-ai-empty {
    color: #718096;
    font-size: 12.5px;
    line-height: 1.55;
    padding: 16px;
    background: #f7fafc;
    border: 1px dashed #cbd5e0;
    border-radius: 10px;
}

.recdetail-ai-empty-title {
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 700;
    color: #2d3748;
}

.recdetail-ai-error {
    color: #E53E3E;
    font-size: 12.5px;
    background: #FFF5F5;
    border: 1px solid #FED7D7;
    border-radius: 4px;
    padding: 8px 12px;
}

.recdetail-ai-message {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 14px 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
}

.recdetail-ai-message-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8c40e3;
}

.recdetail-ai-output {
    min-width: 0;
    color: #2d3748;
}

.recdetail-ai-streaming {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #8c40e3;
    font-size: 12px;
    font-weight: 600;
}

.recdetail-md-h1,
.recdetail-md-h2,
.recdetail-md-h3 {
    color: #1a202c;
    font-weight: 700;
    line-height: 1.3;
}

.recdetail-md-h1 {
    margin: 0 0 12px;
    font-size: 20px;
}

.recdetail-md-h2 {
    margin: 18px 0 8px;
    font-size: 16px;
}

.recdetail-md-h3 {
    margin: 14px 0 6px;
    font-size: 14px;
}

.recdetail-md-p {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.75;
}

.recdetail-md-ul,
.recdetail-md-ol {
    margin: 0 0 12px;
    padding-left: 20px;
}

.recdetail-md-li {
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 1.7;
}

.recdetail-md-strong {
    font-weight: 700;
    color: #1a202c;
}

.recdetail-md-code {
    padding: 2px 6px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #7c2d12;
    font-size: 12px;
    font-family: Consolas, Monaco, monospace;
}

.recdetail-md-pre {
    margin: 0 0 12px;
    padding: 12px;
    border-radius: 10px;
    background: #0f172a;
    overflow-x: auto;
}

.recdetail-md-codeblock {
    color: #e2e8f0;
    font-size: 12px;
    line-height: 1.65;
    font-family: Consolas, Monaco, monospace;
}

.recdetail-md-blockquote {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-left: 3px solid #8c40e3;
    background: #faf5ff;
    color: #553c9a;
}

@keyframes recdetail-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1200px) {
    .recdetail-content.recdetail-content--expanded {
        grid-template-columns: minmax(0, 1fr) 320px;
    }
}

@media (max-width: 768px) {
    .recdetail-ai-header {
        flex-direction: column;
    }

    .recdetail-ai-actions {
        width: 100%;
        justify-content: stretch;
    }

    .recdetail-ai-btn {
        flex: 1 1;
        justify-content: center;
    }
}

/* Consolidated Recommendations - RevoGrid styling helpers */

.cr-grid-wrapper {
    width: 100%;
    height: 100%;
    min-height: 300px;
    display: flex;
    flex-direction: column;
}

.cr-grid-wrapper revo-grid {
    flex: 1 1;
    min-height: 0;
}

/* Linha clicavel para abrir detalhes */
.cr-grid-wrapper revo-grid .rgRow {
    cursor: pointer;
}

/* Alinhamento numerico nas celulas marcadas */
revo-grid .revo-cell--right {
    text-align: right;
    justify-content: flex-end;
}

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

.cr-provider-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* ── Cabecalho RevoGrid no estilo do LcInfiniteTable ──────────────────── */
.cr-grid-wrapper revo-grid .header-rgRow,
.cr-grid-wrapper revo-grid .rgHeaderCell {
    background-color: #fff !important;
    border-bottom: solid 1px #E2E6F3 !important;
    min-height: 28px;
}

.cr-grid-wrapper 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;
}

/* Remover qualquer separador vertical/resizer no header */
.cr-grid-wrapper revo-grid .rgHeaderCell::before,
.cr-grid-wrapper revo-grid .rgHeaderCell::after,
.cr-grid-wrapper revo-grid .rgHeaderCell .resizable-r,
.cr-grid-wrapper revo-grid .header-rgRow .resizable-r,
.cr-grid-wrapper revo-grid .header-rgRow .resize-r {
    border: none !important;
    background: transparent !important;
}

/* Anular borders/box-shadows laterais herdados do tema (especialmente do
   colPinStart que separa a coluna pinada do restante do header) */
.cr-grid-wrapper revo-grid revogr-header,
.cr-grid-wrapper revo-grid revogr-header .rgHeaderCell,
.cr-grid-wrapper revo-grid revogr-viewport-scroll.colPinStart revogr-header,
.cr-grid-wrapper revo-grid revogr-viewport-scroll.colPinStart revogr-header .rgHeaderCell,
.cr-grid-wrapper revo-grid revogr-viewport-scroll.colPinEnd revogr-header,
.cr-grid-wrapper revo-grid revogr-viewport-scroll.colPinEnd revogr-header .rgHeaderCell {
    box-shadow: none !important;
    border-left: none !important;
    border-right: none !important;
}

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

.cr-grid-wrapper revo-grid .rgHeaderCell.sortable {
    cursor: pointer;
}

/* Indicador de ordenacao */
.cr-grid-wrapper revo-grid .rgHeaderCell .header-content {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

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

/* Linhas e celulas */
.cr-grid-wrapper revo-grid .rgRow {
    border-bottom: 1px solid #F1F3F8;
}

.cr-grid-wrapper revo-grid .rgRow:hover {
    background-color: #FAFBFD;
}

.cr-grid-wrapper revo-grid .rgCell {
    font-family: "Ubuntu", sans-serif;
    font-size: 0.75rem;
    color: #2E1956;
    padding: 4px 8px;
    border-right: none !important;
}

/* Linha de redimensionamento mais discreta */
.cr-grid-wrapper revo-grid .resizable-r {
    border-right: 1px solid #E2E6F3;
}

.detailsPlan {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-y: hidden;
}

.headerPlanDetails {
    width: 100%;
    display: flex;
    justify-content: space-around;
    gap: 24px;
    padding: 5px 16px 0 0;
}

.detailsName {
    width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.detailsName h4 {
    font-size: 16px;
    font-family: "Ubuntu", sans-serif;
    font-weight: bold;
    color: #2B304F;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.bagdeStatusPlan {
    margin-left: 5px;
    padding: 2px 8px;
    color: white;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    text-transform: uppercase;
}

.labelGray {
    color: #a4a9b9;
    font-size: 12px;
}

.resource_scope {
    display: flex;
    flex-direction: column;
    width: 50%;
    text-align: end;
    justify-content: space-around;
    font-size: 12px;
}

.resource_scope p {
    font-weight: bold;
}

.detailSavingsPlanOrReserve {
    background-color: #F1F5FB;
    border-radius: 4px;
    padding: 12px;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.subTitlePlan {
    font-size: 12px;
    color: #2B304F;
}

.titleLink {
    color: #00aee1;
    text-decoration: underline;
    cursor: pointer;
}

.saving-plan-reserve-page .lcd-confirmation .actions .bg-gray {
    display: none;
}

.saving-plan-reserve-page .lcd-confirmation>.all>.body>.actions {
    justify-content: center !important;
}

.saving-plan-reserve-page .lcd-confirmation>.all>.body>.title .lc-iconlink {
    display: none;
}
.detailsPlan {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-y: hidden;
}

.headerPlanDetails {
    width: 100%;
    display: flex;
    justify-content: space-around;
    gap: 24px;
    padding: 5px 16px 0 0;
}

.rowPlanDetails {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: .6rem 0;
    gap: 1.3rem;
}

.inicialInfo {
    display: flex;
    margin-bottom: .5rem;
}

.detailsName {
    width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.detailsName h4 {
    font-size: 16px;
    font-family: "Ubuntu", sans-serif;
    font-weight: bold;
    color: #2B304F;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.bagdeStatusPlan {
    margin-left: 5px;
    padding: 2px 8px;
    color: white;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    text-transform: uppercase;
}

.labelGray {
    color: #a4a9b9;
    font-size: 12px;
}

.labelGray.textSmall {
    font-size: 10px;
}

.resource_scope {
    display: flex;
    flex-direction: column;
    width: 50%;
    text-align: end;
    justify-content: space-around;
    font-size: 12px;
}

.resource_scope p {
    font-weight: bold;
}

.useDetails {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.divDetails {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: flex-start;
}

.divDetails>.row>p,
.rowPlanDetails>.row>p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 128px;
    font-size: 12px;
}

.percente {
    width: 70%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.totalPercente {
    background-color: #8b90a3;
    color: #fff;
    width: 100%;
    height: 24px;
    text-align: center;
    display: flex;
    align-items: center;
    position: relative;
    font-size: 12px;
}

.totalPercente p {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
}

.totalPercente>.usePercente {
    background-color: var(--text-default);
    height: 24px;
}

.usedAndReservedInfo {
    font-size: 10px;
    display: flex;
    flex-direction: column;
}

.usedAndReservedInfo .labelGray {
    font-size: 10px;
}

.graphDetails {
    width: 50%;
}

.detailSavingsPlanOrReserve {
    background-color: #F1F5FB;
    border-radius: 4px;
    padding: 12px;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.subTitlePlan {
    font-size: 12px;
    color: #2B304F;
}

.bodySystem {
    padding: 16px;
}

h4 {
	color: #8B90A3;
	font-family: "Ubuntu", sans-serif;
	font-weight: 500;
}
