/* Padrão visual dos dashboards baseado em Dispositivos / Gerenciados. */
:is(.noc-page,.executive-main,.rmm-tech-main,.devices-dashboard) {
    --sga-dash-panel: #202124;
    --sga-dash-panel-2: #292a2d;
    --sga-dash-line: rgba(148,163,184,.16);
    --sga-dash-muted: #aeb5be;
    --sga-dash-orange: #f97316;
}

:is(.noc-page>.noc-hero,.executive-main .exec-hero,.rmm-tech-main .rmm-tech-hero,.devices-dashboard .dd-hero) {
    min-height: 146px !important;
    margin-bottom: 16px !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(249,115,22,.24) !important;
    border-radius: 20px !important;
    background: radial-gradient(circle at 10% 0,rgba(249,115,22,.16),transparent 34%),linear-gradient(135deg,#302722,#202124 48%,#151619) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.22) !important;
}

:is(.noc-page .noc-hero h1,.executive-main>.topbar .title h1,.rmm-tech-main .rmm-tech-hero h1,.devices-dashboard .dd-hero h1) {
    margin-top: 0 !important;
    margin-bottom: 7px !important;
    color: #fff !important;
    font-size: 28px !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
}

:is(.noc-page .panel-head h2,.executive-main .section-title,.rmm-tech-main .rmm-tech-section-head h2,.rmm-tech-main .rmm-panel-title h2,.devices-dashboard .dd-section-head h2,.devices-dashboard .dd-panel-title h2) {
    margin-top: 0 !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
}

:is(.noc-page .noc-kpi,.executive-main .exec-stat-card,.rmm-tech-main .rmm-tech-stat-card,.devices-dashboard .dd-kpi,.devices-dashboard .dd-mini-card) {
    min-height: 104px !important;
    height: 104px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--sga-dash-line) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg,var(--sga-dash-panel-2),var(--sga-dash-panel)) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.20) !important;
    box-sizing: border-box !important;
}

/* O NOC possuía conteúdo vertical. Converte o card inteiro para a mesma
   composição horizontal usada nos indicadores de Dispositivos Gerenciados. */
.noc-page .noc-kpi {
    display: grid !important;
    grid-template-columns: 44px minmax(0,1fr) !important;
    grid-template-rows: 16px 30px 16px !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
    align-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
}
.noc-page .noc-kpi .kpi-icon {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    position: static !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
}
.noc-page .noc-kpi small {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
.noc-page .noc-kpi strong {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
    margin: 0 !important;
}
.noc-page .noc-kpi em {
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
.noc-page .noc-kpi::before {
    width: 84px !important;
    height: 84px !important;
    right: -28px !important;
    bottom: -34px !important;
}

:is(.executive-main .exec-card-icon,.rmm-tech-main .rmm-tech-stat-icon,.devices-dashboard .dd-kpi .dd-card-icon,.devices-dashboard .dd-mini-card .dd-card-icon) {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 14px !important;
}

:is(.noc-page .noc-kpi strong,.executive-main .exec-stat-card .num,.rmm-tech-main .rmm-tech-stat-card strong,.devices-dashboard .dd-kpi strong,.devices-dashboard .dd-mini-card strong) {
    font-size: 28px !important;
    line-height: 1 !important;
}

.executive-main .exec-stat-card .num,
.rmm-tech-main .rmm-tech-stat-card strong,
.devices-dashboard .dd-kpi strong,
.devices-dashboard .dd-mini-card strong {
    margin: 0 0 4px !important;
}
.executive-main .exec-stat-card .label,
.executive-main .exec-stat-card .sub,
.rmm-tech-main .rmm-tech-stat-card span,
.rmm-tech-main .rmm-tech-stat-card small,
.devices-dashboard .dd-kpi span,
.devices-dashboard .dd-kpi small,
.devices-dashboard .dd-mini-card span,
.devices-dashboard .dd-mini-card small {
    display: block !important;
    margin: 0 !important;
}
.executive-main .exec-stat-card .sub,
.rmm-tech-main .rmm-tech-stat-card small,
.devices-dashboard .dd-kpi small,
.devices-dashboard .dd-mini-card small {
    margin-top: 3px !important;
}

:is(.executive-main .exec-stat-card,.rmm-tech-main .rmm-tech-stat-card,.devices-dashboard .dd-kpi,.devices-dashboard .dd-mini-card) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    overflow: hidden !important;
}

:is(.noc-page .noc-kpi small,.noc-page .noc-kpi em,.executive-main .exec-stat-card .label,.executive-main .exec-stat-card .sub,.rmm-tech-main .rmm-tech-stat-card span,.rmm-tech-main .rmm-tech-stat-card small,.devices-dashboard .dd-kpi span,.devices-dashboard .dd-kpi small,.devices-dashboard .dd-mini-card span,.devices-dashboard .dd-mini-card small) {
    font-size: 11px !important;
    line-height: 1.25 !important;
}

:is(.noc-page .noc-panel,.executive-main .exec-card,.rmm-tech-main .rmm-tech-panel,.devices-dashboard .dd-panel,.devices-dashboard .dd-health-card) {
    border: 1px solid var(--sga-dash-line) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg,var(--sga-dash-panel-2),var(--sga-dash-panel)) !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.20) !important;
}

