.bloco {
	width: 800px;
	margin-right: auto;
	margin-left: auto;
}

.circulo {
	width: 15px;
	height: 15px;
	border-radius: 10px;
	box-shadow: 0 0 4px black;

}

.marcada {
	background-color: #ce7d7d66 !important;
}

.crud {
	font-family: arial, helvetica, sans-serif;
	font-size: 11px;
	width: 70%;
	position: relative;
}

.grid {
	font-family: arial, helvetica, sans-serif;
	font-size: 10px;
	width: 100%;
	position: sticky;
	height: auto;
}

.cad {
	font-family: arial, helvetica, sans-serif;
	font-size: 11px;
}

.form-control {
	font-size: 10px;
	height: 24px;
	font-family: Arial, Helvetica, sans-serif;
	vertical-align: middle;
	margin-top: 1px;
	margin-bottom: 1px;
}

.container-xl {
	height: auto;
	min-height: 100vh;

}

.table {
	font-size: 9px;
	height: 10px;

}

.table-auto {
	max-height: 900px;
	overflow-x: auto;
	overflow-y: auto;
	/*scrollbar-x-position: top;
	scrollbar-y-position: top;*/
}

.table-sm {
	font-size: 10px;
}

.btn {
	font-size: 10px;
}

.center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

#imgpos1 {
	float: right;
}

#imgpos2 {
	float: left;
}

.sm {
	font-size: 10px;
}

.folha {
	background-color: #ccc;
	padding: 0.5em;
}

.a4_vertical {
	width: 793px;
	height: 1100px;
	font-family: arial, helvetica, sans-serif;
	font-size: 11px;
}

.a4_horizontal {
	width: 1122px;
	height: 793px;
}

@media print {
	html, body {
		margin: 0;
		padding: 0;
		border: 0;
	}

	#printable {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 14px;
	}

	#printable~* {
		display: none;
	}
}

.img_logo_rfa {
	max-width: 100%;
	width: 102px;
	height: 60px;
	object-fit: contain;
}

.img_logo_sgi {

	width: 102px;
	height: 60px;

}

#ladoalado {
	display: flex;
	justify-content: space-between;
}

.negativo {
	color: #FF6347;
	font-style: bold;
	font-size: 10px;
}

.positivo {
	color: indigo;
	font-style: bold;
	font-size: 10px;
}

.saldo {
	font-style: bold;
	font-size: 10px;
}

/* classe para cabecalho */
.cabeca {
	border: 1px solid;
	border-color: #000099;
}

/* classe para títulos da página   */
.titulo {
	border: 1px solid;
	border-color: #000099;
	background-color: #ECF5FF;
	color: #0073b7;
	font-family: 'open_sanssemibold', sans-serif;
	font-size: 15px;
	text-transform: uppercase;
	margin-top: 10px;
	text-align: center;
	height: 21px;
	border-radius: 10px;

}

.subtitulo {
	border: 1px solid;
	border-color: #000099;
	background-color: #ECF5FF;
	color: #0073b7;
	font-family: 'open_sanssemibold', sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	margin-top: 10px;
	text-align: center;
	height: 20px;
	border-radius: 10px;

}

.subtitulo2 {
	border: 1px solid;
	border-color: #000099;
	background-color: #ECF5FF;
	color: #0073b7;
	font-family: 'open_sanssemibold', sans-serif;
	font-size: 9px;
	text-transform: uppercase;
	margin-top: 10px;
	text-align: center;
	height: 12px;
	border-radius: 10px;

}

/* classe para tabela igual a ssw   */
a.srtit2 {
	padding: 0px 0px 0px 0px;
	/*border-right: 0px solid #CCC;*/
	position: relative;
	text-decoration: none;
	vertical-align: middle;
}

a.srtit2:active, a.srtit2:hover, a.srtit2:focus {
	color: yellow
}

