/* ==========================================================================================
   TEMA GLOBAL — PHPRunner
   Um único arquivo: menu lateral + barra superior + grades (list) + formulários (add/edit/
   view/search) + login + modais + impressão.
   ------------------------------------------------------------------------------------------
   COMO USAR
   Cole TODO este bloco no final de:   styles/custom/custom.css
   (esse arquivo já é carregado em todas as páginas do seu projeto)
   Substitui os arquivos menu_lateral.css e lista_moderna.css — use apenas este.
   Ajuste as cores no bloco :root logo abaixo.
   ========================================================================================== */

:root{
	--ui-primary:      #2563eb;
	--ui-primary-dark: #1d4ed8;
	--ui-primary-soft: #eaf1ff;
	--ui-page-bg:      #f4f6fa;
	--ui-card:         #ffffff;
	--ui-border:       #e7eaf0;
	--ui-border-soft:  #f0f2f6;
	--ui-text:         #2f3545;
	--ui-text-strong:  #1b2233;
	--ui-muted:        #8b93a7;
	--ui-head-bg:      #fafbfd;
	--ui-hover:        #f6f8fd;
	--ui-input-bg:     #f3f4f7;
	--ui-danger:       #dc2626;
	--ui-success:      #16a34a;
	--ui-warning:      #d97706;
	--ui-radius:       14px;
	--ui-radius-sm:    9px;
	--ui-shadow:       0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(16,24,40,.18);
	--ui-shadow-sm:    0 1px 2px rgba(16,24,40,.06);
	--ui-font:         "Segoe UI", Inter, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--ui-sidebar-w:    250px;
	--ui-row-pad:      7px;      /* <<< altura das linhas da grade (menor = mais registros) */
}

/* ==========================================================================================
   1. BASE
   ========================================================================================== */

body{
	background: var(--ui-page-bg) !important;
	font-family: var(--ui-font) !important;
	color: var(--ui-text);
	font-size: 14px;
	-webkit-font-smoothing: antialiased;
}

a{ color: var(--ui-primary); }
a:hover, a:focus{ color: var(--ui-primary-dark); }

h1,h2,h3,h4,h5{ color: var(--ui-text-strong); font-weight: 700; }

hr{ border-color: var(--ui-border); }