@media (max-width: 900px) {
    :is(.noc-page>.noc-hero,.executive-main .exec-hero,.rmm-tech-main .rmm-tech-hero,.devices-dashboard .dd-hero) {
        min-height: 0 !important;
        padding: 16px !important;
    }
    :is(.noc-page .noc-kpi,.executive-main .exec-stat-card,.rmm-tech-main .rmm-tech-stat-card,.devices-dashboard .dd-kpi,.devices-dashboard .dd-mini-card) {
        height: auto !important;
        min-height: 96px !important;
    }
}

/* Ajustes individuais: a estrutura funcional de cada dashboard é preservada. */

/* NOC: título compacto e dois cards laterais alinhados, sem mover indicadores. */
.noc-page>.noc-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 210px 210px !important;
    align-items: stretch !important;
    gap: 14px !important;
    min-height: 0 !important;
}
.noc-page .noc-hero h1 {
    font-size: 25px !important;
    margin: 0 0 6px !important;
    clear: both !important;
}
.noc-page .noc-kicker {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    margin: 0 0 12px !important;
    line-height: 1 !important;
    vertical-align: top !important;
}
.noc-page .noc-hero-left {
    align-self: center !important;
}
.noc-page .noc-hero-pills { display: none !important; }
.noc-page>.noc-hero { padding: 14px 18px !important; }
.noc-page .noc-score,
.noc-page .noc-updated {
    min-width: 0 !important;
    min-height: 120px !important;
    height: 120px !important;
    align-self: center !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    background: #151619 !important;
    border: 1px solid rgba(148,163,184,.16) !important;
    box-sizing: border-box !important;
}
.noc-page .noc-score {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
}
.noc-page .noc-updated {
    display: grid !important;
    grid-template-rows: auto auto auto 34px !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 5px !important;
}
.noc-page .noc-updated b,
.noc-page .noc-updated > span,
.noc-page .noc-updated small,
.noc-page .noc-updated .noc-tv-btn {
    position: static !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
.noc-page .noc-score strong { font-size: 38px !important; line-height: 1 !important; }
.noc-page .noc-score small,
.noc-page .noc-score span,
.noc-page .noc-updated b,
.noc-page .noc-updated small { font-size: 11px !important; }
.noc-page .noc-updated>span { font-size: 16px !important; white-space: nowrap !important; }
.noc-page .noc-tv-btn { min-height: 34px !important; padding: 0 14px !important; }

/* Executivo: cabeçalho e gestão executiva formam um único bloco. */
.executive-main .exec-unified-hero {
    margin-bottom: 16px !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(249,115,22,.24) !important;
    border-radius: 20px !important;
    background: radial-gradient(circle at 10% 0,rgba(249,115,22,.16),transparent 34%),linear-gradient(135deg,#302722,#202124 48%,#151619) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.22) !important;
}
.executive-main .exec-unified-hero .exec-topbar,
.executive-main .exec-unified-hero .exec-hero {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.executive-main .exec-unified-hero .exec-topbar {
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(148,163,184,.14) !important;
}
.executive-main .exec-unified-hero .exec-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 134px 134px !important;
    gap: 12px !important;
    padding-top: 14px !important;
}
.executive-main .exec-score {
    min-width: 0 !important;
    min-height: 74px !important;
    padding: 11px 14px !important;
    border-radius: 14px !important;
    background: #151619 !important;
}
.executive-main .exec-score strong { font-size: 24px !important; }

/* Técnico: título no mesmo bloco grafite/laranja do padrão SGA. */
.rmm-tech-main .rmm-tech-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 260px !important;
    align-items: stretch !important;
    gap: 14px !important;
    min-height: 0 !important;
}
.rmm-tech-main .rmm-tech-brand {
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.rmm-tech-main .rmm-tech-brand-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 14px !important;
}
.rmm-tech-main .rmm-tech-brand-icon { display: none !important; }
.rmm-tech-main .rmm-tech-brand::after { display: none !important; content: none !important; }
.rmm-tech-main .rmm-tech-brand { padding-left: 18px !important; }
.rmm-tech-main .rmm-tech-update-card {
    min-width: 0 !important;
    padding: 14px 16px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid rgba(249,115,22,.32) !important;
    box-shadow: none !important;
}
.rmm-tech-main .rmm-tech-health-card,
.rmm-tech-main .rmm-tech-mini-card {
    background: linear-gradient(180deg,#292a2d,#202124) !important;
    border: 1px solid rgba(148,163,184,.16) !important;
    border-radius: 16px !important;
}

/* Dispositivos: título padrão, atualização compacta e indicadores abaixo. */
.devices-dashboard .dd-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 260px !important;
    align-items: stretch !important;
    gap: 14px !important;
    min-height: 0 !important;
    border-left-width: 1px !important;
}
.devices-dashboard .dd-hero-main { gap: 14px !important; }
.devices-dashboard .dd-hero-icon { display: none !important; }
.devices-dashboard .dd-hero-main { position: relative !important; padding-left: 18px !important; }
.devices-dashboard .dd-hero-main::before {
    content: "" !important;position:absolute !important;left:0 !important;top:0 !important;bottom:0 !important;width:4px !important;border-radius:4px !important;background:#f97316 !important;
}
.devices-dashboard .dd-hero-pills { display: none !important; }
.devices-dashboard .dd-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    margin: 0 0 10px !important;
    line-height: 1 !important;
    vertical-align: top !important;
}
.devices-dashboard .dd-hero h1 { margin: 0 0 6px !important; clear: both !important; }
.devices-dashboard .dd-hero-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 14px !important;
}
.devices-dashboard .dd-hero-update {
    min-width: 0 !important;
    padding: 14px 16px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid rgba(249,115,22,.32) !important;
    box-shadow: none !important;
}
.devices-dashboard .dd-health-row { margin-top: 0 !important; }