/* titulo da tabela  esquerda*/
.srtit2 {
	padding: 0px 5px 0px 5px;
	font-size: 10px;
	font-family: Verdana, Arial, sans-serif;
	color: #FFF;
	border-right: 1px solid #CCC;
	font-weight: bold;
	border-bottom: 0px solid #0073b7;
	vertical-align: middle;
	white-space: nowrap;
	overflow: hidden;
	background: #0073b7;
}

.srdiv {
	position: relative;
	overflow: visible;
	text-align: left;
}

/* linhas da tabel */
.srtr2 {
	font-size: 10px;
	font-family: Verdana, Arial, sans-serif;
	color: #000;
	cursor: default;
	height: 19;
	vertical-align: middle;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.srdvl {
	text-align: left;
	position: relative;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.srtd2 {
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	padding: 0px 5px 0px 5px;
	white-space: nowrap;
	overflow: visible;
}

/* AUDITORIA */
/*edinho 26/06/2023 */
td div, td div img {
	vertical-align: text-top;
	display: inline-block;
	background: yellow;
}

div.thumb {
	position: relative;
	z-index: 0;
	margin: -0.2em;
}

div.thumb img {
	/*width: 100px;*/
	width: 100px;
	/*height: 100px;*/
	height: 100px;
	object-fit: cover;
	cursor: pointer;
}

tr:hover div.thumb {
	z-index: 9999;
	background: black;
}

/* Estilo para a imagem ampliada */
td:hover div.thumb img {
	width: 800px;
	height: 1024px;
	transform: rotate(270deg);
	display: block;
	position: absolute;
	object-fit: contain;
	top: 50%;
	left: 50%;
	margin: 0;
	box-shadow: 0px 0px 16px 1px #000000;
	background: black;
	z-index: 10000;
	overflow: auto;
}

/* Destaque a linha da tabela ao passar o mouse */
table tr:hover {
	background-color: yellow;
}

.green-text {
	color: green;
}

.red-text {
	color: red;
}

.black-text {
	color: black;
}

/* FINAL AUDITORIA */

/* tabela positivo */
.srtr2positivo {
	font-size: 10px;
	font-family: Verdana, Arial, sans-serif;
	color: #090082;
	cursor: default;
	height: 19;
	vertical-align: middle;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 4cm;
}

/* tabela negativo */
.srtr2negativo {
	font-size: 10px;
	font-family: Verdana, Arial, sans-serif;
	color: red;
	cursor: default;
	height: 19;
	vertical-align: middle;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 4cm;
}

/* tr da table zebradas */
tr:nth-child(even) {
	background-color: lightblue;
}

tr:nth-child(odd) {
	background-color: #FFF;
}

.red {
	color: red;
}

.red_bold {
	color: red;
	font-weight: bold;
}

/* buttoes padrão icones */
.btn2 {
	background-color: DodgerBlue;
	/* Blue background */
	border: none;
	/* Remove borders */
	color: white;
	/* White text */
	padding: 10px 20px;
	/* Some padding */
	font-size: 10px;
	/* Set a font size */
	cursor: pointer;
	/* Mouse pointer on hover */
}

.btn2:hover {
	background-color: royalblue;
}

/* div para mensagens */
.divmsg {
	background-color: #D4EDDA;
	height: 13px;
	font-size: 9px;
	color: red;
	border-radius: 10px;
	font-family: Arial, Helvetica, sans-serif;
}

/* Rodape */
#footer {
	clear: both;
	padding: 10px;
	background-color: #999999;
	color: white;
	text-align: right;
	font-size: 11px;
	font-style: italic;
	font-style: bold;
	margin-top: 350px;

}

/* flexibiliza o site */
.wrapper {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

.wrapper main {
	flex: 1;
}

html {
	height: auto;
}

/* tela de login */
.card-container.card {
	width: 350px;
	padding: 40px 40px;
}

/*
* Card component
*/
.card {
	background-color: #F7F7F7;
	/* just in case there no content*/
	padding: 20px 25px 30px;
	margin: 0 auto 25px;
	margin-top: 50px;
	/* shadows and rounded borders */
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
	-moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
}

.profile-img-card {
	width: 96px;
	height: 96px;
	margin: 0 auto 10px;
	display: block;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.profile-name-card {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin: 10px 0 0;
	min-height: 1em;
}

.reauth-email {
	display: block;
	color: #404040;
	line-height: 2;
	margin-bottom: 10px;
	font-size: 14px;
	text-align: center;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.forgot-password {
	color: rgb(104, 145, 162);
}

.forgot-password:hover,
.forgot-password:active,
.forgot-password:focus {
	color: rgb(12, 97, 33);
}

/* classe para Labels dos campos de formularios */

.labelForm {
	margin-top: 10px;
	background: #f5f5f5;
	width: 100%;
	height: 15px;
	padding: 3px 3px 10px 10px;
	font-weight: 600;
	border-radius: 10px;
	vertical-align: middle;
}

label {
	margin-top: 10px;
	background: #f5f5f5;
	width: 100%;
	font-size: 10px;
	height: 15px;
	/*padding:3px 3px 10px 10px*/
	;
	font-weight: 600;
	border-radius: 10px;
	vertical-align: middle;

}

/* MARCAR COMO CLICADO */
a:visited {
	background: red;
}

.first {
	margin: 155px auto
}

.image-hover {
	transition: transform 0.2s ease-in-out;
}

.image-hover:hover {
	transform: scale(1.5);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 1000;
}

/* Elementos gerais */
body {
	font-family: 'Inter', sans-serif;
	margin: 0;
	padding: 0;
	background-color: #f4f6f8;
	color: #333;
	height: auto;
}

/* Informações do agregado */
.informacoes-agregado {
	text-align: center;
	margin-bottom: 20px;
}

.informacoes-agregado h3 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 5px;
}

.informacoes-agregado p {
	font-size: 14px;
	color: #555;
}

/* Tabelas */
.tabelas-container {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	margin-top: 20px;
	gap: 20px;
}

.tabela-agregado, .tabela-detalhes {
	width: 500px;
	border-collapse: collapse;
	margin: 0 10px;
	background-color: #f9f9f9;
	border: 1px solid #ccc;
}

.tabela-agregado th, .tabela-agregado td, .tabela-detalhes th, .tabela-detalhes td {
	padding: 10px;
	text-align: left;
	border: 1px solid #ccc;
}

.tabela-agregado th, .tabela-detalhes th {
	background-color: #e0e0e0;
	text-transform: uppercase;
}

.tabela-agregado tbody tr:nth-child(odd) {
	background-color: #f2f2f2;
}

.tabela-agregado tbody tr:hover {
	background-color: #dcdcdc;
}

/* Gráficos */
.graficos-container {
	display: flex;
	justify-content: space-around;
	margin-top: 30px;
}

/* Estilos específicos para os gráficos */
#aggregatedChart,
#aggregatedChartMesAnterior,
#monthlyEvolutionChart {
	max-width: 500px;
	max-height: 500px;
	width: 100%;
	height: auto;
	border: 2px solid #333;
	border-radius: 5px;
	padding: 10px;
	margin: 10px;
	background-color: #ffffff;
}

/* Estilos específicos para os gráficos */
#myperformanceChart,
#myChart {
	max-width: 300px;
	max-height: 300px;
	width: 100%;
	height: auto;
	border: 2px solid #333;
	border-radius: 5px;
	padding: 10px;
	margin: 10px;
	background-color: #ffffff;
}

/* Estilos específicos para os gráficos */
#myBarChart {
	max-width: 300px;
	max-height: 500px;
	width: 100%;
	height: auto;
	border: 2px solid #333;
	border-radius: 5px;
	padding: 10px;
	margin: 10px;
	background-color: #ffffff;
}

