.hidden {
    display:none;
}
/* SaaS Essentials > Atividades — visual theme (tokens + Ubuntu + RevoGrid). */

.essentials-root {
    font-family: "Ubuntu", sans-serif;
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ── Workload tabs (horizontal) ── */
.ess-tabs {
    display: flex;
    align-items: stretch;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 2px 7px 2px;
    scrollbar-width: thin;
}

.ess-tabs::-webkit-scrollbar { height: 6px; }
.ess-tabs::-webkit-scrollbar-thumb { background: #EBEBEB; background: var(--line-light, #EBEBEB); border-radius: 3px; }

.ess-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1;
    justify-content: center;
    position: relative;
    min-width: 0;
    padding: 10px 16px;
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 0.25rem;
    background: #FFFFFF;
    background: var(--background-white, #FFFFFF);
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s, box-shadow 0.15s;
    -webkit-user-select: none;
            user-select: none;
}

.ess-tab:not(.active) {
    opacity: 0.35;
}

.ess-tab:not(.active):hover {
    opacity: 0.85;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    border-color: #966CF3;
    border-color: var(--color-primary-purple-light, #966CF3);
}

.ess-tab.active {
    opacity: 1;
    color: #8C40E3;
    color: var(--color-primary-purple, #8C40E3);
    border-color: #E2E6F3;
    border-color: var(--line-default, #E2E6F3);
    box-shadow: 4px 4px 18px 0px rgba(58, 79, 135, 0.12);
    z-index: 1;
}

.ess-tab.active::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translateX(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    background: #FFFFFF;
    pointer-events: none;
}

@media (min-width: 1600px) {
    .ess-tab.active::after {
        bottom: -3px;
    }
}

.ess-tab .ess-tab-ico {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ess-tab .ess-tab-ico img { width: 18px; height: 18px; object-fit: contain; }

/* ── KPI row ── */
.ess-kpi-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    grid-gap: 10px;
    gap: 10px;
    width: 100%;
}

.ess-kpi-card {
    background: #FFFFFF;
    background: var(--background-white, #FFFFFF);
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 0.25rem;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 84px;
}

.ess-kpi-head { display: flex; align-items: center; gap: 8px; }

.ess-kpi-ico {
    width: 30px; height: 30px;
    border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 auto;
}

.ess-kpi-label {
    font-size: 12px;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    font-weight: 500;
    line-height: 1.2;
}

.ess-kpi-value {
    font-size: 24px;
    font-weight: 700;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    line-height: 1.1;
}

.ess-kpi-value .ess-kpi-unit {
    font-size: 13px;
    font-weight: 500;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    margin-left: 4px;
}

.ess-kpi-delta { font-size: 11px; font-weight: 500; }
.ess-kpi-delta.up { color: #34C38F; color: var(--secondary-green-light, #34C38F); }
.ess-kpi-delta.down { color: #DC291E; color: var(--status-red, #DC291E); }
.ess-kpi-delta.flat { color: #8B90A3; color: var(--text-light, #8B90A3); }

/* ── Status badge ── */
.ess-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.6;
    white-space: nowrap;
    cursor: default;
}

.ess-badge .ess-badge-dot { width: 6px; height: 6px; border-radius: 50%; }

.ess-badge.positive { background: rgba(52, 195, 143, 0.14); color: #1f8f66; }
.ess-badge.positive .ess-badge-dot { background: #34C38F; }
.ess-badge.warning { background: rgba(246, 222, 0, 0.18); color: #9a7d00; }
.ess-badge.warning .ess-badge-dot { background: #E6B400; }
.ess-badge.negative { background: rgba(220, 41, 30, 0.12); color: #c0271d; }
.ess-badge.negative .ess-badge-dot { background: #DC291E; }
.ess-badge.info { background: rgba(71, 31, 204, 0.10); color: #471FCC; }
.ess-badge.info .ess-badge-dot { background: #471FCC; }
.ess-badge.neutral { background: #E2E6F3; background: var(--background-light, #E2E6F3); color: #6B6F7D; color: var(--text-dark, #6B6F7D); }
.ess-badge.neutral .ess-badge-dot { background: #9196A7; }

/* ── Filter chips ── */
.ess-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 8px 0; }
.ess-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 3px 8px 3px 10px;
    background: #FAFBFF;
    background: var(--background-lightest, #FAFBFF);
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 999px;
    font-size: 11px;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}
.ess-chip button {
    border: none; background: transparent; cursor: pointer;
    color: #8B90A3;
    color: var(--text-light, #8B90A3); font-size: 13px; line-height: 1;
    padding: 0; display: inline-flex;
}
.ess-chip button:hover { color: #DC291E; color: var(--status-red, #DC291E); }

/* ── Content layout: main grid + aux panel ── */
.ess-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    grid-gap: 12px;
    gap: 12px;
    flex: 1 1;
    min-height: 0;
}
.ess-content.no-aux { grid-template-columns: minmax(0, 1fr); }

/* Aux column can stack multiple panels (distribution donut + ranking + storage donut). */
.ess-aux-col { display: flex; flex-direction: column; gap: 12px; min-height: 0; overflow-y: auto; }
.ess-aux-col .ess-panel { flex: 0 0 auto; }

.ess-panel {
    background: #FFFFFF;
    background: var(--background-white, #FFFFFF);
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 0.25rem;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.ess-panel-title {
    font-size: 13px;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    padding: 12px 14px 8px 14px;
}

.ess-panel-body { padding: 0 14px 14px 14px; overflow-y: auto; flex: 1 1; min-height: 0; }

/* Aux ranking list */
.ess-rank { display: flex; flex-direction: column; gap: 8px; }
.ess-rank-item { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.ess-rank-pos { width: 18px; color: #8B90A3; color: var(--text-light, #8B90A3); font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.ess-rank-name { flex: 1 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #2E1956; color: var(--text-default, #2E1956); }
.ess-rank-bar { flex: 1 1; height: 6px; background: #E2E6F3; background: var(--background-light, #E2E6F3); border-radius: 3px; overflow: hidden; }
.ess-rank-bar > span { display: block; height: 100%; background: #8C40E3; background: var(--color-primary-purple, #8C40E3); }
.ess-rank-val { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; color: #6B6F7D; color: var(--text-dark, #6B6F7D); min-width: 48px; text-align: right; }

/* ── RevoGrid theme (canonical) ── */
.ess-grid-wrapper {
    flex: 1 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    background: var(--background-white, #FFFFFF);
    border: none;
    border-radius: 0.25rem;
    overflow: hidden;
}

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

.ess-grid-wrapper .rgRow { cursor: pointer; border-bottom: 1px solid #F1F3F8; }
.ess-grid-wrapper .rgRow:hover { background: #FAFBFD; background: var(--background-lightest, #FAFBFD); }

.ess-grid-wrapper .header-rgRow {
    background: #fff;
    border-bottom: 1px solid #E2E6F3;
    border-bottom: 1px solid var(--line-default, #E2E6F3);
    min-height: 28px;
}

.ess-grid-wrapper .rgHeaderCell {
    font-family: "Ubuntu", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    padding: 4px 8px;
    background: #fff;
    border: none !important;
    box-shadow: none !important;
}
.ess-grid-wrapper .rgHeaderCell:hover { color: #2E1956; color: var(--text-default, #2E1956); background: #FAFBFD; background: var(--background-lightest, #FAFBFD); }
.ess-grid-wrapper .rgHeaderCell.sortable { cursor: pointer; }
.ess-grid-wrapper .rgHeaderCell.sort-asc,
.ess-grid-wrapper .rgHeaderCell.sort-desc { color: #2E1956; color: var(--text-default, #2E1956); }

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

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

.ess-grid-wrapper revo-grid .revo-cell--right { text-align: right; justify-content: flex-end; }
.ess-grid-wrapper revo-grid .revo-cell--center { text-align: center; justify-content: center; }

/* Numeric cell content */
.ess-num {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    text-align: right;
    white-space: nowrap;
    width: 100%;
    display: block;
}

.ess-email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Toolbar above content (search + sub-tabs) */
.ess-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.ess-search {
    display: flex; align-items: center; gap: 6px;
    border: 1px solid #CCCCCF;
    border: 1px solid var(--line-outline, #CCCCCF);
    border-radius: 8px; padding: 5px 10px;
    background: #fff; min-width: 220px;
}
.ess-search input { border: none; outline: none; font-size: 12px; font-family: "Ubuntu", sans-serif; flex: 1 1; color: #2E1956; color: var(--text-default, #2E1956); }
.ess-subtabs { display: flex; gap: 6px; }
.ess-subtab {
    padding: 5px 12px; border-radius: 8px; font-size: 12px; font-weight: 500; cursor: pointer;
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3); background: #fff; color: #6B6F7D; color: var(--text-dark, #6B6F7D);
}
.ess-subtab.active { color: #8C40E3; color: var(--color-primary-purple, #8C40E3); border-color: #8C40E3; border-color: var(--color-primary-purple, #8C40E3); }

/* Section header inside workloads */
.ess-section-title {
    font-size: 13px; font-weight: 600; color: #2E1956; color: var(--text-default, #2E1956); margin: 2px 0 6px 0;
}

.ess-availability-note {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; color: #8B90A3; color: var(--text-light, #8B90A3);
    margin-bottom: 6px;
}

/* ── Painel (consolidated) layout ── */
.ess-painel-grid {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    grid-template-rows: auto auto;
    grid-gap: 12px;
    gap: 12px;
    align-items: start;
}
.ess-painel-grid > .ess-panel { min-height: 240px; }
.ess-painel-grid > .ess-painel-wide { grid-column: 1 / -1; }
.ess-painel-grid .ess-section-title { padding: 12px 14px 6px 14px; margin: 0; }
.ess-painel-grid .ess-grid-wrapper { border: none; }
.ess-painel-grid .ess-rank { padding: 0 14px 14px 14px; }

@media (max-width: 1100px) {
    .ess-painel-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ── Adoption bars ── */
.ess-adoption { display: flex; flex-direction: column; gap: 12px; padding: 4px 14px 14px 14px; }
.ess-adoption-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 42px; align-items: center; grid-gap: 10px; gap: 10px; }
.ess-adoption-label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #2E1956; color: var(--text-default, #2E1956); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ess-adoption-label img { width: 14px; height: 14px; }
.ess-adoption-bar { height: 8px; background: #E2E6F3; background: var(--background-light, #E2E6F3); border-radius: 4px; overflow: hidden; }
.ess-adoption-bar > span { display: block; height: 100%; border-radius: 4px; transition: width 0.3s; }
.ess-adoption-pct { font-size: 12px; font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; color: #6B6F7D; color: var(--text-dark, #6B6F7D); text-align: right; }

/* ── In-cell progress bar ── */
.ess-cellbar { display: flex; align-items: center; gap: 8px; width: 100%; justify-content: flex-end; }
.ess-cellbar-val { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; min-width: 40px; text-align: right; }
.ess-cellbar-track { flex: 1 1; max-width: 80px; height: 6px; background: #E2E6F3; background: var(--background-light, #E2E6F3); border-radius: 3px; overflow: hidden; }
.ess-cellbar-fill { display: block; height: 100%; border-radius: 3px; }

/* ── Identity cell (avatar + name) ── */
.ess-identity { display: inline-flex; align-items: center; gap: 8px; width: 100%; overflow: hidden; }
.ess-avatar {
    flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%;
    background: rgba(140,64,227,0.12); color: #8C40E3; color: var(--color-primary-purple, #8C40E3);
    font-size: 10px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center;
}
.ess-identity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── App chips (Copilot apps used per user) ── */
.ess-appchips { display: inline-flex; align-items: center; gap: 3px; overflow: hidden; }
.ess-appchip {
    flex: 0 0 auto; width: 18px; height: 18px; border-radius: 4px;
    color: #fff; font-size: 9px; font-weight: 700; line-height: 1;
    display: inline-flex; align-items: center; justify-content: center;
}
.ess-appchip-more { background: #E2E6F3 !important; color: #6B6F7D; }

/* ── Grid panel (titled + search + footer) ── */
.ess-grid-panel { padding: 0; }
.ess-grid-panel-head {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 10px 14px; border-bottom: 1px solid #E2E6F3; border-bottom: 1px solid var(--line-default, #E2E6F3);
}
.ess-grid-panel-head .ess-section-title { padding: 0; margin: 0; }
.ess-grid-panel-tools { display: flex; align-items: center; gap: 8px; }
.ess-grid-panel-tools .ess-search { min-width: 240px; }
.ess-grid-panel-body { flex: 1 1; min-height: 0; display: flex; flex-direction: column; }
.ess-grid-panel-body .ess-grid-wrapper { border: none; border-radius: 0; }
.ess-grid-panel-footer { border-top: 1px solid #E2E6F3; border-top: 1px solid var(--line-default, #E2E6F3); padding: 8px 14px; }
.ess-grid-count { font-size: 12px; color: #8B90A3; color: var(--text-light, #8B90A3); font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* ── Pagination ── */
.ess-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ess-pagination-info { font-size: 12px; color: #8B90A3; color: var(--text-light, #8B90A3); }
.ess-pagination-controls { display: flex; align-items: center; gap: 4px; }
.ess-page-btn {
    min-width: 28px; height: 28px; padding: 0 6px; border-radius: 6px;
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3); background: #fff;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D); font-size: 12px; cursor: pointer;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}
.ess-page-btn:hover:not(:disabled) { border-color: #8C40E3; border-color: var(--color-primary-purple, #8C40E3); color: #8C40E3; color: var(--color-primary-purple, #8C40E3); }
.ess-page-btn.active { background: #8C40E3; background: var(--color-primary-purple, #8C40E3); border-color: #8C40E3; border-color: var(--color-primary-purple, #8C40E3); color: #fff; }
.ess-page-btn:disabled { opacity: 0.45; cursor: default; }
.ess-page-ellipsis { padding: 0 4px; color: #8B90A3; color: var(--text-light, #8B90A3); }
.ess-page-size {
    margin-left: 6px; height: 28px; border-radius: 6px; border: 1px solid #E2E6F3; border: 1px solid var(--line-default, #E2E6F3);
    background: #fff; color: #6B6F7D; color: var(--text-dark, #6B6F7D); font-size: 12px; padding: 0 6px; cursor: pointer;
}

/* ── User detail drawer ── */
.ess-drawer { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }
.ess-drawer-head { display: flex; align-items: center; gap: 12px; }
.ess-avatar-lg { width: 44px; height: 44px; font-size: 15px; }
.ess-drawer-id { min-width: 0; }
.ess-drawer-name { font-size: 15px; font-weight: 600; color: #2E1956; color: var(--text-default, #2E1956); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ess-drawer-sub { font-size: 12px; color: #8B90A3; color: var(--text-light, #8B90A3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ess-drawer-status { display: flex; }
.ess-drawer-signals { margin: 0; padding-left: 16px; display: flex; flex-direction: column; gap: 4px; }
.ess-drawer-signals li { font-size: 12px; color: #6B6F7D; color: var(--text-dark, #6B6F7D); }
.ess-drawer-section-title { font-size: 12px; font-weight: 600; color: #2E1956; color: var(--text-default, #2E1956); text-transform: uppercase; letter-spacing: 0.4px; margin-top: 4px; }
.ess-drawer-metrics { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 8px; gap: 8px; }
.ess-drawer-metric { display: flex; flex-direction: column; gap: 2px; background: #FAFBFD; background: var(--background-lightest, #FAFBFD); border: 1px solid #EBEBEB; border: 1px solid var(--line-light, #EBEBEB); border-radius: 8px; padding: 8px 10px; }
.ess-drawer-metric-label { font-size: 11px; color: #8B90A3; color: var(--text-light, #8B90A3); }
.ess-drawer-metric-value { font-size: 14px; font-weight: 600; color: #2E1956; color: var(--text-default, #2E1956); font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.ess-drawer-workloads { display: flex; flex-direction: column; gap: 6px; }
.ess-drawer-wl { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; grid-gap: 8px; gap: 8px; padding: 6px 0; border-bottom: 1px solid #EBEBEB; border-bottom: 1px solid var(--line-light, #EBEBEB); }
.ess-drawer-wl:last-child { border-bottom: none; }
.ess-drawer-wl-name { font-size: 12px; color: #2E1956; color: var(--text-default, #2E1956); font-weight: 500; }
.ess-drawer-wl-lic { font-size: 11px; padding: 2px 8px; border-radius: 10px; justify-self: start; }
.ess-drawer-wl-lic.on { background: rgba(52,195,143,0.12); color: #2E9E76; }
.ess-drawer-wl-lic.off { background: #E2E6F3; background: var(--background-light, #E2E6F3); color: #8B90A3; color: var(--text-light, #8B90A3); }
.ess-drawer-wl-date { font-size: 12px; color: #6B6F7D; color: var(--text-dark, #6B6F7D); font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* ── LCDashboard integration ──
   Cards use the native card-frame chrome (white bg, border-radius, shadow).
   Individual KPI cards get rounded corners matching the design. */
.ess-dashboard .lcdashboard-cards-panel-header { margin-bottom: 2px; }

/* Each KPI is its own card-frame — style it to match the KPI design. */
.ess-dashboard .card-frame.ess-kpi-card-item {
    border-radius: 0.25rem;
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    padding: 12px 14px;
}

/* KPI value body inside the native card content */
.ess-kpi-body { display: flex; flex-direction: column; gap: 4px; }

/* Card title bar with search + subtabs side-by-side */
.ess-card-title-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}
.ess-card-title-tools { display: flex; align-items: center; gap: 8px; }

/* Grid body inside a card fills available space */
.ess-card-grid-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}
.ess-card-grid-body .ess-grid-wrapper { flex: 1 1; min-height: 0; border: none; border-radius: 0; }
.ess-card-grid-body .ess-grid-panel-footer { border-top: 1px solid #E2E6F3; border-top: 1px solid var(--line-default, #E2E6F3); padding: 8px 0; }

/* ── Skeleton loading ── */
.ess-skeleton {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 0.25rem;
    background: linear-gradient(90deg, #F2F4FA 0%, #E9EDF7 35%, #F2F4FA 65%, #F2F4FA 100%);
    background-size: 260% 100%;
    animation: ess-skeleton-shimmer 1.25s ease-in-out infinite;
}

.ess-skeleton-kpi { min-height: 72px; }
.ess-skeleton-chart { min-height: 180px; }
.ess-skeleton-grid { min-height: 220px; }

@keyframes ess-skeleton-shimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

/* ── Access info modal ── */
.ess-info {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 4px 2px 24px 2px;
    font-family: "Ubuntu", sans-serif;
}

.ess-info-section {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ess-info-section-title {
    font-size: 13px;
    font-weight: 600;
    color: #2E1956;
}

.ess-info-text {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #4A4F5C;
}

.ess-info-list {
    margin: 0;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 13px;
    line-height: 1.5;
    color: #4A4F5C;
}

.ess-info-perms {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ess-info-perms li {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ess-info-perm {
    align-self: flex-start;
    font-family: "Roboto Mono", monospace;
    font-size: 12px;
    font-weight: 600;
    color: #2E1956;
    background: #F4F2FB;
    border: 1px solid #E2E6F3;
    border-radius: 0.25rem;
    padding: 1px 7px;
}

.ess-info-perm-desc {
    font-size: 12px;
    color: #6B6F7D;
    line-height: 1.45;
}

.ess-info-note {
    flex-direction: row;
    gap: 8px;
    padding: 10px 12px;
    background: #FFFDF5;
    border: 1px solid #F1B44C;
    border-radius: 0.375rem;
}

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

.spin { animation: spin 0.9s linear infinite; display: inline-block; }

/* Microsoft 365 Copilot adoption cockpit — sub-navigation, N/D placeholders, recommendations. */

.copilot-header {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.copilot-subnav-tabs .lct-bar {
    padding-left: 2px;
    padding-right: 2px;
}

/* ── N/D inline value (KPI cards) ── */
.copilot-nd {
    color: #8B90A3;
    font-weight: 600;
}

/* ── "Em breve" placeholder ── */
.copilot-soon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100%;
    min-height: 120px;
    padding: 16px;
    gap: 8px;
}

.copilot-soon-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(140, 64, 227, 0.10);
    color: #8C40E3;
    color: var(--color-primary-purple, #8C40E3);
    font-size: 22px;
}

.copilot-soon-title {
    font-family: "Ubuntu", sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.copilot-soon-note {
    font-family: "Ubuntu", sans-serif;
    font-size: 12px;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    max-width: 520px;
    line-height: 1.5;
}

/* Variant for the "missing Microsoft Graph permission" empty-state (amber accent). */
.copilot-perm .copilot-soon-ico {
    background: rgba(241, 180, 76, 0.14);
    color: #F1B44C;
}

/* ── Recommendations list ── */
.copilot-rec {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
    overflow-y: auto;
    padding-right: 4px;
}

.copilot-rec-item {
    display: flex;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-left-width: 3px;
    border-radius: 6px;
    background: #FFFFFF;
    background: var(--background-white, #FFFFFF);
}

.copilot-rec-item.sev-high { border-left-color: #F46A6A; }
.copilot-rec-item.sev-medium { border-left-color: #F1B44C; }
.copilot-rec-item.sev-low { border-left-color: #50A5F1; }
.copilot-rec-item.sev-info { border-left-color: #34C38F; }

.copilot-rec-ico {
    display: inline-flex;
    align-items: flex-start;
    color: #8C40E3;
    color: var(--color-primary-purple, #8C40E3);
    font-size: 18px;
    flex-shrink: 0;
}

.copilot-rec-title {
    font-family: "Ubuntu", sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    margin-bottom: 2px;
}

.copilot-rec-detail {
    font-family: "Ubuntu", sans-serif;
    font-size: 12px;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    line-height: 1.45;
}

/* ── Alerts list ── */
.copilot-alerts {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;
    overflow-y: auto;
    padding-right: 4px;
}

.copilot-alert {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 6px;
    background: #F8F8FB;
    background: var(--background-neutral, #F8F8FB);
    font-family: "Ubuntu", sans-serif;
    font-size: 12px;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.copilot-alert-ico {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    flex-shrink: 0;
}

.copilot-alert.sev-high .copilot-alert-ico { color: #F46A6A; }
.copilot-alert.sev-medium .copilot-alert-ico { color: #F1B44C; }
.copilot-alert.sev-low .copilot-alert-ico { color: #50A5F1; }
.copilot-alert.sev-info .copilot-alert-ico { color: #34C38F; }

.copilot-alert-text { line-height: 1.4; }

/* ── Rich KPI card (icon + value + delta + sparkline), Microsoft cockpit style ── */
.ess-dashboard .card-frame.copilot-kpi-card-item {
    border-radius: 0.25rem;
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    padding: 12px 14px;
}

.copilot-kpi {
    display: flex;
    flex-direction: column;
    gap: 4px;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
}

.copilot-kpi-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.copilot-kpi-label {
    font-family: "Ubuntu", sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    line-height: 1.3;
}

.copilot-kpi-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 16px;
    flex-shrink: 0;
}

.copilot-kpi-value {
    font-family: "Ubuntu", sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.copilot-kpi-delta {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: "Ubuntu", sans-serif;
    font-size: 11px;
    font-weight: 600;
}

.copilot-kpi-delta i { font-size: 11px; }
.copilot-kpi-delta.up { color: #34C38F; }
.copilot-kpi-delta.down { color: #F46A6A; }
.copilot-kpi-delta.flat { color: #8B90A3; }

.copilot-kpi-delta-label {
    font-weight: 400;
    color: #8B90A3;
}

.copilot-kpi-spark {
    margin-top: auto;
    padding-top: 4px;
    width: 100%;
}

[node-id] rect {
    fill: #2E1956 !important;
}

[control-expcoll-id] circle {
    fill: #e2e6f3;
}

#tree>svg {
    background-color: #fff;
}

.bg-ripple-container {
    background-color: #2E1956 !important;
}

.edit-fields>div:nth-child(2) {
    display: none !important;
}

.editForm {
    display: none;
    text-align: center;
    position: absolute;
    border: 1px solid #aeaeae;
    width: 300px;
    background-color: #2E1956;
    z-index: 10000;
    border-radius: 2rem;
    color: white;
    margin-left: 20rem;
}

.titleEditForm {
    margin-top: 0.27rem;
}

.nameField {
    width: 60%;
    font-family: "Ubuntu", sans-serif;
    height: 40px;
    border: 0;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 14px;
    background-color: #fff;
    color: var(--text-default);
    overflow: hidden;
    margin-top: 0.5rem;
}

.nameField:hover {
    border: 1px solid #898da6;
}

.footerButton {
    display: flex;
    flex-direction: row;
    margin-left: 12rem;
}
.orgchart.myChart {
  background-image: none !important
}

.orgchart.myChart>ul>li>ul li::before {
  border-top-color: var(--color-primary-blue);
}

.orgchart.myChart>ul>li>ul li .oc-node::before,
.orgchart.myChart ul li .oc-node:not(:only-child)::after {
  background-color: var(--color-primary-blue);
}

.orgchart.myChart .oc-node .position {
  box-sizing: border-box;
  background-color: var(--color-primary-blue);
  color: #fff;
  width: 130px;
  height: 65px;
  padding: 2px;
}

.orgchart.myChart .oc-node .fullname {
  box-sizing: border-box;
  color: #FFF;
  background-color: var(--color-primary-blue);
  font-size: 0.6rem;
  width: 80px;
  height: 40px;
  padding: 0 5px;
  line-height: 40px;
  border: 1px solid var(--color-primary-blue);
  border-radius: 10px;
}

.orgchart.myChart .oc-node .fullname.disabled {
  background-color: #2b304f2d;
  color: var(--light);
}

.fullname p {
  display: inline-block;
  vertical-align: middle;
  line-height: normal;
}

.orgchart ul li .oc-node.selected {
  background-color: rgba(119, 121, 247, 0.2) !important;
  border-radius: 10px !important;
  transition: 0.5s !important;
}

.orgchart ul li .oc-node.selected .nodeContainer .footerNode {
  display: flex;
  flex-direction: row;
  justify-content: center;
  transition: 0.5s;
}

.oc-node .selected {
  background-color: rgba(119, 121, 247, 0.2);
  border-radius: 10px;
  transition: 0.5s;
}

.orgchart ul li .oc-node:hover {
  background-color: rgba(119, 121, 247, 0.2);
  border-radius: 10px;
  transition: 0.5s;
}


.oc-edge .horizontalEdge .leftEdge .oci {
  background-color: red;
  color: yellow;
}

.footerNode {
  display: none;
}



.inputLabelName {
  text-align: left;
  padding-bottom: 0.5rem;
}


.footerButtonSideModal {
  justify-content: left;
  display: flex;
}

.headerNode {
  display: flex;
  flex-direction: row;
}
.dashboard-saas .graph-card {
  background-color: #FFF;
  height: 250px;
  width: 350px;
  margin-right: 10px !important;
  margin-bottom: 10px !important;
}
.dashboard-saas .graph-card .graph-card-body .graph-card-title {
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 160%;
  padding-bottom: 0rem;
}
.dashboard-saas .graph-card .graph-card-body .graph-card-subtitle {
  padding-top: 0rem;
}
.dashboard-saas .graph-card .graph-card-body .graph-card-subtitle span {
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
  font-size: 0.8rem;
  line-height: 160%;
  color: #434a63;
}
.dashboard-saas .graph-card .graph-card-body .graph-card-subtitle canvas {
  padding-top: 1rem;
}
.dashboard-saas .button {
  width: 7rem;
}
.dashboard-saas .graph-card {
  background-color: #FFF;
  height: 250px;
  width: 350px;
  margin-right: 10px !important;
  margin-bottom: 10px !important;
}
.dashboard-saas .graph-card .graph-card-body .graph-card-title {
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 160%;
  padding-bottom: 0rem;
}
.dashboard-saas .graph-card .graph-card-body .graph-card-subtitle {
  padding-top: 0rem;
}
.dashboard-saas .graph-card .graph-card-body .graph-card-subtitle span {
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
  font-size: 0.8rem;
  line-height: 160%;
  color: #434a63;
}
.dashboard-saas .graph-card .graph-card-body .graph-card-subtitle canvas {
  padding-top: 1rem;
}
.dashboard-saas .button {
  width: 7rem;
}
.SaaSUsersDetail_mainContainer__gs6mF {
  margin-bottom: 1rem;
  display: flex;
  flex: 1 1;
  flex-direction: column;
  background: #e2e5f3;
  padding-bottom: 1rem;
}

.SaaSUsersDetail_mainFormActive__BlMUR {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  background: #e2e5f3;
  transition: 2s;
}

.SaaSUsersDetail_mainFormActive__BlMUR input {
  height: 2.2rem;
  border: none;
  border-radius: 5px;
  width: 20rem;
  margin-left: 0.5rem;
  margin-bottom: 0.2rem;
  padding: 0.3rem;
}

.SaaSUsersDetail_lc-accordion__3ohhC>.SaaSUsersDetail_header__bsNYM {
  margin-bottom: 0.6rem !important;
}

.SaaSUsersDetail_mainFormActive__BlMUR label {
  margin-left: 0.5rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.7rem;
}

.SaaSUsersDetail_mainFormNONActive__Wqs4j {
  transition: 2s;
}

.SaaSUsersDetail_mainFormNONActive__Wqs4j * {
  display: none;
}

label {
  color: var(--text-default);
}

.SaaSUsersDetail_accordionDetails__mcDJp {
  flex-direction: column;
  margin: 0.0rem;
}

.SaaSUsersDetail_accordionDetails__mcDJp>header {
  flex-direction: column;
  margin: 0.0rem;
}

.SaaSUsersDetail_lc-accordion__3ohhC>.SaaSUsersDetail_body__MPK4U {
  padding: 0 0 0.6rem 0.8rem !important;
}

.SaaSUsersDetail_accordionDetails__mcDJp div {
  margin-bottom: 0.2rem;
}

.SaaSUsersDetail_accordionDetailsTextField__KTl-Y {
  margin-bottom: 0.5rem;
}

.SaaSUsersDetail_accordionDetailsPermission__DuQyX {
  width: 100%;
}

.SaaSUsersDetail_AccordionSummary__cv42G {
  display: flex;
  flex: 1 1;
  flex-direction: row;
}

.SaaSUsersDetail_loadingOn__Qxmyh {
  height: 1.5rem;
  width: 1.5rem;
  border-radius: 10px;
}

.SaaSUsersDetail_loadingOff__4cAuv {
  display: none;
}

.SaaSUsersDetail_alias__DIYKM {
  display: flex;
  flex: 1 1;
  flex-direction: row;
}

.SaaSUsersDetail_aliasIcon__6mwkY>i {
  margin-top: 1rem;
}

.SaaSUsersDetail_logoProc__AdG-7 {
  height: 5rem;
  width: 10rem;
  display: flex;
  flex: 1 1;
  flex-direction: row;
  align: center;
  margin-left: 8.75rem;
}

.SaaSUsersDetail_slogan__vnS32 {
  font-size: 0.7rem;
  margin-left: 3.75rem;
  margin-bottom: 1rem;
}

.SaaSUsersDetail_logoLivecloud__hCfv1 {
  padding-left: 8.7rem;
}

.SaaSUsersDetail_buttonConnect__DtCuW {
  width: 13rem;
}

.SaaSUsersDetail_iconButton__med7n {
  margin-right: 1rem;
}

.SaaSUsersDetail_buttonDiv__QqQN1 {
  margin-top: 2rem;
  display: flex;
  flex: 1 1;
  flex-direction: row;
  justify-content: space-between;
}

.SaaSUsersDetail_buttonBotton__yVwja {
  width: 29rem;
  height: 3rem;
}

.SaaSUsersDetail_footerName__JL-0J {
  margin-left: 9.75rem;
  margin-top: 1.5rem;
  font-size: 0.8rem;
}

.SaaSUsersDetail_copyRight__55xXi {
  font-size: 0.7rem;
  margin-left: 11.7rem;
  margin-bottom: 1rem;
}

.SaaSUsersDetail_passwordRequirementText__g68W2 {
  font-size: 0.875rem;
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
}

.SaaSUsersDetail_licensePanelLabel__Oek\+R {
  font-size: 15px;
  font-weight: 700;
  padding-bottom: 5px;
}
/* User Details 360° — LiveCloud UI pattern */

.u360 {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    font-family: "Ubuntu", sans-serif;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    gap: 12px;
    container-type: inline-size;
    container-name: u360;
}

/* ──────────────── Header strip ──────────────── */
.u360__headstrip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.u360__period {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: #F1F3F8;
    border-radius: 8px;
    padding: 3px;
}

.u360__period button {
    border: none;
    background: transparent;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    font-size: 12px;
    padding: 4px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-family: inherit;
}

.u360__period button.active {
    background: #fff;
    box-shadow: 0 1px 3px rgba(46, 25, 86, 0.12);
    font-weight: 600;
}

.u360__freshness {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6B6F86;
}

.u360__freshness .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3CB371;
}

.u360__freshness.warn .dot { background: #E6A700; }
.u360__freshness.pending .dot { background: #C44; }

/* ──────────────── Identity block ──────────────── */
.u360__identity {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 4px;
    border-bottom: 1px solid #ECEFF6;
}

.u360__avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8C40E3, #5A2EA6);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
    flex-shrink: 0;
}

.u360__identity-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.u360__identity-name { font-size: 18px; font-weight: 600; }
.u360__identity-mail { font-size: 13px; color: #5B6E9C; }
.u360__identity-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    font-size: 12px;
    color: #6B6F86;
    margin-top: 4px;
}
.u360__identity-meta b { color: #2E1956; color: var(--text-default, #2E1956); font-weight: 500; }

.u360__chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.u360__chip {
    font-size: 11px;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #d8deea;
    color: #5B6E9C;
}
.u360__chip--ok { background: #fff; border-color: #38A169; color: #237A43; }
.u360__chip--warn { background: #fff; border-color: #F5A623; color: #936300; }
.u360__chip--danger { background: #fff; border-color: #C53030; color: #A6301F; }

/* ──────────────── KPI row ──────────────── */
/* ──────────────── Stats strip ──────────────── */
.u360__stats-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    position: relative;
}
.u360__stats {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    overflow: hidden;
    max-height: 32px;
    transition: max-height 0.25s ease;
}
.u360__stats.u360__stats--expanded {
    flex-wrap: wrap;
    max-height: 500px;
}
.u360__stats-more {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    background: #ECEFF6;
    border: 1px solid #D8DCE6;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    color: #5B6E9C;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}
.u360__stats-more:hover { background: #D8DCE6; }

.u360__stat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: #F4F6FA;
    border-radius: 20px;
    font-size: 12px;
    white-space: nowrap;
    border: 1px solid #ECEFF6;
}
.u360__stat--warn { background: #FFF8E6; border-color: #F5E6C0; }
.u360__stat--danger { background: #FFF0ED; border-color: #F5D0C8; }
.u360__stat--ok { background: #EFFAF3; border-color: #C3E8D0; }

.u360__stat-ic {
    display: flex;
    align-items: center;
    color: #5B6E9C;
    flex-shrink: 0;
}
.u360__stat--warn .u360__stat-ic { color: #936300; }
.u360__stat--danger .u360__stat-ic { color: #A6301F; }
.u360__stat--ok .u360__stat-ic { color: #237A43; }

.u360__stat-val {
    font-weight: 700;
    color: #2E1956;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.u360__stat-lbl {
    color: #6B6F86;
}

/* ──────────────── Identity (rich) ──────────────── */
.u360__id2 {
    display: grid;
    grid-template-columns: auto minmax(220px, 1.1fr) minmax(280px, 1.6fr);
    align-items: center;
    grid-gap: 18px;
    gap: 18px;
    padding: 12px 4px 16px;
    border-bottom: 1px solid #ECEFF6;
}
.u360__id2-avatar {
    position: relative;
    width: 64px; height: 64px; border-radius: 50%;
    background: linear-gradient(135deg, #8C40E3, #5A2EA6);
    color: #fff; display: flex; align-items: center; justify-content: center;
    font-size: 24px; font-weight: 600; flex-shrink: 0;
}
.u360__statusdot {
    position: absolute; right: 2px; bottom: 2px;
    width: 14px; height: 14px; border-radius: 50%; border: 2px solid #fff;
}
.u360__statusdot.on { background: #3CB371; }
.u360__statusdot.off { background: #C0392B; }
.u360__id2-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.u360__id2-name { font-size: 19px; font-weight: 600; color: #2E1956; overflow-wrap: anywhere; }
.u360__id2-mails { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.u360__id2-mail { font-size: 12.5px; color: #5B6E9C; display: inline-flex; align-items: center; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.u360__id2-mail small { color: #9AA1B9; }
.u360__copy {
    border: none; background: none; cursor: pointer; color: #9AA1B9; padding: 1px;
    display: inline-flex; align-items: center; border-radius: 4px;
}
.u360__copy:hover { color: #8C40E3; background: #F3EEFB; }

.u360__idfields-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
.u360__idfields {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px 16px;
    min-width: 0;
    overflow: hidden;
    max-height: 40px;
    transition: max-height 0.25s ease;
}
.u360__idfields.u360__idfields--expanded {
    flex-wrap: wrap;
    max-height: 200px;
}
.u360__idfield { display: flex; align-items: flex-start; gap: 8px; min-width: 0; flex-shrink: 0; }
.u360__idfield-ic {
    width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: #F1F4F9; color: #5B6E9C;
}
.u360__idfield-txt { display: flex; flex-direction: column; min-width: 0; }
.u360__idfield-txt small { font-size: 10.5px; color: #718096; }
.u360__idfield-txt b {
    font-size: 12.5px; font-weight: 600; color: #2D3748;
    min-width: 0; overflow-wrap: anywhere; word-break: break-word;
}

@container u360 (max-width: 720px) {
    .u360__id2 { grid-template-columns: auto 1fr; }
    .u360__idfields-wrap { grid-column: 1 / -1; }
}

/* ──────────────── Resumo dashboard ──────────────── */
.u360__cardgrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 14px;
    gap: 14px;
    align-content: start;
}
.u360__cardgrid > .u360__section { grid-column: 1 / -1; }
.u360__cardgrid > .u360__card--identity { grid-column: 1 / -1; }

@container u360 (max-width: 880px) {
    .u360__cardgrid { grid-template-columns: 1fr; }
}
.u360__card {
    border: 1px solid #ECEFF6; border-radius: 12px; background: #fff;
    padding: 12px 14px; display: flex; flex-direction: column; gap: 10px;
}
/* Identity card is just a layout wrapper for the def-sections (no extra chrome). */
.u360__card--identity {
    border: none; background: transparent; padding: 0; gap: 0;
}
.u360__card-head { display: flex; align-items: center; justify-content: space-between; }
.u360__card-title { font-size: 13px; font-weight: 600; color: #2E1956; }
.u360__card-link {
    border: none; background: none; cursor: pointer; color: #8C40E3;
    font-size: 11.5px; display: inline-flex; align-items: center; gap: 3px; padding: 0;
}
.u360__card-link:hover { text-decoration: underline; }
.u360__card-more { font-size: 11px; color: #8A8FA3; }

/* Identity definition-list sections (Resumo) — mirrors consolidated recommendations detail */
.u360__defgrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    grid-gap: 8px;
    gap: 8px;
    min-width: 0;
}
.u360__defsection {
    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;
}
.u360__defsection-title {
    font-size: 13px;
    font-weight: 600;
    color: #2E1956;
    margin: 0 0 8px 0;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
}
.u360__deflist {
    display: grid;
    grid-template-columns: minmax(110px, max-content) 1fr;
    grid-gap: 4px 12px;
    gap: 4px 12px;
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
}
.u360__deflist-dt {
    color: #718096;
    font-weight: 500;
    padding: 4px 0;
    border-bottom: 1px solid #F1F3F5;
    white-space: nowrap;
}
.u360__deflist-dd {
    margin: 0;
    color: #2D3748;
    padding: 4px 0;
    border-bottom: 1px solid #F1F3F5;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.u360__deflist > :nth-last-child(-n+2) {
    border-bottom: none;
}

.u360__svcgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); grid-gap: 8px; gap: 8px; }

/* Security status list */
.u360__statlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.u360__statline { display: flex; align-items: center; gap: 8px; font-size: 12.5px; }
.u360__statdot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.u360__statdot--ok { background: #3CB371; }
.u360__statdot--warn { background: #E6A700; }
.u360__statdot--danger { background: #C0392B; }
.u360__statdot--neutral { background: #B7BECF; }
.u360__statline-label { color: #5B6E9C; }
.u360__statline-value { margin-left: auto; font-weight: 500; color: #2E1956; text-align: right; }

/* Access counts */
.u360__counts { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); grid-gap: 8px; gap: 8px; }
.u360__count {
    border: 1px solid #e9ecef; border-radius: 8px; padding: 12px 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    display: flex; flex-direction: column; gap: 2px;
}
.u360__count b { font-size: 20px; font-weight: 700; color: #2D3748; }
.u360__count small { font-size: 11px; color: #718096; }

/* Activity timeline */
.u360__timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.u360__tl-item { display: flex; align-items: flex-start; gap: 8px; }
.u360__tl-ic {
    width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
}
.u360__tl-ic--ok { background: #E7F6EC; color: #237A43; }
.u360__tl-ic--danger { background: #FBE9E7; color: #A6301F; }
.u360__tl-body { display: flex; flex-direction: column; min-width: 0; }
.u360__tl-body b { font-size: 12.5px; font-weight: 500; color: #2E1956; }
.u360__tl-body small { font-size: 11px; color: #8A8FA3; }

/* CSP key/value */
.u360__kv { display: flex; flex-direction: column; gap: 6px; }
.u360__kv-row { display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; }
.u360__kv-row span { color: #5B6E9C; }
.u360__kv-row b { color: #2E1956; font-weight: 500; }


/* ──────────────── Tabs (fr-tab style) ──────────────── */
.u360__tabs-bar {
    display: flex;
    align-items: stretch;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: 1px solid #EBEBEB;
    background: #FAFBFF;
    padding: 0 0.5rem;
    scrollbar-width: thin;
    flex-shrink: 0;
}
.u360__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.6rem;
    border: none;
    background: transparent;
    color: #6B6F7D;
    font-family: inherit;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.u360__tab:hover {
    color: #2E1956;
    background: rgba(140, 64, 227, 0.04);
}
.u360__tab--active {
    color: #8C40E3;
    border-bottom-color: #8C40E3;
    background: #fff;
}

/* ──────────────── Body layout ──────────────── */
.u360__body {
    flex: 1 1;
    min-height: 0;
    overflow: auto;
    border-radius: 8px;
    padding: 12px;
}

.u360__main { display: flex; flex-direction: column; gap: 12px; min-width: 0; }

/* ──────────────── Sections / blocks ──────────────── */
.u360__section {
    min-height: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #fff;
    border: 1px solid #ECEFF6;
    border-radius: 10px;
    padding: 14px 16px;
}
.u360__summary-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    grid-gap: 12px;
    gap: 12px;
    align-items: start;
}
.u360__summary-row > .u360__section {
    min-width: 0;
}
.u360__section-title {
    font-size: 13px;
    font-weight: 600;
    color: #2E1956;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 4px;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
}
.u360__section-title .count { font-size: 11px; color: #6B6F86; font-weight: 400; }

.u360__access-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 16px;
    gap: 16px;
    align-items: start;
}
@container u360 (max-width: 900px) {
    .u360__access-grid { grid-template-columns: 1fr; }
}

.u360__grid2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); grid-gap: 8px; gap: 8px; }

.u360__svc {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #fff;
}
.u360__svc-head { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13px; color: #2E1956; }
.u360__svc-metric { font-size: 18px; font-weight: 700; color: #2D3748; }
.u360__svc-meta { font-size: 11px; color: #718096; }
.u360__svc--idle { opacity: .7; }

/* ──────────────── RevoGrid (all detail tables) ──────────────── */
.u360__revogrid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    position: relative;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    background: #fff;
}
.u360__section .u360__revogrid { border-color: #ECEFF6; box-shadow: none; }
 

.u360__revogrid revo-grid { font-family: "Ubuntu", sans-serif; }

/* Numeric / centered cell alignment (matches consolidated recommendations grid) */
.u360__revogrid revo-grid .revo-cell--right {
    text-align: right;
    justify-content: flex-end;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}
.u360__revogrid revo-grid .revo-cell--center {
    text-align: center;
    justify-content: center;
}

/* Header styled like the LcInfiniteTable / consolidated grid */
.u360__revogrid revo-grid .header-rgRow,
.u360__revogrid revo-grid .rgHeaderCell {
    background-color: #FAFBFD !important;
    border-bottom: 1px solid #E2E6F3 !important;
}
.u360__revogrid revo-grid .rgHeaderCell {
    font-size: 11.5px;
    font-weight: 600;
    color: #718096;
    text-transform: none;
    display: flex;
    align-items: center;
}
.u360__revogrid revo-grid .rgCell {
    font-size: 12px;
    color: #2D3748;
    display: flex;
    align-items: center;
}

/* Total row (CSP cost-per-license) */
.u360__revogrid revo-grid .rgRow.u360__grid-total .rgCell {
    font-weight: 700;
    color: #2E1956;
    background: #FAFBFD;
}

/* License pool clarification note */
.u360__lic-note {
    margin: 0 0 10px 0;
    padding: 8px 12px;
    font-size: 11.5px;
    line-height: 1.5;
    color: #5B6E9C;
    background: #F4F7FC;
    border: 1px solid #E2E6F3;
    border-radius: 8px;
}
.u360__lic-note strong { color: #2E1956; font-weight: 600; }

/* Utilization bar (Licenças grid) */
.u360__usagebar {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.u360__usagebar-track {
    flex: 1 1;
    height: 6px;
    min-width: 40px;
    background: #ECEFF6;
    border-radius: 3px;
    overflow: hidden;
}
.u360__usagebar-fill {
    height: 100%;
    border-radius: 3px;
    background: #38A169;
}
.u360__usagebar-fill--ok { background: #38A169; }
.u360__usagebar-fill--warn { background: #F5A623; }
.u360__usagebar-fill--danger { background: #C53030; }
.u360__usagebar-label {
    font-size: 11.5px;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    color: #2D3748;
    min-width: 34px;
    text-align: right;
}

/* ──────────────── Rail cards ──────────────── */
.u360__railcard {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 12px 16px;
    background: #fff;
}
.u360__railcard h4 {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    color: #2E1956;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
}

.u360__action {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 10px;
    border: none;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    font-family: inherit;
    text-align: left;
}
.u360__action:hover { background: #F6F4FB; }
.u360__action--danger { color: #A6301F; }
.u360__action--danger:hover { background: #FBE9E7; }
.u360__action:disabled { opacity: .4; cursor: not-allowed; }

.u360__rec {
    border-left: 3px solid #8C40E3;
    padding: 6px 10px;
    margin-bottom: 8px;
    background: #FAFAFD;
    border-radius: 0 6px 6px 0;
}
.u360__rec.warn { border-color: #E6A700; }
.u360__rec.danger { border-color: #C44; }
.u360__rec-title { font-size: 12px; font-weight: 600; }
.u360__rec-body { font-size: 11px; color: #6B6F86; margin-top: 2px; }
.u360__rec-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.u360__rec-prio {
    font-size: 9px; text-transform: uppercase; letter-spacing: .3px;
    padding: 1px 6px; border-radius: 8px; white-space: nowrap;
    background: #F1F3F8; color: #6B6F86;
}
.u360__rec-prio--baixa { background: #E7F6EC; color: #237A43; }
.u360__rec-prio--média { background: #FCF3E0; color: #936300; }
.u360__rec-prio--alta { background: #FDEDE3; color: #B5531B; }
.u360__rec-prio--crítica { background: #FBE9E7; color: #A6301F; }
.u360__rec-meta { margin: 6px 0 0; display: grid; grid-template-columns: auto 1fr; grid-gap: 1px 8px; gap: 1px 8px; }
.u360__rec-meta dt { font-size: 10px; color: #8A8FA3; text-transform: uppercase; letter-spacing: .2px; }
.u360__rec-meta dd { font-size: 11px; color: #4A4E63; margin: 0; }
.u360__rec-meta dd.num { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* ──────────────── Risk summary panel ──────────────── */
.u360__riskbadge {
    font-size: 12px; padding: 4px 10px; border-radius: 8px; margin-bottom: 8px;
    background: #F1F3F8; color: #6B6F86; text-transform: capitalize;
}
.u360__riskbadge--baixo { background: #E7F6EC; color: #237A43; }
.u360__riskbadge--médio { background: #FCF3E0; color: #936300; }
.u360__riskbadge--alto { background: #FDEDE3; color: #B5531B; }
.u360__riskbadge--crítico { background: #FBE9E7; color: #A6301F; }
.u360__risklist { list-style: none; margin: 0; padding: 0; }
.u360__risklist li { display: flex; align-items: center; justify-content: space-between; font-size: 12px; padding: 4px 0; border-bottom: 1px solid #F2F4F9; }
.u360__risklist li:last-child { border-bottom: none; }
.u360__risklist .num { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.u360__ok { color: #237A43; }
.u360__warn { color: #936300; }
.u360__danger { color: #A6301F; }

.u360__risk-row { display: flex; align-items: center; justify-content: space-between; font-size: 12px; padding: 4px 0; }
.u360__risk-badge { font-size: 11px; padding: 1px 8px; border-radius: 10px; }
.u360__risk-badge--low { background: #E7F6EC; color: #237A43; }
.u360__risk-badge--med { background: #FCF3E0; color: #936300; }
.u360__risk-badge--high { background: #FBE9E7; color: #A6301F; }
.u360__risk-badge--na { background: #F1F3F8; color: #8A8FA3; }

.u360__footer {
    font-size: 11px;
    color: #8A8FA3;
    border-top: 1px solid #ECEFF6;
    padding-top: 8px;
}

/* ──────────────── CSP / cost ──────────────── */
.u360__section-title { margin-top: 16px; }
.u360__section-title:first-child { margin-top: 0; }
.u360__costsummary {
    display: flex; flex-direction: column; gap: 2px;
    border: 1px solid #E3DAF6; background: #F8F5FE; border-radius: 10px;
    padding: 12px 14px; margin-bottom: 4px;
}
.u360__costsummary-label { font-size: 12px; color: #6B6F86; }
.u360__costsummary-value { font-size: 22px; font-weight: 700; color: #2E1956; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.u360__costsummary-note { font-size: 11px; color: #8A8FA3; }

/* ──────────────── Quick actions tab ──────────────── */
.u360__qa { gap: 4px; }
.u360__qa-note {
    font-size: 12px;
    color: #6B6F86;
    margin: 0 0 8px;
    line-height: 1.4;
}
.u360__qa-group { margin-top: 12px; }
.u360__qa-group:first-of-type { margin-top: 4px; }
.u360__qa-group-title {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8A8FA3;
    margin: 0 0 8px;
}
.u360__qa-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    grid-gap: 8px;
    gap: 8px;
}
.u360__qa-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #E3E6F0;
    border-radius: 8px;
    font-size: 13px;
    color: #2E1956;
    cursor: pointer;
    text-align: left;
    transition: background 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}
.u360__qa-btn:hover:not(:disabled) {
    background: #F7F5FE;
    border-color: #C8BCEE;
    box-shadow: 0 1px 4px rgba(69, 69, 255, 0.08);
}
.u360__qa-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.u360__qa-btn-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    width: 20px;
    color: #5B6E9C;
    flex-shrink: 0;
}
.u360__qa-btn-label { line-height: 1.2; }

.u360__qa-btn--danger { color: #A6301F; }
.u360__qa-btn--danger .u360__qa-btn-ic { color: #C53030; }
.u360__qa-btn--danger:hover:not(:disabled) {
    background: #FFF3F0;
    border-color: #F1B3A8;
    box-shadow: 0 1px 4px rgba(197, 48, 48, 0.1);
}
.u360__qa-btn--brand .u360__qa-btn-ic { color: #4545FF; }
.u360__qa-btn--brand:hover:not(:disabled) {
    background: #F0F0FF;
    border-color: #B7B7FF;
}
.u360__qa-btn--ghost {
    background: #FAFAFD;
    border-style: dashed;
}

/* Confirmation panel rendered inside the SideModal */
.u360__qa-confirm {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 4px 2px;
}

.u360__qa-confirm-msg {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #34303D;
}

.u360__qa-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.u360__qa-confirm-actions .u360__qa-btn {
    width: auto;
    min-width: 110px;
    justify-content: center;
}



/* SaaS Users — visual redesign (LiveCloud UI pattern) */

/* ──────────────── KPI cards ──────────────── */
.saas-kpi {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    padding: 4px 2px;
    font-family: "Ubuntu", sans-serif;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    gap: 6px;
}

.saas-kpi__head {
    display: flex;
    align-items: center;
    gap: 8px;
}

.saas-kpi__body {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1;
    min-height: 0;
}

.saas-kpi__body-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1 1;
}

.saas-kpi__icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FAFBFF;
    background: var(--background-lightest, #FAFBFF);
    color: #8C40E3;
    color: var(--color-primary-purple, #8C40E3);
    flex-shrink: 0;
}

.saas-kpi__icon--warning {
    background: #FFF4EC;
    color: #E37A1C;
}

.saas-kpi__icon--success {
    background: #ECFBF3;
    color: #34C38F;
    color: var(--secondary-color-green-light, #34C38F);
}

.saas-kpi__label {
    font-size: 0.78rem;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    font-weight: 500;
    line-height: 1.1;
}

.saas-kpi__value {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.saas-kpi__unit {
    font-size: 0.8rem;
    font-weight: 500;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
}

.saas-kpi__sub {
    font-size: 0.72rem;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    line-height: 1.2;
    min-height: 14px;
}

.saas-kpi__sub--warning {
    color: #E37A1C;
}

.saas-kpi__delta {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 0.72rem;
    font-weight: 500;
    color: #34C38F;
    color: var(--secondary-color-green-light, #34C38F);
    margin-right: 4px;
}

.saas-kpi__delta--down {
    color: #DC291E;
    color: var(--status-red, #DC291E);
}

.saas-kpi__progress {
    width: 100%;
    height: 4px;
    border-radius: 999px;
    background: #E2E6F3;
    background: var(--background-light, #E2E6F3);
    overflow: hidden;
    margin-top: auto;
}

.saas-kpi__progress-fill {
    height: 100%;
    border-radius: 999px;
    background: #8C40E3;
    background: var(--color-primary-purple, #8C40E3);
    transition: width 0.3s ease;
}

.saas-kpi__sync {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    color: #34C38F;
    color: var(--secondary-color-green-light, #34C38F);
    font-weight: 500;
}

.saas-kpi__sync-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #34C38F;
    background: var(--secondary-color-green-light, #34C38F);
    box-shadow: 0 0 0 0 rgba(52, 195, 143, 0.6);
    animation: saas-pulse 2.4s infinite;
}

@keyframes saas-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(52, 195, 143, 0.5); }
    70%  { box-shadow: 0 0 0 6px rgba(52, 195, 143, 0); }
    100% { box-shadow: 0 0 0 0 rgba(52, 195, 143, 0); }
}

/* ──────────────── Grid wrapper (RevoGrid theme) ──────────────── */
.saas-grid-wrapper {
    width: 100%;
    height: 100%;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    position: relative;
}

.saas-grid-loadmore {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 6px 12px;
    text-align: center;
    font-size: 12px;
    color: #5A6F8F;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.95) 60%);
    pointer-events: none;
    z-index: 2;
}

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

.saas-grid-wrapper revo-grid .rgRow {
    cursor: pointer;
    border-bottom: 1px solid #F1F3F8;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* ──────────────── Custom cells ──────────────── */

/* User cell */
.saas-user-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    width: 100%;
}

.saas-user-cell__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Ubuntu", sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.saas-user-cell__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.2;
}

.saas-user-cell__name {
    font-size: 0.78rem;
    font-weight: 500;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.saas-user-cell__mail {
    font-size: 0.7rem;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Usage cell */
.saas-usage-cell {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 4px;
    min-width: 0;
}

.saas-usage-cell__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.75rem;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

.saas-usage-cell__values {
    color: #2E1956;
    color: var(--text-default, #2E1956);
    white-space: nowrap;
}

.saas-usage-cell__percent {
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    font-size: 0.7rem;
    white-space: nowrap;
}

.saas-usage-bar {
    width: 100%;
    height: 4px;
    background: #E2E6F3;
    background: var(--background-light, #E2E6F3);
    border-radius: 999px;
    overflow: hidden;
}

.saas-usage-bar__fill {
    height: 100%;
    border-radius: 999px;
    background: #8C40E3;
    background: var(--color-primary-purple, #8C40E3);
    transition: width 0.3s ease;
}

.saas-usage-bar__fill--warn {
    background: #F6DE00;
    background: var(--status-yellow, #F6DE00);
}

.saas-usage-bar__fill--danger {
    background: #DC291E;
    background: var(--status-red, #DC291E);
}

/* License cell */
.saas-license-cell {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.saas-license-cell__icon {
    color: #471FCC;
    color: var(--color-primary-blue, #471FCC);
    flex-shrink: 0;
    display: flex;
}

.saas-license-cell__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
}

.saas-license-cell--empty {
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    font-size: 0.85rem;
}

/* Status badge */
.saas-status {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 500;
    font-family: "Ubuntu", sans-serif;
    line-height: 1.4;
}

.saas-status--active {
    background: #ECFBF3;
    color: #1F9E6E;
}

.saas-status--pending {
    background: #FFF4EC;
    color: #C76317;
}

.saas-status--inactive {
    background: #EEF0F5;
    color: #5A6F8F;
}

/* Status-colored left border per row */
revo-grid .rgRow.saas-row--pending {
    box-shadow: inset 3px 0 0 0 #C76317;
    background: #FFFBF6;
}

revo-grid .rgRow.saas-row--inactive {
    box-shadow: inset 3px 0 0 0 #B0B6C6;
    background: #FAFBFD;
}

/* Origin cell */
.saas-origin-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2E1956;
    color: var(--icon-default, #2E1956);
}

/* Row actions */
.saas-row-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    justify-content: center;
    width: 100%;
}

.saas-row-actions__btn {
    background: transparent;
    border: none;
    padding: 4px;
    border-radius: 6px;
    color: #2E1956;
    color: var(--icon-default, #2E1956);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, color 0.15s ease;
}

.saas-row-actions__btn:hover:not(:disabled) {
    background: #FAFBFF;
    background: var(--background-lightest, #FAFBFF);
    color: #471FCC;
    color: var(--color-primary-blue, #471FCC);
}

.saas-row-actions__btn:disabled {
    color: #EBEBEB;
    color: var(--icon-disabled, #EBEBEB);
    cursor: not-allowed;
}

/* Overflow menu (popover) */
.saas-overflow-menu {
    min-width: 180px;
    background: #fff;
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(46, 25, 86, 0.12);
    padding: 4px 0;
    font-family: "Ubuntu", sans-serif;
}

.saas-overflow-menu__item {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 8px 14px;
    font-size: 0.78rem;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    cursor: pointer;
}

.saas-overflow-menu__item:hover:not(:disabled) {
    background: #FAFBFF;
    background: var(--background-lightest, #FAFBFF);
    color: #471FCC;
    color: var(--color-primary-blue, #471FCC);
}

.saas-overflow-menu__item:disabled {
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    cursor: not-allowed;
}

.saas-overflow-menu__item--danger {
    color: #DC291E;
    color: var(--status-red, #DC291E);
}

.saas-overflow-menu__item--danger:hover:not(:disabled) {
    background: rgba(220, 41, 30, 0.08);
    color: #DC291E;
    color: var(--status-red, #DC291E);
}

.saas-overflow-menu__divider {
    height: 1px;
    background: #E2E6F3;
    background: var(--line-default, #E2E6F3);
    margin: 4px 0;
}

.hidden {
  display: none;
}
.lc-checklabelvaluelist > .list {
  height: 150px;
}

/* Group Details 360° — alinhado ao padrão visual UserDetail360 (u360) */

.gd360 {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    font-family: "Ubuntu", sans-serif;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    gap: 12px;
    container-type: inline-size;
    container-name: gd360;
}

/* ──────────────── Cabeçalho / identidade ──────────────── */
.gd360__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 4px 16px;
    border-bottom: 1px solid #ECEFF6;
    flex-wrap: wrap;
}

.gd360__title { display: flex; gap: 16px; align-items: center; min-width: 0; }

.gd360__avatar {
    width: 64px; height: 64px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #8C40E3, #5A2EA6);
    color: #fff; font-size: 26px; flex-shrink: 0;
}

.gd360__title h2 {
    margin: 0; font-size: 19px; font-weight: 600; color: #2E1956;
    overflow-wrap: anywhere;
}

.gd360__subtitle { display: flex; gap: 6px; margin-top: 6px; flex-wrap: wrap; }

.gd360__pill {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11px; font-weight: 500;
    padding: 3px 10px; border-radius: 12px;
    background: #fff; border: 1px solid #d8deea; color: #5B6E9C;
}
.gd360__pill--soft { background: #F4F6FA; border-color: #ECEFF6; color: #6B6F86; }

/* Tons de risco (chip do cabeçalho) */
.gd360__risk.risk-low { background: #fff; border-color: #38A169; color: #237A43; }
.gd360__risk.risk-medium { background: #fff; border-color: #F5A623; color: #936300; }
.gd360__risk.risk-high { background: #fff; border-color: #E07B39; color: #B5531B; }
.gd360__risk.risk-critical { background: #fff; border-color: #C53030; color: #A6301F; }

.gd360__badges { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.gd360__badge {
    font-size: 11px; font-weight: 500;
    padding: 3px 10px; border-radius: 12px;
    background: #FFF8E6; color: #936300; border: 1px solid #F5E6C0;
}

/* ──────────────── Abas (fr-tab style) ──────────────── */
.gd360__tabs {
    display: flex; align-items: stretch; gap: 0;
    overflow-x: auto; overflow-y: hidden;
    border-bottom: 1px solid #EBEBEB;
    background: #FAFBFF;
    padding: 0 0.5rem;
    scrollbar-width: thin;
    flex-shrink: 0;
}
.gd360__tab {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.35rem 0.6rem;
    border: none; background: transparent;
    color: #6B6F7D; font-family: inherit; font-size: 11px; font-weight: 500;
    cursor: pointer; white-space: nowrap;
    border-bottom: 2px solid transparent; margin-bottom: -1px;
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.gd360__tab svg { font-size: 14px; }
.gd360__tab:hover { color: #2E1956; background: rgba(140, 64, 227, 0.04); }
.gd360__tab--active {
    color: #8C40E3; border-bottom-color: #8C40E3; background: #fff;
}

/* ──────────────── Conteúdo ──────────────── */
.gd360__content {
    flex: 1 1; min-height: 0; overflow: auto;
    border-radius: 8px;
    padding: 12px;
}

.gd360__grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    grid-gap: 8px;
    gap: 8px;
    align-content: start;
}

/* ──────────────── Cards ──────────────── */
.gd360__card {
    border: 1px solid #e9ecef; border-radius: 8px; background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 12px 14px; display: flex; flex-direction: column; gap: 10px;
}
.gd360__cardtitle {
    margin: 0; font-size: 13px; font-weight: 600; color: #2E1956;
    padding-bottom: 6px; border-bottom: 1px solid #eee;
}
.gd360__cardbody { display: flex; flex-direction: column; gap: 6px; }

/* Linhas chave/valor */
.gd360__field {
    display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
    font-size: 12.5px; padding: 2px 0;
}
.gd360__fieldlabel { color: #718096; font-weight: 500; flex-shrink: 0; }
.gd360__fieldvalue {
    color: #2D3748; text-align: right;
    overflow-wrap: anywhere; word-break: break-word;
}
.gd360__fieldvalue.mono { font-family: "Roboto Mono", monospace; font-size: 11px; color: #5B6E9C; }
.gd360__statvalue { font-weight: 700; font-size: 15px; color: #2D3748; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.gd360__statvalue.warn { color: #A6301F; }
.gd360__muted { color: #8A8FA3; font-size: 12px; }

.gd360__toggle { font-size: 12.5px; color: #8A8FA3; font-weight: 500; }
.gd360__toggle.on { color: #237A43; font-weight: 600; }

/* Bloco de risco compacto (card Resumo) */
.gd360__riskbig {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 14px; border-radius: 10px; gap: 2px;
}
.gd360__riskbig.risk-low { background: #E7F6EC; color: #237A43; }
.gd360__riskbig.risk-medium { background: #FCF3E0; color: #936300; }
.gd360__riskbig.risk-high { background: #FDEDE3; color: #B5531B; }
.gd360__riskbig.risk-critical { background: #FBE9E7; color: #A6301F; }
.gd360__riskscore { font-size: 32px; font-weight: 700; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.gd360__risklevel { font-size: 13px; font-weight: 500; }

/* ──────────────── Painéis / tabelas ──────────────── */
.gd360__panel { display: flex; flex-direction: column; gap: 14px; }
.gd360__panelhead { display: flex; justify-content: space-between; align-items: center; }

.gd360__counters { display: flex; gap: 8px; color: #5B6E9C; font-size: 12px; flex-wrap: wrap; }
.gd360__counters span {
    background: #F4F6FA; border: 1px solid #ECEFF6;
    padding: 4px 12px; border-radius: 20px; white-space: nowrap;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.gd360__subhead {
    margin: 8px 0 4px; font-size: 13px; font-weight: 600; color: #2E1956;
    padding-bottom: 6px; border-bottom: 1px solid #eee;
}

.gd360__table {
    width: 100%; border-collapse: separate; border-spacing: 0; font-size: 12px;
    border: 1px solid #e9ecef; border-radius: 10px; overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    background: #fff;
}
.gd360__section .gd360__table { border-color: #ECEFF6; box-shadow: none; }
.gd360__table th {
    text-align: left; padding: 9px 12px;
    color: #718096; font-size: 11.5px; font-weight: 600;
    background-color: #FAFBFD; border-bottom: 1px solid #E2E6F3;
    position: sticky; top: 0; z-index: 1;
}
.gd360__table td { padding: 9px 12px; border-bottom: 1px solid #F2F4F9; color: #2D3748; }
.gd360__table tr:last-child td { border-bottom: none; }
.gd360__table tr:hover td { background: #FAFBFD; }

/* ──────────────── RevoGrid (padrão u360__revogrid) ──────────────── */
.gd360__revogrid {
    width: 100%;
    position: relative;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    background: #fff;
}
.gd360__section .gd360__revogrid { border-color: #ECEFF6; box-shadow: none; }

.gd360__revogrid revo-grid { font-family: "Ubuntu", sans-serif; }

.gd360__revogrid revo-grid .revo-cell--right {
    text-align: right;
    justify-content: flex-end;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}
.gd360__revogrid revo-grid .revo-cell--center {
    text-align: center;
    justify-content: center;
}

.gd360__revogrid revo-grid .header-rgRow,
.gd360__revogrid revo-grid .rgHeaderCell {
    background-color: #FAFBFD !important;
    border-bottom: 1px solid #E2E6F3 !important;
}
.gd360__revogrid revo-grid .rgHeaderCell {
    font-size: 11.5px;
    font-weight: 600;
    color: #718096;
    text-transform: none;
    display: flex;
    align-items: center;
}
.gd360__revogrid revo-grid .rgCell {
    font-size: 12px;
    color: #2D3748;
    display: flex;
    align-items: center;
}

.gd360__tag {
    margin-left: 6px; padding: 1px 8px; border-radius: 10px; font-size: 10px; font-weight: 500;
}
.gd360__tag--ext { background: #F3EEFB; color: #6B36C9; }
.gd360__tag--off { background: #FBE9E7; color: #A6301F; }

.gd360__risktag { padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 500; }
.gd360__risktag.risk-low { background: #E7F6EC; color: #237A43; }
.gd360__risktag.risk-medium { background: #FCF3E0; color: #936300; }
.gd360__risktag.risk-high { background: #FDEDE3; color: #B5531B; }
.gd360__risktag.risk-critical { background: #FBE9E7; color: #A6301F; }

/* ──────────────── Avisos ──────────────── */
.gd360__notice {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 12px; border-radius: 8px; font-size: 12px; line-height: 1.5;
    background: #F4F7FC; border: 1px solid #E2E6F3; color: #5B6E9C;
}
.gd360__notice--warn { background: #FCF3E0; border-color: #F5E6C0; color: #936300; }
.gd360__notice svg { font-size: 16px; flex-shrink: 0; }

.gd360__impacttext { font-size: 11px; color: #8A8FA3; font-style: italic; margin-top: 2px; }

.gd360__rule {
    font-family: "Roboto Mono", monospace; font-size: 12px;
    background: #2E1956; color: #E9E2FB;
    padding: 12px; border-radius: 8px; word-break: break-word; line-height: 1.5;
}

/* ──────────────── Segurança e risco ──────────────── */
.gd360__riskheader { display: flex; gap: 18px; align-items: center; }
.gd360__gauge {
    width: 96px; height: 96px; border-radius: 50%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    border: 6px solid #ECEFF6; flex-shrink: 0;
}
.gd360__gauge.risk-low { border-color: #38A169; }
.gd360__gauge.risk-medium { border-color: #F5A623; }
.gd360__gauge.risk-high { border-color: #E07B39; }
.gd360__gauge.risk-critical { border-color: #C53030; }
.gd360__gaugescore { font-size: 28px; font-weight: 700; color: #2E1956; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.gd360__gaugemax { font-size: 11px; color: #8A8FA3; }
.gd360__risklevel-big { font-size: 16px; font-weight: 600; color: #2E1956; margin-bottom: 6px; }

.gd360__risksplit { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 18px; gap: 18px; }
@container gd360 (max-width: 900px) { .gd360__risksplit { grid-template-columns: 1fr; } }

.gd360__factor, .gd360__reco {
    display: flex; gap: 10px; align-items: flex-start;
    padding: 10px 0; border-bottom: 1px solid #F2F4F9;
}
.gd360__factor:last-child, .gd360__reco:last-child { border-bottom: none; }
.gd360__factor-main { flex: 1 1; min-width: 0; }
.gd360__factor-main strong, .gd360__reco strong { font-size: 13px; font-weight: 600; color: #2E1956; }
.gd360__factor-main p, .gd360__reco p { margin: 2px 0 0; color: #6B6F86; font-size: 12px; }
.gd360__factor-tags { display: flex; flex-direction: column; gap: 4px; align-items: flex-end; }

.gd360__sev { padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 500; white-space: nowrap; }
.gd360__sev.sev-low { background: #E7F6EC; color: #237A43; }
.gd360__sev.sev-medium { background: #FCF3E0; color: #936300; }
.gd360__sev.sev-high { background: #FDEDE3; color: #B5531B; }
.gd360__sev.sev-critical { background: #FBE9E7; color: #A6301F; }
.gd360__impact { font-size: 11px; color: #8A8FA3; }

.gd360__reco svg { font-size: 18px; color: #8C40E3; flex-shrink: 0; margin-top: 2px; }
.gd360__prio {
    padding: 1px 8px; border-radius: 8px; font-size: 9px; height: fit-content;
    text-transform: uppercase; letter-spacing: .3px; white-space: nowrap;
    background: #F1F3F8; color: #6B6F86;
}
.gd360__prio.prio-alta { background: #FDEDE3; color: #B5531B; }
.gd360__prio.prio-média { background: #FCF3E0; color: #936300; }
.gd360__prio.prio-baixa { background: #E7F6EC; color: #237A43; }
.gd360__prio.prio-crítica { background: #FBE9E7; color: #A6301F; }

/* ════════════════ Bloco de identidade (padrão u360__id2) ════════════════ */
.gd360__id2 {
    display: grid;
    grid-template-columns: auto minmax(220px, 1.1fr) minmax(280px, 1.6fr);
    align-items: center;
    grid-gap: 18px;
    gap: 18px;
    padding: 12px 4px 16px;
    border-bottom: 1px solid #ECEFF6;
}
.gd360__id2-avatar {
    position: relative;
    width: 64px; height: 64px; border-radius: 50%;
    background: linear-gradient(135deg, #8C40E3, #5A2EA6);
    color: #fff; display: flex; align-items: center; justify-content: center;
    font-size: 24px; font-weight: 600; flex-shrink: 0;
}
.gd360__statusdot {
    position: absolute; right: 2px; bottom: 2px;
    width: 14px; height: 14px; border-radius: 50%; border: 2px solid #fff;
}
.gd360__statusdot.sec { background: #8C40E3; }
.gd360__statusdot.m365 { background: #3CB371; }
.gd360__id2-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.gd360__id2-name { font-size: 19px; font-weight: 600; color: #2E1956; overflow-wrap: anywhere; }
.gd360__id2-mails { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.gd360__id2-mail {
    font-size: 12.5px; color: #5B6E9C; display: inline-flex; align-items: center; gap: 4px;
    min-width: 0; overflow-wrap: anywhere;
}
.gd360__id2-mail small { color: #9AA1B9; }
.gd360__copy {
    border: none; background: none; cursor: pointer; color: #9AA1B9; padding: 1px;
    display: inline-flex; align-items: center; border-radius: 4px;
}
.gd360__copy:hover { color: #8C40E3; background: #F3EEFB; }

/* Chips de status */
.gd360__chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.gd360__chip {
    font-size: 11px; font-weight: 500;
    padding: 3px 10px; border-radius: 12px;
    background: #fff; border: 1px solid #d8deea; color: #5B6E9C;
    display: inline-flex; align-items: center; gap: 4px;
}
.gd360__chip svg { font-size: 13px; }
.gd360__chip--ok { border-color: #38A169; color: #237A43; }
.gd360__chip--warn { border-color: #F5A623; color: #936300; }
.gd360__chip--danger { border-color: #C53030; color: #A6301F; }

/* Campos de identidade (strip) */
.gd360__idfields-wrap { display: flex; align-items: center; gap: 6px; min-width: 0; }
.gd360__idfields {
    display: flex; flex-wrap: nowrap; gap: 10px 16px; min-width: 0;
    overflow: hidden; max-height: 40px; transition: max-height 0.25s ease;
}
.gd360__idfields.expanded { flex-wrap: wrap; max-height: 200px; }
.gd360__idfield { display: flex; align-items: flex-start; gap: 8px; min-width: 0; flex-shrink: 0; }
.gd360__idfield-ic {
    width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: #F1F4F9; color: #5B6E9C;
}
.gd360__idfield-txt { display: flex; flex-direction: column; min-width: 0; }
.gd360__idfield-txt small { font-size: 10.5px; color: #718096; }
.gd360__idfield-txt b {
    font-size: 12.5px; font-weight: 600; color: #2D3748;
    min-width: 0; overflow-wrap: anywhere; word-break: break-word;
}

@container gd360 (max-width: 720px) {
    .gd360__id2 { grid-template-columns: auto 1fr; }
    .gd360__idfields-wrap { grid-column: 1 / -1; }
}

/* ════════════════ Faixa de KPIs (padrão u360__stats) ════════════════ */
.gd360__stats-wrap { display: flex; align-items: center; gap: 6px; position: relative; }
.gd360__stats {
    display: flex; flex-wrap: nowrap; gap: 6px;
    overflow: hidden; max-height: 32px; transition: max-height 0.25s ease;
}
.gd360__stats.expanded { flex-wrap: wrap; max-height: 500px; }
.gd360__stats-more {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: 4px;
    padding: 5px 10px; background: #ECEFF6; border: 1px solid #D8DCE6;
    border-radius: 20px; font-size: 11px; font-weight: 600; color: #5B6E9C;
    cursor: pointer; white-space: nowrap; transition: background 0.15s;
}
.gd360__stats-more:hover { background: #D8DCE6; }
.gd360__stat {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 12px; background: #F4F6FA; border-radius: 20px;
    font-size: 12px; white-space: nowrap; border: 1px solid #ECEFF6;
}
.gd360__stat--warn { background: #FFF8E6; border-color: #F5E6C0; }
.gd360__stat--danger { background: #FFF0ED; border-color: #F5D0C8; }
.gd360__stat--ok { background: #EFFAF3; border-color: #C3E8D0; }
.gd360__stat-ic { display: flex; align-items: center; color: #5B6E9C; flex-shrink: 0; }
.gd360__stat--warn .gd360__stat-ic { color: #936300; }
.gd360__stat--danger .gd360__stat-ic { color: #A6301F; }
.gd360__stat--ok .gd360__stat-ic { color: #237A43; }
.gd360__stat-val { font-weight: 700; color: #2E1956; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.gd360__stat-lbl { color: #6B6F86; }

/* ════════════════ Seções (padrão u360__section) ════════════════ */
.gd360__main { display: flex; flex-direction: column; gap: 12px; }

.gd360__section {
    min-height: 100%;
    display: flex; flex-direction: column; gap: 8px;
    background: #fff; border: 1px solid #ECEFF6; border-radius: 10px;
    padding: 14px 16px;
}
.gd360__section-title {
    font-size: 13px; font-weight: 600; color: #2E1956;
    display: flex; align-items: center; gap: 6px;
    margin: 0 0 4px; padding-bottom: 6px; border-bottom: 1px solid #eee;
}
.gd360__section-title .count { font-size: 11px; color: #6B6F86; font-weight: 400; }

.gd360__summary-row {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    grid-gap: 12px;
    gap: 12px; align-items: start;
}
.gd360__summary-row > .gd360__section { min-width: 0; }

/* Definition list (Resumo) */
.gd360__defgrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    grid-gap: 8px;
    gap: 8px; min-width: 0;
}
.gd360__defsection {
    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;
}
.gd360__defsection-title {
    font-size: 13px; font-weight: 600; color: #2E1956;
    margin: 0 0 8px 0; padding-bottom: 6px; border-bottom: 1px solid #eee;
}
.gd360__deflist {
    display: grid; grid-template-columns: minmax(110px, max-content) 1fr;
    grid-gap: 4px 12px;
    gap: 4px 12px; margin: 0; font-size: 12px; line-height: 1.4;
}
.gd360__deflist-dt {
    color: #718096; font-weight: 500; padding: 4px 0;
    border-bottom: 1px solid #F1F3F5; white-space: nowrap;
}
.gd360__deflist-dd {
    margin: 0; color: #2D3748; padding: 4px 0; border-bottom: 1px solid #F1F3F5;
    min-width: 0; overflow-wrap: anywhere; word-break: break-word;
}
.gd360__deflist-dd.ok { color: #237A43; font-weight: 600; }
.gd360__deflist-dd.off { color: #8A8FA3; }
.gd360__deflist > :nth-last-child(-n+2) { border-bottom: none; }

/* Risco resumido (padrão u360__riskbadge / risklist) */
.gd360__riskbadge {
    font-size: 12px; padding: 4px 10px; border-radius: 8px; margin-bottom: 8px;
    background: #F1F3F8; color: #6B6F86; text-transform: capitalize;
}
.gd360__riskbadge--baixo { background: #E7F6EC; color: #237A43; }
.gd360__riskbadge--médio { background: #FCF3E0; color: #936300; }
.gd360__riskbadge--alto { background: #FDEDE3; color: #B5531B; }
.gd360__riskbadge--crítico { background: #FBE9E7; color: #A6301F; }
.gd360__risklist { list-style: none; margin: 0; padding: 0; }
.gd360__risklist li {
    display: flex; align-items: center; justify-content: space-between;
    font-size: 12px; padding: 4px 0; border-bottom: 1px solid #F2F4F9;
}
.gd360__risklist li:last-child { border-bottom: none; }
.gd360__risklist .num { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.gd360__ok { color: #237A43; }
.gd360__warn { color: #936300; }
.gd360__danger { color: #A6301F; }

/* SaaSGroup List - RevoGrid + KPI cards + pills */

/* ── SideModal: form body + footer ─────────────────────────────────────── */
.sg-form-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px 0 16px;
}

.sg-form-unsupported {
    font-size: 0.75rem;
    color: #d18700;
    color: var(--color-status-warning, #d18700);
    padding: 4px 0;
}

.sg-modal-footer {
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 0 4px;
    background: #fff;
    background: var(--color-neutral-white, #fff);
    border-top: 1px solid #E2E6F3;
    border-top: 1px solid var(--color-neutral-light, #E2E6F3);
    margin-top: 12px;
}

/* ── Wrapper do grid ───────────────────────────────────────────────────── */
.saasgroup-grid-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    font-family: "Ubuntu", sans-serif;
}

.sg-grid-loadmore {
    position: absolute;
    left: 50%;
    bottom: 8px;
    transform: translateX(-50%);
    background: #fff;
    background: var(--color-neutral-white, #fff);
    border: 1px solid #E2E6F3;
    border: 1px solid var(--color-neutral-light, #E2E6F3);
    border-radius: 12px;
    padding: 4px 12px;
    font-size: 0.7rem;
    color: #6B7280;
    color: var(--color-neutral-dark, #6B7280);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    z-index: 5;
    pointer-events: none;
}

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

.saasgroup-grid-wrapper revo-grid .rgRow {
    cursor: pointer;
    border-bottom: 1px solid #F1F3F8;
}

.saasgroup-grid-wrapper revo-grid .rgRow:hover {
    background-color: #FAFBFD;
    background-color: var(--background-lightest, #FAFBFD);
}

/* Header */
.saasgroup-grid-wrapper revo-grid .header-rgRow,
.saasgroup-grid-wrapper revo-grid .rgHeaderCell {
    background-color: #fff !important;
    background-color: var(--background-white, #fff) !important;
    border-bottom: solid 1px #E2E6F3 !important;
    border-bottom: solid 1px var(--line-default, #E2E6F3) !important;
    min-height: 28px;
}

.saasgroup-grid-wrapper revo-grid .rgHeaderCell {
    font-family: "Ubuntu", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1px;
    color: #6B6F7D;
    color: var(--text-dark, #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;
}

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

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

.saasgroup-grid-wrapper revo-grid .rgHeaderCell:hover {
    color: #2E1956;
    color: var(--text-default, #2E1956);
    background-color: #FAFBFD !important;
    background-color: var(--background-lightest, #FAFBFD) !important;
}

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

.saasgroup-grid-wrapper revo-grid .rgHeaderCell.sort-asc,
.saasgroup-grid-wrapper revo-grid .rgHeaderCell.sort-desc {
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.saasgroup-grid-wrapper revo-grid .rgHeaderCell .sort-icon,
.saasgroup-grid-wrapper revo-grid .rgHeaderCell.sort-asc::after,
.saasgroup-grid-wrapper revo-grid .rgHeaderCell.sort-desc::after {
    color: #471FCC;
    color: var(--color-primary-blue, #471FCC);
    font-size: 0.65rem;
}

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

/* Alinhamentos utilitarios */
.saasgroup-grid-wrapper revo-grid .revo-cell--right {
    text-align: right;
    justify-content: flex-end;
}

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

/* ── Pills de tipo ─────────────────────────────────────────────────────── */
.sg-pill {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 12px;
    font-family: "Ubuntu", sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    white-space: nowrap;
}

.sg-pill--office365 {
    background: #E8F0FE;
    color: #1A73E8;
}

.sg-pill--security {
    background: #F3E8FF;
    color: #6B21A8;
}

.sg-pill--mail {
    background: #FCE7F3;
    color: #BE185D;
}

.sg-pill--distribution {
    background: #DCFCE7;
    color: #166534;
}

.sg-pill--default {
    background: #E2E6F3;
    background: var(--background-light, #E2E6F3);
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
}

/* ── Acoes inline ──────────────────────────────────────────────────────── */
.sg-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
    width: 100%;
}

.sg-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    color: #2E1956;
    color: var(--icon-default, #2E1956);
    cursor: pointer;
    background: transparent;
    border: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.sg-action-btn:hover {
    background: #E2E6F3;
    background: var(--background-light, #E2E6F3);
    color: #471FCC;
    color: var(--color-primary-blue, #471FCC);
}

.sg-action-btn:disabled,
.sg-action-btn[aria-disabled="true"] {
    color: #EBEBEB;
    color: var(--icon-disabled, #EBEBEB);
    cursor: not-allowed;
}

.sg-action-btn:disabled:hover,
.sg-action-btn[aria-disabled="true"]:hover {
    background: transparent;
    color: #EBEBEB;
    color: var(--icon-disabled, #EBEBEB);
}

/* Menu 3-pontos */
.sg-menu-wrapper {
    position: relative;
    display: inline-block;
}

.sg-menu {
    position: absolute;
    top: 28px;
    right: 0;
    min-width: 140px;
    background: #fff;
    background: var(--background-white, #fff);
    border: 1px solid #E2E6F3;
    border: 1px solid var(--line-default, #E2E6F3);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(46, 25, 86, 0.12);
    padding: 4px 0;
    z-index: 50;
}

.sg-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    font-family: "Ubuntu", sans-serif;
    font-size: 12px;
    color: #2E1956;
    color: var(--text-default, #2E1956);
    cursor: pointer;
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
}

.sg-menu-item:hover {
    background: #FAFBFD;
    background: var(--background-lightest, #FAFBFD);
}

.sg-menu-item[disabled],
.sg-menu-item[aria-disabled="true"] {
    color: #8B90A3;
    color: var(--text-light, #8B90A3);
    cursor: not-allowed;
}

.sg-menu-item[disabled]:hover,
.sg-menu-item[aria-disabled="true"]:hover {
    background: transparent;
}

.sg-menu-item--danger {
    color: #DC291E;
    color: var(--status-red, #DC291E);
}

.sg-menu-item--danger:hover {
    background: #FEE2E2;
}

/* ── KPI cards: barra de progresso e descricao ────────────────────────── */
.sg-kpi-progress {
    width: 100%;
    height: 4px;
    background: #E2E6F3;
    background: var(--background-light, #E2E6F3);
    border-radius: 2px;
    overflow: hidden;
    margin-top: 6px;
}

.sg-kpi-progress-fill {
    height: 100%;
    border-radius: 2px;
    transition: width 0.3s ease;
}

.sg-kpi-percent {
    font-family: "Ubuntu", sans-serif;
    font-size: 11px;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    margin-top: 2px;
}

.sg-kpi-lastsync {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-family: "Ubuntu", sans-serif;
    color: #2E1956;
    color: var(--text-default, #2E1956);
}

.sg-kpi-lastsync-main {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
}

.sg-kpi-lastsync-detail {
    font-size: 11px;
    color: #6B6F7D;
    color: var(--text-dark, #6B6F7D);
    margin-top: 4px;
}

.sg-kpi-lastsync-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
    font-size: 11px;
    color: #3EBB3F;
    color: var(--status-green, #3EBB3F);
    font-weight: 500;
}

/* ── Status badge (pill) ───────────────────────────────────────────────── */
.sg-status {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 500;
    font-family: "Ubuntu", sans-serif;
    line-height: 1.4;
}

.sg-status--active {
    background: #ECFBF3;
    color: #1F9E6E;
}

.sg-status--licensed {
    background: #FFF4EC;
    color: #C76317;
}

.sg-status--onpremise {
    background: #EEF0F5;
    color: #5A6F8F;
}

/* ── Status-colored left border per row ────────────────────────────────── */
.saasgroup-grid-wrapper revo-grid .rgRow.sg-row--licensed {
    box-shadow: inset 3px 0 0 0 #C76317;
    background: #FFFBF6;
}

.saasgroup-grid-wrapper revo-grid .rgRow.sg-row--onpremise {
    box-shadow: inset 3px 0 0 0 #B0B6C6;
    background: #FAFBFD;
}