/* barras de rolagem discretas */
*{ scrollbar-width: thin; scrollbar-color: #d7dae2 transparent; }
*::-webkit-scrollbar{ width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb{ background: #d7dae2; border-radius: 4px; }
*::-webkit-scrollbar-thumb:hover{ background: #c3c8d4; }
*::-webkit-scrollbar-track{ background: transparent; }

.r-body{ padding: 18px 22px 32px !important; }

/* ==========================================================================================
   2. MENU LATERAL
   ========================================================================================== */

.r-left,
.r-left [data-location="left"]{
	background: #fff !important;
	font-family: var(--ui-font);
}
.r-left{
	border-right: 1px solid var(--ui-border) !important;
	box-shadow: none !important;
}
.r-left [data-location="left"]{ padding: 0 12px 24px !important; }

/* --- LOGO REMOVIDA (some a faixa inteira, sem deixar espaço) --- */
.r-left [data-itemid="logo"]{
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
/* respiro no topo, já que a faixa saiu */
.r-left [data-location="left"]{ padding-top: 14px !important; }

/* no celular a faixa volta — só para manter o botão hambúrguer acessível */
@media screen and (max-width: 767px){
	.r-left [data-itemid="logo"]{
		display: block !important;
		height: auto !important;
		padding: 6px 4px !important;
		background: transparent !important;
	}
	.r-left [data-itemid="logo"] > a.navbar-brand,
	.r-left a.navbar-brand[data-itemtype="logo"]{ display: none !important; }
	.r-left [data-itemid="logo"] .navbar-toggle{
		display: block !important;
		border: 0 !important;
		background: transparent !important;
		margin: 0 !important;
		color: var(--ui-muted) !important;
	}
}
.r-left [data-itemid="expand_button"] .btn-link{
	color: var(--ui-muted) !important;
	text-decoration: none !important;
}

/* campo de busca do menu (classe .mn-menu-search, se você adicionar um input) */
.r-left input.mn-menu-search,
.r-left .searchPanelContainer .form-control{
	height: 36px;
	width: 100%;
	background: var(--ui-input-bg) !important;
	border: 1px solid transparent !important;
	border-radius: var(--ui-radius-sm) !important;
	box-shadow: none !important;
	font-size: 13.5px;
	color: var(--ui-text) !important;
	padding: 0 12px;
}
.r-left input.mn-menu-search:focus{ background:#fff !important; border-color: var(--ui-primary) !important; outline:none; }
.r-left input.mn-menu-search::placeholder{ color: var(--ui-muted); }
.r-left .searchPanelContainer{ border:0 !important; box-shadow:none !important; background:transparent !important; }
.r-left .searchPanelContainer > .panel-heading,
.r-left .searchPanelContainer > .panel-footer{ background:transparent !important; border:0 !important; padding:4px 6px !important; }

/* lista do menu + rótulo "MENU" */
.r-left ul.r-menu[data-menulevel="1"]{ background:transparent !important; border:0 !important; margin:0 !important; padding:0 !important; }
.r-left ul.r-menu[data-menulevel="1"]::before{
	content: "MENU";
	display: block;
	padding: 2px 8px 8px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--ui-muted);
}
.r-left ul.r-menu li{ list-style:none; background:transparent !important; border:0 !important; }

/* 1º nível */
.r-left ul.r-menu > li > a[data-menu-top]{
	display: block;
	margin: 2px 0;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: var(--ui-radius-sm);
	color: var(--ui-text) !important;
	text-decoration: none !important;
}
.r-left ul.r-menu > li > a[data-menu-top] .r-menu-link{
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 10px 14px !important;
	border-radius: var(--ui-radius-sm);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	transition: background .15s ease, color .15s ease;
}
.r-left ul.r-menu > li > a[data-menu-top] .r-menu-title{
	flex: 1 1 auto;
	display: flex !important;
	align-items: center;
	gap: 11px;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.r-left ul.r-menu .menu-icon{
	width: 18px; min-width: 18px;
	text-align: center;
	font-size: 15px;
	color: var(--ui-muted);
	transition: color .15s ease;
}
.r-left ul.r-menu > li > a[data-menu-top]:hover .r-menu-link{ background: var(--ui-hover); color: var(--ui-text-strong); }
.r-left ul.r-menu > li > a[data-menu-top]:hover .menu-icon{ color: var(--ui-primary); }

/* grupo aberto / seção atual */
.r-left ul.r-menu > li:has(> ul.collapse.in) > a[data-menu-top] .r-menu-link,
.r-left ul.r-menu > li:has(> ul.collapse.show) > a[data-menu-top] .r-menu-link,
.r-left ul.r-menu > li:has(li.active) > a[data-menu-top] .r-menu-link,
.r-left ul.r-menu > li > a[data-menu-top][aria-expanded="true"] .r-menu-link,
.r-left ul.r-menu > li.active > a[data-menu-top] .r-menu-link,
.r-left ul.r-menu > li.mn-open > a[data-menu-top] .r-menu-link{
	background: var(--ui-primary) !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgba(37,99,235,.25);
}
.r-left ul.r-menu > li:has(> ul.collapse.in) > a[data-menu-top] .menu-icon,
.r-left ul.r-menu > li:has(li.active) > a[data-menu-top] .menu-icon,
.r-left ul.r-menu > li > a[data-menu-top][aria-expanded="true"] .menu-icon,
.r-left ul.r-menu > li.active > a[data-menu-top] .menu-icon,
.r-left ul.r-menu > li.mn-open > a[data-menu-top] .menu-icon,
.r-left ul.r-menu > li:has(> ul.collapse.in) > a[data-menu-top] .r-menu-expand-icon,
.r-left ul.r-menu > li:has(li.active) > a[data-menu-top] .r-menu-expand-icon,
.r-left ul.r-menu > li > a[data-menu-top][aria-expanded="true"] .r-menu-expand-icon,
.r-left ul.r-menu > li.mn-open > a[data-menu-top] .r-menu-expand-icon{ color:#fff !important; }

/* seta */
.r-left .r-menu-expand-icon{
	flex: 0 0 auto;
	margin-left: auto;
	font-size: 13px;
	color: var(--ui-muted);
	transition: transform .2s ease;
}
.r-left .r-menu-mobile-expand-icon{ display:none !important; }
.r-left ul.r-menu > li:has(> ul.collapse.in) > a[data-menu-top] .r-menu-expand-icon,
.r-left ul.r-menu > li:has(> ul.collapse.show) > a[data-menu-top] .r-menu-expand-icon,
.r-left ul.r-menu > li > a[data-menu-top][aria-expanded="true"] .r-menu-expand-icon,
.r-left ul.r-menu > li.mn-open > a[data-menu-top] .r-menu-expand-icon{ transform: rotate(-90deg); }

/* submenus */
.r-left ul.r-menu ul.nav[data-menulevel]{ background:transparent !important; border:0 !important; margin:2px 0 6px !important; padding:0 !important; }
.r-left ul.r-menu ul.nav > li > a{
	display: block;
	padding: 0 !important;
	margin: 1px 0;
	background: transparent !important;
	border: 0 !important;
	border-radius: 8px;
	color: #5b6377 !important;
	text-decoration: none !important;
}
.r-left ul.r-menu ul.nav > li > a .r-menu-link{
	display: flex !important;
	align-items: center;
	padding: 8px 14px 8px 30px !important;
	border-radius: 8px;
	font-size: 13.5px;
	font-weight: 500;
	transition: background .15s ease, color .15s ease;
}
.r-left ul.r-menu ul.nav > li > a .r-menu-title{
	display: flex !important; align-items: center; gap: 10px;
	min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.r-left ul.r-menu ul.nav > li > a:hover .r-menu-link{ background: var(--ui-hover); color: var(--ui-text-strong); }
.r-left ul.r-menu ul.nav > li > a:hover .menu-icon{ color: var(--ui-primary); }
.r-left ul.r-menu ul.nav > li.active > a .r-menu-link{
	background: var(--ui-primary-soft) !important;
	color: var(--ui-primary) !important;
	font-weight: 700;
}
.r-left ul.r-menu ul.nav > li.active > a .menu-icon{ color: var(--ui-primary) !important; }
.r-left ul.r-menu ul.nav ul.nav > li > a .r-menu-link{ padding-left: 46px !important; }

/* itens sem ícone alinhados com os que têm */
.r-left ul.r-menu a:not(:has(.menu-icon)) .r-menu-title{ padding-left: 29px; }

/* estado recolhido */
.r-left .r-menu-collapsed{ align-items:center; justify-content:center; padding:10px 0 !important; border-radius: var(--ui-radius-sm); text-align:center; }
.r-left ul.r-menu > li:has(li.active) > a[data-menu-top] .r-menu-collapsed{ background: var(--ui-primary); }
.r-left ul.r-menu > li:has(li.active) > a[data-menu-top] .r-menu-collapsed .menu-icon{ color:#fff; }

/* ==========================================================================================
   3. BARRA SUPERIOR
   ========================================================================================== */

.r-topheader .navbar,
.r-topheader .navbar-default{
	background: #fff !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ui-border) !important;
	box-shadow: none !important;
	margin-bottom: 0 !important;
	min-height: 58px;
	border-radius: 0;
}
.r-topheader .navbar-form{ margin-top: 6px; margin-bottom: 6px; border: 0; }

.breadcrumb{ background: transparent !important; padding: 0 !important; margin: 0 !important; font-size: 14px; }
.breadcrumb > li > a{ color: var(--ui-muted); text-decoration: none; }
.breadcrumb > li:last-child > a,
.breadcrumb > .active{ color: var(--ui-text-strong); font-weight: 600; }
.breadcrumb > li + li:before{ content: "\203A"; color: #c8cdd8; padding: 0 8px; }

/* ==========================================================================================
   4. BOTÕES
   ========================================================================================== */

.btn{
	border-radius: var(--ui-radius-sm) !important;
	font-size: 13.5px;
	font-weight: 600;
	padding: 7px 15px;
	border: 1px solid transparent;
	box-shadow: none !important;
	transition: background .15s ease, border-color .15s ease, color .15s ease, transform .06s ease;
}
.btn:active{ transform: translateY(1px); }
.btn-sm, .btn-xs{ padding: 5px 11px; font-size: 12.5px; }
.btn[disabled], .btn.disabled{ opacity: .5; }

.btn-primary{
	background: var(--ui-primary) !important;
	border-color: var(--ui-primary) !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgba(37,99,235,.28) !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active{
	background: var(--ui-primary-dark) !important;
	border-color: var(--ui-primary-dark) !important;
}

.btn-default{
	background: #fff !important;
	border-color: var(--ui-border) !important;
	color: #4b5265 !important;
}
.btn-default:hover, .btn-default:focus, .btn-default.active,
.open > .btn-default.dropdown-toggle{
	background: #f4f6fa !important;
	border-color: #d8dde7 !important;
	color: var(--ui-text) !important;
}

.btn-danger{ background: var(--ui-danger) !important; border-color: var(--ui-danger) !important; color:#fff !important; }
.btn-success{ background: var(--ui-success) !important; border-color: var(--ui-success) !important; color:#fff !important; }
.btn-link{ color: var(--ui-primary) !important; text-decoration: none !important; }

/* "+" no Adicionar Novo */
[data-itemtype="add"] .btn:before,
[data-itemtype="add_new"] .btn:before{
	content: "\002B";
	display: inline-block;
	margin-right: 7px;
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	vertical-align: -1px;
}
[data-itemtype="delete"] .btn:not([disabled]):hover,
[data-itemtype="delete_selected"] .btn:not([disabled]):hover{
	background: #fef2f2 !important;
	border-color: #fecaca !important;
	color: var(--ui-danger) !important;
}

/* ==========================================================================================
   5. CAMPOS DE FORMULÁRIO (todas as páginas)
   ========================================================================================== */

.form-control,
input[type="text"].form-control,
input[type="password"].form-control,
input[type="search"].form-control,
textarea.form-control,
select.form-control{
	min-height: 36px;
	border-radius: var(--ui-radius-sm);
	border: 1px solid var(--ui-border);
	box-shadow: none;
	font-size: 13.5px;
	color: var(--ui-text);
	background-color: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.form-control:focus{
	border-color: var(--ui-primary);
	box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}
.form-control[disabled], .form-control[readonly]{ background: #f7f8fb; color: var(--ui-muted); }
.form-control::placeholder{ color: #b3b9c7; }
textarea.form-control{ padding: 9px 12px; line-height: 1.5; }
select.form-control{ cursor: pointer; }

label, .control-label{ font-size: 13px; font-weight: 600; color: #55607a; }

input[type="checkbox"], input[type="radio"]{ accent-color: var(--ui-primary); cursor: pointer; }
input[type="checkbox"]{ width: 16px; height: 16px; vertical-align: middle; margin: 0; }

.input-group .form-control{ border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-btn .btn{ border-radius: 0 var(--ui-radius-sm) var(--ui-radius-sm) 0 !important; height: 36px; padding: 0 14px; }
.input-group-addon{ background: var(--ui-input-bg); border-color: var(--ui-border); border-radius: var(--ui-radius-sm) 0 0 var(--ui-radius-sm); color: var(--ui-muted); }

/* mensagens de validação */
.has-error .form-control{ border-color: #fca5a5; box-shadow: 0 0 0 3px rgba(220,38,38,.10); }
.has-error .help-block, .rnr-error, .message-error{ color: var(--ui-danger); font-size: 12.5px; }

/* ==========================================================================================
   6. DROPDOWNS, PAINÉIS, MODAIS, ABAS, AVISOS
   ========================================================================================== */

.dropdown-menu{
	border: 1px solid var(--ui-border);
	border-radius: 12px;
	box-shadow: var(--ui-shadow);
	padding: 6px;
	margin-top: 6px;
	font-size: 13.5px;
}
.dropdown-menu > li > a{ border-radius: 8px; padding: 8px 12px; color: #4b5265; }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus{ background: var(--ui-primary-soft); color: var(--ui-primary); }
.dropdown-menu .divider{ background: var(--ui-border-soft); margin: 5px 4px; }

.panel{
	border: 1px solid var(--ui-border) !important;
	border-radius: var(--ui-radius) !important;
	box-shadow: var(--ui-shadow) !important;
	background: #fff;
	overflow: hidden;
}
.panel-heading{
	background: var(--ui-head-bg) !important;
	border-bottom: 1px solid var(--ui-border) !important;
	color: var(--ui-text-strong) !important;
	font-weight: 600;
	padding: 12px 16px;
}
.panel-primary > .panel-heading{ background: var(--ui-head-bg) !important; color: var(--ui-text-strong) !important; }
.panel-footer{ background:#fff !important; border-top: 1px solid var(--ui-border-soft) !important; }
.panel-body{ padding: 16px; }

.well{ background:#fff; border:1px solid var(--ui-border); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-sm); }

.modal-content{
	border: 0;
	border-radius: var(--ui-radius);
	box-shadow: 0 24px 60px -20px rgba(16,24,40,.35);
	overflow: hidden;
}
.modal-header{ background: var(--ui-head-bg); border-bottom: 1px solid var(--ui-border); padding: 14px 18px; }
.modal-title{ font-size: 16px; font-weight: 700; color: var(--ui-text-strong); }
.modal-body{ padding: 18px; }
.modal-footer{ border-top: 1px solid var(--ui-border-soft); padding: 12px 18px; }
.modal-backdrop.in{ opacity: .35; }

.nav-tabs{ border-bottom: 1px solid var(--ui-border); }
.nav-tabs > li > a{
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--ui-muted);
	font-weight: 600;
	font-size: 13.5px;
	padding: 10px 14px;
	margin-right: 2px;
}
.nav-tabs > li > a:hover{ background: var(--ui-hover); color: var(--ui-text); }
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus{
	background: transparent !important;
	color: var(--ui-primary) !important;
	box-shadow: inset 0 -2px 0 var(--ui-primary);
}

.alert{
	border: 1px solid var(--ui-border);
	border-radius: var(--ui-radius);
	background: #fff;
	color: var(--ui-muted);
	box-shadow: var(--ui-shadow);
	padding: 14px 18px;
	font-size: 13.5px;
	margin-bottom: 14px;
}
.alert-danger{ border-color:#fecaca; background:#fef2f2; color:#b91c1c; }
.alert-success{ border-color:#bbf7d0; background:#f0fdf4; color:#15803d; }
.alert-info{ border-color:#bfdbfe; background:#eff6ff; color:#1d4ed8; }

/* mensagem "nenhum registro" da grade */
[data-grid-message]{ text-align: center; padding: 34px 20px !important; }
[data-grid-message]:before{ content: "\1F4C4"; display:block; font-size:26px; margin-bottom:8px; opacity:.55; }

.tooltip-inner{ background: #1f2937; border-radius: 8px; font-size: 12.5px; padding: 6px 10px; }
.popover{ border: 1px solid var(--ui-border); border-radius: 12px; box-shadow: var(--ui-shadow); }

/* datepicker */
.bootstrap-datetimepicker-widget.dropdown-menu{ padding: 10px; }
.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td span.active{ background: var(--ui-primary) !important; border-radius: 8px; }
.bootstrap-datetimepicker-widget table td.day:hover{ background: var(--ui-primary-soft); border-radius: 8px; }

/* ==========================================================================================
   7. BARRA DE FERRAMENTAS DAS LISTAS
   ========================================================================================== */

.r-above{ margin-bottom: 12px; }
.r-above .r-form .row{
	display: flex; flex-wrap: wrap; align-items: center;
	row-gap: 10px; margin-left: -6px; margin-right: -6px;
}
.r-above .r-form .row + .row{ margin-top: 8px; }
.r-above .r-form [class*="col-md-"],
.r-above .r-form [class*="col-sm-"]{
	display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
	padding-left: 6px; padding-right: 6px; float: none;
}
.r-above .r-form .r-align-right{ justify-content: flex-end; }

[data-itemtype="details_found"]{
	display: inline-flex; align-items: center;
	height: 34px; padding: 0 12px;
	border-radius: 999px;
	background: #fff; border: 1px solid var(--ui-border);
	color: var(--ui-muted); font-size: 12.5px; font-weight: 600; white-space: nowrap;
}
.sortby-ctrl{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color: var(--ui-muted); white-space: nowrap; }
.sortby-ctrl select.form-control,
[data-itemtype="page_size"] select.form-control{ width:auto; min-width:76px; max-width:200px; display:inline-block; }

/* ==========================================================================================
   8. GRADE (páginas de lista) — linhas compactas
   ========================================================================================== */

.r-grid{
	background: var(--ui-card);
	border: 1px solid var(--ui-border);
	border-radius: var(--ui-radius);
	box-shadow: var(--ui-shadow);
	overflow: hidden;
}

table.rnr-gridtable,
.r-grid > table{
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	border-collapse: separate !important;
	border-spacing: 0;
	font-size: 13.5px;
}

/* cabeçalho */
table.rnr-gridtable > thead > tr > th{
	background: var(--ui-head-bg) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ui-border) !important;
	padding: 10px 14px !important;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ui-muted) !important;
	white-space: nowrap;
	vertical-align: middle;
	position: sticky; top: 0; z-index: 3;
}
table.rnr-gridtable > thead > tr > th .rnr-orderlink{ color: var(--ui-muted) !important; text-decoration:none !important; cursor:pointer; }
table.rnr-gridtable > thead > tr > th .rnr-orderlink:hover{ color: var(--ui-primary) !important; }
table.rnr-gridtable > thead > tr > th .rnr-orderlink:after{
	content: "\21C5"; font-size: 11px; margin-left: 6px; opacity: .45; letter-spacing: 0;
}
table.rnr-gridtable > thead > tr > th .rnr-orderlink:hover:after{ opacity: 1; }

/* corpo — compacto */
table.rnr-gridtable > tbody > tr{ background:#fff !important; transition: background .12s ease; }
table.rnr-gridtable > tbody > tr:hover{ background: var(--ui-hover) !important; }
table.rnr-gridtable > tbody > tr > td{
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ui-border-soft) !important;
	padding: var(--ui-row-pad) 14px !important;
	vertical-align: middle !important;
	color: var(--ui-text);
	line-height: 1.35;
}
table.rnr-gridtable > tbody > tr:last-child > td{ border-bottom: 0 !important; }
table.table-striped > tbody > tr:nth-of-type(odd){ background-color: #fff; }

/* primeira coluna de dados em destaque */
table.rnr-gridtable > tbody > tr > td[data-cellId="grid_cell_field"]{ font-weight: 600; color: var(--ui-text-strong); }

/* checkbox */
table.rnr-gridtable [data-checkbox-cell]{ width: 40px; text-align: center; }
table.rnr-gridtable input[type="checkbox"]{ cursor: pointer; }

/* linha selecionada */
table.rnr-gridtable > tbody > tr:has(input[type="checkbox"]:checked){
	background: var(--ui-primary-soft) !important;
	box-shadow: inset 3px 0 0 var(--ui-primary);
}

/* ícones de ação */
td[data-control-cell]{ white-space: nowrap; width: 1%; }
td[data-control-cell] a.btn-link,
td[data-control-cell] a[class*="glyphicon"]{
	display: inline-flex !important;
	align-items: center; justify-content: center;
	width: 26px; height: 26px;
	margin: 0 1px;
	border-radius: 7px;
	color: #979db0 !important;
	background: transparent;
	text-decoration: none !important;
	font-size: 12.5px;
	transition: background .15s ease, color .15s ease;
}
td[data-control-cell] a.btn-link:hover{ background: var(--ui-primary-soft); color: var(--ui-primary) !important; }
td[data-control-cell] a[id^="viewLink"]:hover{ background:#ecfdf5; color: var(--ui-success) !important; }

/* anexos */
td.rnr-field-file a,
td[class*="rnr-field-file"] a{
	display: inline-flex; align-items: center; gap: 6px;
	max-width: 240px; padding: 3px 10px;
	border-radius: 999px;
	background: var(--ui-primary-soft);
	color: var(--ui-primary) !important;
	font-size: 12.5px; font-weight: 600;
	text-decoration: none !important;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
td.rnr-field-file a:before{ content:"\1F4CE"; font-size:12px; }
td.rnr-field-file a:hover{ background:#dbe7ff; }

/* célula vazia */
table.rnr-gridtable > tbody > tr > td [data-itemtype="grid_field"] > span:empty:after,
table.rnr-gridtable > tbody > tr > td [data-itemtype="grid_field"]:empty:after{ content:"\2014"; color:#cbd0db; }

/* OPCIONAL: coluna de categoria como "badge" — troque secao pelo seu campo
table.rnr-gridtable td[data-field="secao"] [data-itemtype="grid_field"] > span{
	display:inline-block; padding:2px 10px; border-radius:999px;
	background:#eef1f6; color:#5b6377; font-size:11.5px; font-weight:700;
}
*/

/* ==========================================================================================
   9. PAGINAÇÃO
   ========================================================================================== */

.r-below{ margin-top: 14px; }
.pagination{ margin: 0; display: inline-flex; gap: 4px; }
.pagination > li > a,
.pagination > li > span{
	min-width: 32px; height: 32px;
	display: inline-flex; align-items: center; justify-content: center;
	padding: 0 10px;
	border: 1px solid var(--ui-border) !important;
	border-radius: var(--ui-radius-sm) !important;
	background:#fff; color:#4b5265;
	font-size: 13px; font-weight: 600;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.pagination > li > a:hover{ background: var(--ui-primary-soft); border-color:#cfe0ff !important; color: var(--ui-primary); }
.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > span{
	background: var(--ui-primary) !important;
	border-color: var(--ui-primary) !important;
	color:#fff !important;
	box-shadow: 0 2px 8px rgba(37,99,235,.28);
}

/* ==========================================================================================
   10. PÁGINAS DE ADICIONAR / EDITAR / VISUALIZAR / BUSCA
   ========================================================================================== */

body.function-add .r-body,
body.function-edit .r-body,
body.function-view .r-body,
body.function-search .r-body,
body.function-register .r-body,
body.function-userinfo .r-body,
body.function-changepwd .r-body{ max-width: 1100px; }

/* o formulário vira um cartão */
body.function-add [data-location="editfields"],
body.function-edit [data-location="editfields"],
body.function-view [data-location="viewfields"],
body.function-search [data-location="searchfields"],
body.function-add .r-grid,
body.function-edit .r-grid,
body.function-view .r-grid,
body.function-search .r-grid{
	background: var(--ui-card);
	border: 1px solid var(--ui-border);
	border-radius: var(--ui-radius);
	box-shadow: var(--ui-shadow);
	padding: 20px 22px;
	overflow: visible;
}

/* linhas do formulário */
body.function-add [data-location="editfields"] .row,
body.function-edit [data-location="editfields"] .row,
body.function-view [data-location="viewfields"] .row,
body.function-search [data-location="searchfields"] .row{
	margin-bottom: 14px;
	align-items: flex-start;
}

/* rótulos dos campos */
[data-itemtype="edit_field_label"],
[data-itemtype="view_field_label"],
[data-itemtype="search_field_label"],
td.rnr-editlabel, .rnr-label{
	display: inline-block;
	padding-top: 8px;
	font-size: 13px;
	font-weight: 600;
	color: #55607a;
}

/* controles */
[data-itemtype="edit_field"] .form-control,
[data-itemtype="search_field"] .form-control{ max-width: 100%; }

/* tabelas de edição das versões antigas */
table.rnr-edit-table,
table.rnr-edittable{ width: 100%; background: transparent; }
table.rnr-edit-table > tbody > tr > td,
table.rnr-edittable > tbody > tr > td{
	border: 0 !important;
	border-bottom: 1px solid var(--ui-border-soft) !important;
	padding: 10px 8px !important;
	vertical-align: middle;
}

/* área dos botões (Salvar / Cancelar) */
body.function-add [data-location="below-grid"],
body.function-edit [data-location="below-grid"],
body.function-search [data-location="below-grid"]{
	margin-top: 14px;
	display: flex;
	gap: 10px;
	align-items: center;
}

/* página de visualização: valores em destaque */
[data-itemtype="view_field"]{ font-size: 14px; color: var(--ui-text-strong); }

/* upload de arquivos */
.rnr-uploadfile, .fileinput-button, .rnr-file-container{
	border-radius: var(--ui-radius-sm);
}
.progress{ border-radius: 999px; height: 8px; box-shadow: none; background: var(--ui-border-soft); }
.progress-bar{ background: var(--ui-primary); }

/* ==========================================================================================
   11. LOGIN / REGISTRO
   ========================================================================================== */

/* Estrutura real da tela: form#form1 > .r-panel-page > .bs-pagepanel.panel >
   .panel-body > [logo + título] + table.r-edit-form + [botão].
   O cartão escuro é o .bs-pagepanel — ele é preservado e refinado.
   Cor do cartão: variável --ui-login-bg logo abaixo.                        */

body.function-login{ --ui-login-bg: #1e2836; background: var(--ui-page-bg) !important; }

body.function-login form#form1{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: 24px;
	margin: 0;
}
body.function-login .r-panel-page{ width: 100%; max-width: 420px; margin: 0; }

/* cartão */
body.function-login .bs-pagepanel.panel{
	background: var(--ui-login-bg) !important;
	border: 0 !important;
	border-radius: 18px !important;
	box-shadow: 0 24px 60px -24px rgba(16,24,40,.55) !important;
	overflow: hidden;
	margin: 0 !important;
}
body.function-login .panel-heading{ display: none !important; }
body.function-login .panel-body{ padding: 32px 28px 28px !important; background: transparent !important; }

/* nada de cartão branco nos blocos internos */
body.function-login .r-form,
body.function-login .r-form .row,
body.function-login .r-form [class*="col-md-"]{
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding-left: 0; padding-right: 0;
}

/* logo */
body.function-login img[data-itemtype="image"]{
	display: block;
	width: 100%;
	max-width: 190px;
	height: auto;
	margin: 0 auto;
}

/* título (o snippet com <H3>) */
body.function-login [data-itemtype="snippet"] h3,
body.function-login [data-itemtype="snippet"] H3{
	color: #e8edf5;
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	margin: 14px 0 22px;
}

/* campos — a tabela vira uma coluna só; células vazias somem */
body.function-login table.r-edit-form{ width: 100%; }
body.function-login table.r-edit-form td{
	display: block;
	width: 100% !important;
	float: none;
	padding: 0 !important;
}
body.function-login table.r-edit-form td:not(:has(.r-edit-field)){ display: none !important; }
body.function-login .r-edit-field{ margin-bottom: 12px; }
body.function-login .r-edit-field .form-control{
	width: 100%;
	min-height: 44px;
	border-radius: 10px;
	font-size: 14px;
}
body.function-login .r-edit-field .form-control:focus{
	border-color: var(--ui-primary) !important;
	box-shadow: 0 0 0 3px rgba(37,99,235,.28);
}

/* botão Entrar ocupa a largura toda */
body.function-login [data-location="footer"] .row{ margin: 0; }
body.function-login [data-location="footer"] [class*="col-md-"]{ width: 100%; float: none; }
body.function-login [data-itemtype="login_button"]{ display: block; margin-top: 8px; }
body.function-login #submitLogin1.btn-primary,
body.function-login [data-itemtype="login_button"] .btn{
	display: block;
	width: 100%;
	padding: 12px 16px;
	font-size: 14.5px;
	border-radius: 10px !important;
}

body.function-login .r-topheader,
body.function-login .r-left{ display: none !important; }

/* --------------------------------------------------------------------------
   Quer o login CLARO (branco) em vez do escuro?
   Troque a cor do cartão e do título:
       body.function-login{ --ui-login-bg: #ffffff; }
       body.function-login [data-itemtype="snippet"] h3{ color: var(--ui-text-strong); }
   e use a versão escura do logo (images/LogoDcEscuro.png, se existir).
   -------------------------------------------------------------------------- */

/* ==========================================================================================
   12. PÁGINA DE MENU / DASHBOARD
   ========================================================================================== */

body.function-menu .r-body [class*="col-md-"] > a,
body.function-dashboard [data-itemtype="dashboard_element"],
.dashboard-element{
	background: #fff;
	border: 1px solid var(--ui-border);
	border-radius: var(--ui-radius);
	box-shadow: var(--ui-shadow);
	padding: 16px;
	display: block;
	transition: transform .12s ease, box-shadow .12s ease;
}
body.function-menu .r-body [class*="col-md-"] > a:hover,
.dashboard-element:hover{
	transform: translateY(-2px);
	box-shadow: 0 12px 28px -14px rgba(16,24,40,.30);
	text-decoration: none;
}

/* ==========================================================================================
   13. RESPONSIVO — cada registro vira um cartão no celular
   ========================================================================================== */

@media screen and (max-width: 767px){
	.r-body{ padding: 12px !important; }

	.r-grid{ background: transparent; border: 0; box-shadow: none; overflow: visible; }

	table.rnr-gridtable,
	table.rnr-gridtable > tbody{ display: block; width: 100% !important; }
	table.rnr-gridtable > thead{ display: none; }

	table.rnr-gridtable > tbody > tr{
		display: flex; flex-wrap: wrap; width: 100% !important;
		background: #fff !important;
		border: 1px solid var(--ui-border);
		border-radius: var(--ui-radius);
		box-shadow: var(--ui-shadow);
		margin-bottom: 10px;
		overflow: hidden;
	}
	table.rnr-gridtable > tbody > tr > td{
		display: block; flex: 1 1 100%; width: 100% !important;
		border-bottom: 1px solid var(--ui-border-soft) !important;
		padding: 9px 14px !important;
		text-align: right;
	}
	table.rnr-gridtable > tbody > tr > td [data-itemtype="grid_field"]{
		display: flex !important; align-items: center; justify-content: space-between;
		gap: 12px; width: 100%;
	}
	table.rnr-gridtable > tbody > tr > td [data-itemtype="grid_field"]:before{
		font-size: 11.5px; font-weight: 700; letter-spacing: .05em;
		text-transform: uppercase; color: var(--ui-muted); text-align: left; flex: 0 0 auto;
	}
	table.rnr-gridtable > tbody > tr > td[data-control-cell]{
		flex: 0 0 auto; width: auto !important; order: -1;
		background: var(--ui-head-bg) !important;
		border-bottom: 1px solid var(--ui-border-soft) !important;
		padding: 6px 10px !important;
	}
	table.rnr-gridtable > tbody > tr > td[data-checkbox-cell]{
		order: -2; flex: 1 1 auto;
		display: flex !important; align-items: center; justify-content: flex-start;
	}

	.r-above .r-form [class*="col-md-"],
	.r-above .r-form .r-align-right{ justify-content: flex-start; }

	body.function-add .r-body,
	body.function-edit .r-body,
	body.function-view .r-body{ max-width: none; }
	body.function-add [data-location="editfields"],
	body.function-edit [data-location="editfields"],
	body.function-view [data-location="viewfields"]{ padding: 14px; }
}

/* ==========================================================================================
   14. IMPRESSÃO
   ========================================================================================== */

@media print{
	.r-left, .r-topheader, .r-above, .r-below, .r-body-shadow{ display: none !important; }
	body{ background: #fff !important; }
	.r-grid{ border: 0; box-shadow: none; }
	table.rnr-gridtable > tbody > tr > td{ padding: 5px 8px !important; }
}