/* Legendas dos gráficos */
.chart-legend {
	text-align: center;
	font-size: 8px;
	margin-top: 10px;
}

.chart-legend ul {
	display: inline-flex;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.chart-legend ul li {
	margin: 0 10px;
	display: flex;
	align-items: center;
}

.chart-legend ul li span {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 5px;
	background-color: red;
}

/* Percentual de créditos */
.percentual-info {
	text-align: center;
	margin-top: 20px;
	font-size: 1.2em;
	font-weight: bold;
}

.percentual-info span {
	display: inline-flex;
	align-items: center;
	margin-left: 10px;
}

.percentual-info span.positivo {
	color: green;
}

.percentual-info span.negativo {
	color: red;
}

/* Modal */
.modal {
	display: block;
	position: fixed;
	z-index: 999999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.4);
}

.modal.ng-show {
	display: block;
	animation: fadeIn 0.3s;
}

.modal-content {
	background-color: #fefefe;
	margin: 10% auto;
	padding: 20px;
	border: 1px solid #888;
	width: 50%;
}

.close {
	color: #aaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
	cursor: pointer;
}

.close:hover,
.close:focus {
	color: black;
	text-decoration: none;
}

/* Destaque de linhas */
.highlighted {
	background-color: #f0f0f0;
}

/* Animação */
@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