.rmm-tech-main .rmm-tech-health-grid,
.devices-dashboard .dd-health-row { align-items: stretch !important; }
.rmm-tech-main .rmm-tech-health-card,
.devices-dashboard .dd-health-card {
    min-height: 104px !important;height:104px !important;padding:12px 16px !important;gap:14px !important;overflow:hidden !important;box-sizing:border-box !important;
}
.rmm-tech-main .rmm-health-ring,
.devices-dashboard .dd-ring {position:relative !important;display:block !important;width:76px !important;height:76px !important;min-width:76px !important;flex:0 0 76px !important}
.rmm-tech-main .rmm-health-ring::after,
.devices-dashboard .dd-ring::after {inset:8px !important}
.rmm-tech-main .rmm-health-ring strong,
.devices-dashboard .dd-ring strong {position:absolute !important;z-index:2 !important;top:22px !important;left:0 !important;right:0 !important;margin:0 !important;font-size:18px !important;line-height:1 !important;text-align:center !important;white-space:nowrap !important}
.rmm-tech-main .rmm-health-ring span,
.devices-dashboard .dd-ring span {position:absolute !important;z-index:2 !important;top:45px !important;left:0 !important;right:0 !important;margin:0 !important;font-size:8px !important;line-height:1 !important;text-align:center !important;white-space:nowrap !important}
.rmm-tech-main .rmm-tech-health-text span,
.devices-dashboard .dd-health-card>div:last-child span {font-size:10px !important}
.rmm-tech-main .rmm-tech-health-text h2,
.devices-dashboard .dd-health-card>div:last-child strong {margin:4px 0 !important;font-size:20px !important;line-height:1.1 !important}
.rmm-tech-main .rmm-tech-health-text p,
.devices-dashboard .dd-health-card>div:last-child small {margin:0 !important;font-size:10px !important;line-height:1.2 !important}