button[aria-hidden="true"],
input[aria-hidden="true"],
select[aria-hidden="true"],
textarea[aria-hidden="true"] {
	pointer-events: auto !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* =========================
FIX LAYOUT DOS GRÁFICOS
========================= */

/* Grid principal dos cards */
.sgi-dashboard .dash-grid{
display: grid !important;
grid-template-columns: repeat(12, 1fr) !important;
gap: 12px !important;
align-items: stretch !important;
}

/* Cards padrão: 2 por linha (6/12 + 6/12) */
.sgi-dashboard .dash-grid .dash-card{
grid-column: span 6 !important;
}

/* Card largo: ocupa linha inteira */
.sgi-dashboard .dash-grid .dash-card-wide{
grid-column: span 12 !important;
}

/* Alturas dos boxes dos gráficos */
.sgi-dashboard .chart-box{
height: 320px !important;
position: relative !important;
}

.sgi-dashboard .chart-box.chart-box-tall{
height: 420px !important;
}

/* Canvas sempre respeita o container */
.sgi-dashboard .chart-box canvas{
width: 100% !important;
height: 100% !important;
display: block !important;
}

/* Responsivo: empilha no mobile */
@media (max-width: 992px){
.sgi-dashboard .dash-grid .dash-card{
grid-column: span 12 !important;
}
.sgi-dashboard .chart-box.chart-box-tall{
height: 380px !important;
}
}

/* Neutraliza estilos antigos dos canvases SOMENTE no dashboard */
.sgi-dashboard #myChart,
.sgi-dashboard #myperformanceChart,
.sgi-dashboard #myBarChart{
max-width: none !important;
max-height: none !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
}

/* =========================
DASHBOARD (estilo BI)
========================= */

.sgi-dashboard{
padding: 12px;
}

/* evita seu CSS global de label quebrar o header */
.sgi-dashboard label{
background: transparent !important;
width: auto !important;
margin-top: 0 !important;
height: auto !important;
border-radius: 0 !important;
font-weight: 600;
}

/* header */
.sgi-dashboard .dash-header{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:12px;
margin-bottom:10px;
}
.sgi-dashboard .dash-title{ font-size:16px; font-weight:700; }
.sgi-dashboard .dash-sub{ font-size:11px; color:#6b7280; }
.sgi-dashboard .dash-dot{ margin:0 6px; color:#9ca3af; }
.sgi-dashboard .dash-actions{ display:flex; gap:8px; align-items:center; }
.sgi-dashboard .auto-refresh{ display:flex; gap:6px; align-items:center; font-size:11px; }

/* filtros */
.sgi-dashboard .dash-filters{
display:flex;
flex-wrap:wrap;
gap:10px;
align-items:center;
margin-bottom:12px;
}
.sgi-dashboard .dash-group{ display:flex; gap:6px; align-items:center; }
.sgi-dashboard .dash-group-right{ margin-left:auto; display:flex; gap:8px; align-items:center; }
.sgi-dashboard .dash-label{ font-size:11px; color:#374151; }
.sgi-dashboard .dash-select{ height:28px; font-size:11px; padding:2px 8px; }

/* KPIs */
.sgi-dashboard .dash-kpis{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap:12px;
  margin-bottom:12px;
}
.sgi-dashboard .kpi-card{
  background:#fff;
  border-radius:14px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  padding:14px 16px;
  border-top: 4px solid #e5e7eb;
  transition: box-shadow .2s ease;
}
.sgi-dashboard .kpi-card:hover{
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
}
.sgi-dashboard .kpi-label{ font-size:11px; color:#6b7280; }
.sgi-dashboard .kpi-value{ font-size:20px; font-weight:800; color:#111827; line-height:1.1; }
.sgi-dashboard .kpi-sub{ font-size:11px; color:#9ca3af; margin-top:4px; }

/* grid dos gráficos */
.sgi-dashboard .dash-grid{
display:grid;
grid-template-columns: repeat(12, 1fr);
gap:12px;
align-items:stretch;
}
.sgi-dashboard .dash-card{
grid-column: span 6;
background:#fff;
border-radius:14px;
box-shadow: 0 6px 18px rgba(0,0,0,.06);
padding:12px;
min-width:0;
}
.sgi-dashboard .dash-card-wide{ grid-column: span 12; }
.sgi-dashboard .dash-card-title{
font-size:12px;
font-weight:700;
color:#111827;
margin-bottom:8px;
}

/* containers de gráfico */
.sgi-dashboard .chart-box{
height: 280px;
position: relative;
}
.sgi-dashboard .chart-box-tall{
height: 420px;
}

/* 🔥 donuts não podem ocupar largura infinita: limita e centraliza */
.sgi-dashboard .chart-box.donut{
height: 260px;
max-width: 520px;
margin: 0 auto;
}

/* canvas ocupa o container */
.sgi-dashboard .chart-box canvas{
width: 100% !important;
height: 100% !important;
display:block;
}

/* responsivo */
@media (max-width: 992px){
  .sgi-dashboard .dash-card{ grid-column: span 12; }
  .sgi-dashboard .chart-box-tall{ height: 360px; }
}
@media (max-width: 576px){
  .sgi-dashboard .dash-kpis{ grid-template-columns: repeat(2, 1fr); }
}

/* ===== Progresso Online ===== */
.prog{
width: 100%;
height: 10px;
background: #e9ecef;
border-radius: 8px;
overflow: hidden;
box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
}

.prog-bar{
height: 100%;
border-radius: 8px;
transition: width .35s ease;
}

/* cores por faixa */
.prog-red{ background: #dc3545; }     /* < 50% */
.prog-orange{ background: #fd7e14; }  /* 50% a 79.9% */
.prog-green{ background: #28a745; }   /* >= 80% */


/* ==========================================================
✅ ADIÇÕES (somente para o dashboard) - NÃO afeta outras telas
========================================================== */

/* status no header */
.sgi-dashboard .dash-loading{
color:#6b7280;
font-weight:600;
}
.sgi-dashboard .dash-error{
color:#b91c1c;
font-weight:700;
}

/* faltantes em destaque */
.sgi-dashboard .t-warn{
color:#b91c1c;
font-weight:700;
}

/* botões ativos (Top10 / Piores10 / Todos) */
.sgi-dashboard .online-controls .btn.active,
.sgi-dashboard .online-controls .btn:active{
box-shadow: inset 0 0 0 999px rgba(0, 115, 183, 0.08);
border-color:#0073b7;
color:#0073b7;
font-weight:700;
}

/* melhora a aparência do combo unidade dentro do dashboard */
.sgi-dashboard .online-controls .form-control{
height:30px !important;
font-size:11px !important;
padding: 4px 8px;
border-radius: 8px;
}

/* tabela online: hover sem “amarelo global” (apenas dentro do dashboard) */
.sgi-dashboard .online-table tbody tr:hover{
background-color: #f1f7ff !important;
}

/* deixa a linha clicável mais “button-like” */
.sgi-dashboard .online-table tbody tr{
transition: background-color .15s ease;
}

/* modal das notas: não herdar hover amarelo do css global */
.sgi-dashboard .modal-content table tr:hover{
background-color:#f8fafc !important;
}

/* modal mais bonito (somente no dashboard) */
.sgi-dashboard .modal-content{
box-shadow: 0 14px 50px rgba(0,0,0,.25);
border-radius: 10px;
}

/* cabeçalho do modal */
.sgi-dashboard .modal-content h4{
font-size:16px;
font-weight:800;
color:#111827;
}

/* evita o título (Notas Sem Ocorrências) ficar “colado” */
.sgi-dashboard .modal-content .text-muted{
font-size:12px;
}

/* responsivo: controles online quebram sem bagunçar */
@media (max-width: 768px){
.sgi-dashboard .online-controls{
gap:6px !important;
}
.sgi-dashboard .online-controls .form-control{
width: 100% !important;
}
}

/* ===== KPI card accent colors ===== */
.sgi-dashboard .kpi-card.kpi-primary { border-top-color: #0073b7; }
.sgi-dashboard .kpi-card.kpi-ok      { border-top-color: #28a745; }
.sgi-dashboard .kpi-card.kpi-warn    { border-top-color: #f39c12; }
.sgi-dashboard .kpi-card.kpi-info    { border-top-color: #6c757d; }
.sgi-dashboard .kpi-card.kpi-danger  { border-top-color: #dc3545; }
.sgi-dashboard .kpi-card.kpi-ok    .kpi-value { color: #155724; }
.sgi-dashboard .kpi-card.kpi-warn  .kpi-value { color: #7d4e00; }
.sgi-dashboard .kpi-card.kpi-danger .kpi-value { color: #721c24; }

/* ===== Online KPI pills ===== */
.sgi-dashboard .online-kpis {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.sgi-dashboard .online-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #f4f6f8;
  border-radius: 10px;
  padding: 6px 14px;
  min-width: 80px;
  border: 1px solid #e5e7eb;
}
.sgi-dashboard .online-pill.ok   { background: #d4edda; border-color: #c3e6cb; }
.sgi-dashboard .online-pill.warn { background: #fff3cd; border-color: #ffeeba; }
.sgi-dashboard .online-pill .p-label {
  font-size: 10px;
  color: #6b7280;
  font-weight: 600;
  text-transform: uppercase;
}
.sgi-dashboard .online-pill .p-value {
  font-size: 18px;
  font-weight: 800;
  color: #111827;
  line-height: 1.1;
}
.sgi-dashboard .online-pill.ok   .p-value { color: #155724; }
.sgi-dashboard .online-pill.warn .p-value { color: #7d4e00; }

/* ===== Online controls row ===== */
.sgi-dashboard .online-controls {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 8px 0 10px 0;
  flex-wrap: wrap;
}
.sgi-dashboard .online-unit-filter {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 10px;
}

/* ===== Online table ===== */
.sgi-dashboard .online-table tbody tr:hover {
  background: #f1f7ff !important;
}
.sgi-dashboard .online-table .online-row {
  cursor: pointer;
}
.sgi-dashboard .online-table .t-name {
  font-weight: 600;
  color: #111827;
}
.sgi-dashboard .online-table td { text-align: right; }
.sgi-dashboard .online-table td:first-child { text-align: left; }
.sgi-dashboard .online-table td:last-child  { text-align: left; }
.sgi-dashboard .online-controls .btn.active {
  background: #0073b7;
  border-color: #0073b7;
  color: #fff;
}

/* ===== Modal helpers ===== */
.dash-modal-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.dash-modal-title-block { flex: 1; }
.dash-modal-table {
  margin-top: 12px;
  max-height: 60vh;
  overflow: auto;
}
.dash-modal-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
.dash-modal-wide { width: 85%; max-width: 1200px; margin: 5% auto; border-radius: 10px; }
.dash-modal-table-inner { background: #fff; }
.dash-modal-h4 { margin: 0; font-size: 16px; font-weight: 800; color: #111827; }
.dash-modal-date { font-size: 12px; margin-top: 4px; }
.dash-modal-loading { padding-top: 6px; }
.dash-modal-error { margin-top: 10px; }
.dash-modal-badge {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
}
.dash-modal-badge-blue   { color: #0073b7; }
.dash-modal-badge-purple { color: #6f42c1; }
.t-monospace { font-family: monospace; font-size: 10px; }

/* ===== Filter labels ===== */
.sgi-dashboard .dash-filter-label { font-size: 12px; }
.sgi-dashboard .dash-filter-hint  { margin-left: auto; }
.sgi-dashboard .online-unit-select {
  height: 30px !important;
  font-size: 12px !important;
  min-width: 160px;
}

/* ===== Card title: hint + stat ===== */
.sgi-dashboard .dash-card-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.sgi-dashboard .dash-card-title .dash-hint {
  font-weight: 400;
  color: #6b7280;
  font-size: 11px;
}
.sgi-dashboard .dash-card-title .dash-stat {
  font-weight: 400;
  font-size: 11px;
  color: #fff;
  background: #374151;
  border-radius: 20px;
  padding: 1px 9px;
  margin-left: auto;
}
.sgi-dashboard .dash-title-sep {
  font-weight: 400;
  color: #9ca3af;
  margin: 0 2px;
}

/* ===== Sortable table headers ===== */
.sgi-dashboard .online-table thead th.sortable {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  transition: background .15s;
}
.sgi-dashboard .online-table thead th.sortable:hover { background: #f3f4f6; }
.sgi-dashboard .online-table thead th.col-num  { text-align: right; width: 90px; }
.sgi-dashboard .online-table thead th.col-pct  { width: 100px; }
.sgi-dashboard .online-table thead th.col-prog { width: 220px; }
.sgi-dashboard .sort-icon {
  font-size: 9px;
  margin-left: 3px;
  color: #0073b7;
}

/* ===== Table cell alignment ===== */
.sgi-dashboard .online-table td:nth-child(2),
.sgi-dashboard .online-table td:nth-child(3),
.sgi-dashboard .online-table td:nth-child(4),
.sgi-dashboard .online-table td:nth-child(5) { text-align: right; }

/* ===== Online pill: 4th pill (danger) ===== */
.sgi-dashboard .online-pill.danger { background: #fee2e2; border-color: #fca5a5; }
.sgi-dashboard .online-pill.danger .p-value { color: #991b1b; }

/* ===== Status badge (modal notas) ===== */
.status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.status-a, .status-badge.status-a { background: #fef3c7; color: #92400e; }
.status-b, .status-badge.status-b { background: #d1fae5; color: #065f46; }

/* ===== Occurrence badge ===== */
.occ-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 600;
  background: #fee2e2;
  color: #991b1b;
  white-space: nowrap;
}

/* ===== Unit badge (modal) ===== */
.unit-badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 6px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 10px;
  font-weight: 700;
}

/* ===== Modal row coloring by status ===== */
.modal-row-status-a { background: #fffbeb !important; }
.modal-row-status-b { background: #f0fdf4 !important; }

/* ===== Monotone cells ===== */
.col-mono { font-family: monospace; font-size: 11px; }

/* ===== Donut chart: neutralize legacy max-width in dashboard context ===== */
.sgi-dashboard .chart-box.donut { height: 280px; }

/* ===== Export Modal ===== */
.export-modal-content {
  max-width: 540px;
  margin: 80px auto;
}

.export-form {
  padding: 8px 0 4px;
}

.export-form-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.export-label {
  min-width: 170px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  flex-shrink: 0;
}

.export-form-row .form-control {
  flex: 1;
}

.dash-modal-badge-green {
  background: #059669;
  color: #fff;
  border-radius: 4px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 4px;
}

.dash-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* ===== Responsive: mobile ===== */
@media (max-width: 768px) {
  .sgi-dashboard .online-controls { gap: 6px; }
  .sgi-dashboard .online-unit-filter { margin-left: 0; width: 100%; }
  .sgi-dashboard .online-unit-filter .form-control { width: 100% !important; }
  .sgi-dashboard .dash-card-title .dash-stat { margin-left: 0; }
}