/* Componente único para todos os cards de indicadores dos dashboards. */
:is(
    .noc-page .noc-kpi,
    .executive-main .exec-stat-card,
    .rmm-tech-main .rmm-tech-stat-card,
    .rmm-tech-main .rmm-tech-mini-card,
    .devices-dashboard .dd-kpi,
    .devices-dashboard .dd-mini-card
) {
    position: relative !important;
    min-height: 104px !important;
    height: 104px !important;
    padding: 14px 16px !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg,#292a2d,#202124) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.18) !important;
    box-sizing: border-box !important;
}
:is(
    .executive-main .exec-stat-card,
    .rmm-tech-main .rmm-tech-stat-card,
    .rmm-tech-main .rmm-tech-mini-card,
    .devices-dashboard .dd-kpi,
    .devices-dashboard .dd-mini-card
)::after {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    width: 92px !important;
    height: 92px !important;
    right: -30px !important;
    top: -34px !important;
    bottom: auto !important;
    border-radius: 999px !important;
    background: rgba(249,115,22,.18) !important;
    pointer-events: none !important;
}
:is(
    .executive-main .exec-stat-card,
    .rmm-tech-main .rmm-tech-stat-card,
    .rmm-tech-main .rmm-tech-mini-card,
    .devices-dashboard .dd-kpi,
    .devices-dashboard .dd-mini-card
) > * {
    position: relative !important;
    z-index: 1 !important;
}
:is(
    .executive-main .exec-card-icon,
    .rmm-tech-main .rmm-tech-stat-icon,
    .rmm-tech-main .rmm-tech-mini-icon,
    .devices-dashboard .dd-kpi .dd-card-icon,
    .devices-dashboard .dd-mini-card .dd-card-icon
) {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin: 0 !important;
    border-radius: 14px !important;
}
:is(
    .executive-main .exec-stat-card .num,
    .rmm-tech-main .rmm-tech-stat-card strong,
    .rmm-tech-main .rmm-tech-mini-card strong,
    .devices-dashboard .dd-kpi strong,
    .devices-dashboard .dd-mini-card strong
) {
    margin: 2px 0 3px !important;
    font-size: 27px !important;
    line-height: 1 !important;
}
:is(
    .executive-main .exec-stat-card .label,
    .rmm-tech-main .rmm-tech-stat-card span,
    .rmm-tech-main .rmm-tech-mini-card span,
    .devices-dashboard .dd-kpi span,
    .devices-dashboard .dd-mini-card span
) {
    margin: 0 !important;
    color: #b7bec9 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
}
:is(
    .executive-main .exec-stat-card .sub,
    .rmm-tech-main .rmm-tech-stat-card small,
    .rmm-tech-main .rmm-tech-mini-card small,
    .devices-dashboard .dd-kpi small,
    .devices-dashboard .dd-mini-card small
) {
    margin: 0 !important;
    color: #aeb5be !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
}

/* Tonalidade do detalhe decorativo acompanha o estado operacional. */
.executive-main .exec-stat-card.greenish::after,
.rmm-tech-main :is(.rmm-tech-stat-card.success,.rmm-tech-mini-card.success)::after,
.devices-dashboard :is(.dd-success)::after { background: rgba(34,197,94,.20) !important; }
.executive-main .exec-stat-card.critical::after,
.rmm-tech-main :is(.rmm-tech-stat-card.danger,.rmm-tech-mini-card.offline,.rmm-tech-mini-card.critical)::after,
.devices-dashboard :is(.dd-danger)::after { background: rgba(239,68,68,.20) !important; }
.rmm-tech-main :is(.rmm-tech-stat-card.warning,.rmm-tech-mini-card.warning)::after,
.devices-dashboard :is(.dd-warning)::after { background: rgba(234,179,8,.20) !important; }
.rmm-tech-main .rmm-tech-stat-card.neutral::after { background: rgba(139,92,246,.20) !important; }

.executive-main .exec-stat-card.orangeish,.rmm-tech-main :is(.rmm-tech-stat-card.info,.rmm-tech-mini-card.info),.devices-dashboard .dd-orange{border-color:rgba(249,115,22,.56)!important}
.executive-main .exec-stat-card.greenish,.rmm-tech-main :is(.rmm-tech-stat-card.success,.rmm-tech-mini-card.success),.devices-dashboard .dd-success{border-color:rgba(34,197,94,.50)!important}
.executive-main .exec-stat-card.critical,.rmm-tech-main :is(.rmm-tech-stat-card.danger,.rmm-tech-mini-card.offline,.rmm-tech-mini-card.critical),.devices-dashboard .dd-danger{border-color:rgba(239,68,68,.52)!important}
.rmm-tech-main :is(.rmm-tech-stat-card.warning,.rmm-tech-mini-card.warning),.devices-dashboard .dd-warning{border-color:rgba(234,179,8,.52)!important}
.rmm-tech-main .rmm-tech-stat-card.neutral{border-color:rgba(139,92,246,.48)!important}

@media (max-width: 1100px) {
    .noc-page>.noc-hero,
    .rmm-tech-main .rmm-tech-hero,
    .devices-dashboard .dd-hero { grid-template-columns: 1fr !important; }
    .executive-main .exec-unified-hero .exec-hero { grid-template-columns: 1fr 134px 134px !important; }
}
@media (max-width: 700px) {
    .executive-main .exec-unified-hero .exec-hero { grid-template-columns: 1fr !important; }
}
