@font-face {
  font-family: "jsglyph";
  src: url("../fonts/jspanel/jsglyph.eot");
  src: url("../fonts/jspanel/jsglyph.eot?#iefix") format("embedded-opentype"), url("../fonts/jspanel/jsglyph.ttf") format("truetype"), url("../fonts/jspanel/jsglyph.woff") format("woff"), url("../fonts/jspanel/jsglyph.svg#jsglyph") format("svg"); }
/* the norm */
.left {float: left;}
.right {float: right;}
.clear {clear: both;}
/* For Gráficos */
canvas {
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
}
.row {
    margin-top: 20px;
}
.gritter-item-wrapper_hide {
	display: none;
}
.hover .gritter-bottom {
	background-position: bottom right;
}
.gritter-item-wrapper.clean .gritter-item {
	color: #c1c1c1;
}
.label-control {cursor:pointer;}
.gritter-item {
	width: 400px;
	display:block;
	background: #272930;
	padding:2px 11px 8px 11px;
	font-size: 11px;
	font-family:verdana;
}
.gritter-item .gritter-data {
	padding: 10px;
}
.hover .gritter-item {
	background-position:right -40px;
}
.gritter-item p {
	padding:0 30px 0 0;
	margin:0;
	word-wrap:break-word;
}
.gritter-item-wrapper.clean.success .gritter-close {
	background: #22CC22;
}

.gritter-item-wrapper.clean.success .gritter-title{
    color: #22CC22;
}

.gritter-item-wrapper.clean.error .gritter-close {
    background: #e76435;
}

.gritter-item-wrapper.clean.erro .gritter-title{
    color: #e76435;
}


.gritter-item-wrapper.clean.info .gritter-close {
    background: #4aa3df;
}

.gritter-item-wrapper.clean.info .gritter-title{
    color: #4aa3df;
}

.gritter-item-wrapper.clean.warning .gritter-close {
    background: #fe980a;
}

.gritter-item-wrapper.clean.warning .gritter-title{
    color: #fe980a;
}

.gritter-close {
	display:none;
	position:absolute;
	top:5px;
	left:3px;
	cursor:pointer;
	width:30px;
	height:30px;
	text-indent:-9999em;
}


.gritter-title {
	font-size:14px;
	font-weight:bold;
	padding:0 0 7px 0;
	display:block;
	text-shadow:1px 1px 0 #000; /* Not supported by IE :( */
}
.hidden {
	display: none;
}
.divider {
  height: 1px;
  margin-top: 10px;
  margin-bottom: 20px;
  overflow: hidden;
  background-color: #e5e5e5;
}
.cl-mcont {
	padding: 1em 0;
}
.login-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #1b1b1b;
}

.login-logo img {
	width: 155px;
}

.sidebar-logo {
  background: #1b1b1b;
  padding: 10px 0px;
  display: block;
  height: 120px;
}

.sidebar-logo .logo{
	/*display: block;*/
	/*width: 220px;*/
	/*height: 96px;*/
	/*margin: auto;*/
	/*align*/
	display: flex;
	align-items: center;
	justify-content: center;
}

.sidebar-logo .logo img {
	width: 260px;
}
.sb-collapsed .sidebar-logo .logo img {
	width: 60px;
}

.user-name {
	display: block;
	color: #a3a3a3;
	text-align: center;
	padding: 0 10px 10px 10px;
	background: #1b1b1b;
}
.sb-collapsed .user-name {
	display: none;
}
.sidebar-logo .logo .logo-txt {
	margin-top: 10px;
	color: #fff;
}
.sb-collapsed .sidebar-logo {
	 height: 50px;
}

ul {
	list-style: none;
	padding: 0;
}
ul.actions_menu li{

	display: inline-block;
}
.header h3 span {
	display: inline-block;
	margin-left: 15px;
}
table.table thead .sorting {
	background-repeat: no-repeat;
    background-position: center right;
	background-image: url("../images/sort_both.png");
}
table.table thead .sort:hover {
	cursor: pointer;
	background-color: #FEC35D;
}
table.table thead .sorting_desc {
    background: url('../images/sort_desc.png') no-repeat center right;
}
table.table thead .sorting_asc {
    background: url('../images/sort_asc.png') no-repeat center right;
}
.dataTable {
	color: #000;
}
.dataTable.table-cursor tbody tr:hover{ cursor:pointer}
.dataTable.table-hover>tbody>tr:hover>td, .table-hover>tbody>tr:hover>th{
	background-color: #f7ead9;
}
.alert .msg-content {margin-left: 50px;}
/*JSPANEL*/
.jsPanel .navbar {min-height: 40px !important;  line-height: 40px; background-color: #fff0ce;}
.jsPanel .navbar-brand.jsPanel-title {height: auto; min-height: 40px; line-height: 40px;}
.jsPanel .jsPanel-controls {min-height: 40px; line-height: 40px; margin: 10px -30px 0 0 !important;}
.jsPanel .jsPanelBlock {
	padding: 0 20px;
}
.navbar-brand.jsPanel-title {width: auto;}

/**MODAL VEX */
.vex.vex-theme-plain .vex-content .vex-dialog-message {
	margin-top: 20px;
}
.vex.vex-theme-plain .vex-content {
	text-align: center;
	font-size: 16px;
	border-radius: 5px;
	padding: 2em;
}
.vex.vex-theme-plain .vex-content  h4 {
	font-weight: 400;
}
.vex-dialog-buttons {
	margin-top: 20px;
	border-top: 1px solid #ccc;
	padding-top: 30px;
}
.dataTable td.highlight {background-color: #FFC58A !important;}
.torneio-agenda td.highlight {text-align: center; }
.filters {
	border: 1px solid #EF8900;
	border-radius: 10px;
	padding: 15px;
}
.btn-centered {
	margin: auto;
	display: block;
}
.filters .radio-inline {
	margin-left: 0 !important;
	margin-bottom: 15px;
}
.filters .filter-group {
	margin-bottom: 15px;
	border-bottom: 1px solid #cecece;
}
.filters .filter-group .form-group {
	margin-top: 0;
}
.block-flat .content .filters h4 {
	margin-top: 0;
}
.dataTables_length select {
	padding: 6px 8px;
	border: 1px solid #ddd;
}
.dataTables_length {float: left;}
.dataTables_filter {float: right;}
.dataTables_filter input {
	margin-left: 15px;
	padding: 6px 8px;
    font-size: 12px;
    border-radius: 1px;
    -webkit-border-radius: 1px;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}
.dataTables_paginate > a , .dataTables_paginate span .paginate_button, .dataTables_paginate .ellipsis {
	cursor: pointer;
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #434D55;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd;
}
.dataTables_paginate  a.current {
	background-color: #fe980a;
	border-color: #fe980a;
}
.sidebar-logo .logo .logo-txt {
    margin-top: 10px;
    color: #fff;
    text-align: center;
    font-size: 16px;
}
.cl-vnavigation > .parent.open >  ul li {
	padding-left: 15px;
}
.click label {
	cursor: pointer;
}
.servicos .jsTimes .control-label  {
	float: left;
	margin-right: 15px;
    padding-bottom: 5px !important;
}

.form-horizontal .control-label {
    padding-top: 7px;
    margin-bottom: 5px;
    text-align: right;
}

.servicos .m-time {
	width: 80px;
}
.servicos .table {
	width: auto !important;
}
.form-group .ui-multiselect {
  	padding: 8px 12px;
}
.ui-multiselect-checkboxes li {
	padding: 4px;
}
.ui-multiselect-checkboxes li label {
	padding: 4px;
	cursor: pointer;
}
.ui-multiselect-checkboxes li input {
	margin-right: 5px;
}
.ui-multiselect-checkboxes li label span{
	font-weight: normal;
}
/* FORM CONTROL */
.form-control{
	font-size: 14px;
	color: #5d5d5d;
	font-weight: bold;
    height: 40px;
}
.form-control {
    border-radius: 5px !important;
}

/*Sobrescrever BootStrap*/
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btninput::placeholder{
    border-radius: 5px; !important;
}


/**
DROPDOWN DATATABLES
**/
.table .btn.dropdown-toggle {
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    transition: none !important;
}

.table .btn.dropdown-toggle::after {
    display: none !important;

}




/* INPUT SIZES */
.input-50 {
	display: inline-block;
	width: 50px;
}
.select.form-control.ui-state-default {
	border-radius: 6px;
	font-size: 1.1em;
}
.select.form-control.ui-state-default:hover{
	border: 1px solid #f5ad66;
    background: #f5f0e5 url(images/ui-bg_glass_100_f5f0e5_1x400.png) 50% 50% repeat-x;
    font-weight: normal;
    color: #a46313;
}
/* Dashboard-like Filters styling for generic filter forms */
/* #jsFilterControls {
    background: #ffffff;
    padding: 20px 24px;
    border-radius: 10px;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    border-left: 4px solid #667eea; 
    border-top: 1px solid #eef2f7;
    border-right: 1px solid #eef2f7;
    border-bottom: 1px solid #eef2f7;
}


#jsFilterControls label {
    display: inline-block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #838383;
}

#jsFilterControls .form-control,
#jsFilterControls select,
#jsFilterControls input[type="text"],
#jsFilterControls input[type="date"],
#jsFilterControls input[type="number"] {
    width: 100%;
    padding: 10px;
    border: 2px solid #e9ecef;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.3s, box-shadow 0.3s;
    color: #5d5d5d;
}

#jsFilterControls .form-control:focus,
#jsFilterControls select:focus,
#jsFilterControls input[type="text"]:focus,
#jsFilterControls input[type="date"]:focus,
#jsFilterControls input[type="number"]:focus {
    border-color: #667eea;
    outline: none;
    box-shadow: 0 0 0 3px rgba(102,126,234,0.1);
}

button.btn {
    border-radius: 5px;
}

button.btn-success.new2 {
    background: linear-gradient(0deg, #0b5b53 0%, #128f77 100%);
    color: #fff;

    border-radius: 6px;
    font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s;
    border-color: #128f77;
}


#jsFilterControls .btn-primary,
#jsFilterControls .btn-filter,
#jsFilterControls .btn.btn-success,
#jsFilterControls .btn.btn-info {
    background: linear-gradient(0deg, #354c77 0%, #667eea 100%);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s;
}
#jsFilterControls .btn.btn-tool.btn-xs{
    padding: 5px 10px;
}

#jsFilterControls .btn.btn-xs.btn-tool {
backgroundlinear-gradient(135deg, #e5eaff 0%, #bbaec7 100%)
    font-size: 0.8em;

}
#jsFilterControls .btn.btn-default{
    background: linear-gradient(0deg, #354c77 0%, #667eea 100%);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s;
}
#jsFilterControls .btn i {
    color: #fff;
}

#jsFilterControls .btn-primary:hover,
#jsFilterControls .btn-filter:hover,
#jsFilterControls .btn.btn-success:hover,
#jsFilterControls .btn.btn-info:hover ,
#jsFilterControls .btn.btn-default:hover{
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(102,126,234,0.3);
}


#jsFilterControls .form-group { margin-bottom: 15px; } */
*/


/* Responsive tweaks */
@media (max-width: 768px) {
    #jsFilterControls { padding: 16px; }
    #jsFilterControls .btn { width: 100%; }
}
.easy-autocomplete.eac-round {
	width: 100% !important;
	max-width: 100%;
}
.easy-autocomplete input {
	border-radius: 5px;
	box-shadow: none;
}
.font-big {
	font-size: 2em;
}
.font-up {
	text-transform: uppercase;
}
.form-big {
	height: 1.8em;
}

.table.formas-pagamento tfoot tr td,
.table.formas-pagamento tbody tr td {
	font-size: 14px;
	vertical-align: middle;
}
.table.formas-pagamento .lbl_qtq{
	width: 25px;
}
.table.formas-pagamento .opcao_name {
	width: 250px;
}
.table.formas-pagamento tfoot{
	font-size: 18px;
	font-weight: bold;
}
.table.formas-pagamento #jsFormaValorTotal {
	padding: 7px;
	border: 1px solid #eee;
}
.table.formas-pagamento #jsFormaValorTotal.error {
	border: 1px solid #C8232C;
}
.easy-autocomplete-container ul li div{
	line-height: 35px;
	font-size: 18px;
}
.popover.poperror {
	border-color: #AE1F10;
}
.modal-widget ul li{
	font-size: 13px;
	padding: 5px;
}
.widget-releases table tr.highlight td:first-child{
	background: #4aa3df;
}
.widget-releases table tr.row-color-alert2 td {
	background: rgba(255, 190, 8, 0.5);
}
.widget-releases table tr.row-color-info td {
	background: #4aa3df;
}
.widget-releases table tr.row-color-warning td {
	background: rgba(241, 110, 63, 0.5);
}
.widget-releases table tr.row-color-success td {
	background: rgba(25, 182, 152, 0.5);
}


.widget-release-itens ul li .input-sigla-item {
	width: 180px;
}
.widget-release-itens ul li .item_numb {
	width: 40px;
}
.widget-release-itens ul .clone-item {
	margin-bottom: 10px;
}
.widget-release-itens ul .clone-item .JsDelSigla{
	margin: 0 !important;
}
.btn-group .btn-item {
	width: 50%;
	float: left;
}
.btn-group {
	margin: 0;
	margin-bottom: 2px;
	clear: both;
}
.btn-group .btn.btn-none {
	visibility: hidden !important;
}
.widget-tarefas-pendentes .btn-processar {
	margin-top: -6px;
}
.widget-tarefas-pendentes .alert-warning {
	border-color: #e76435;
}

.ws-lista {
	border: 1px solid #000;
	padding: 0 20px ;
}
.ws-lista.warning {
	border-color: #e76435;
}

.icon-warning {
	color: #ea6153;
}

.btn-system{
    color: #fff;
    background-color: #d9d9d9;
    border-color: transparent;
}

.btn-system:hover {
    background-color: #bfbaba;
}

input.item-codcont {
	width: 180px !important;
}

.container-list li.success input {
	border-color: #22CC22 !important;
}
.container-list li.error input {
	border-color: #c00 !important;
}
.container-list li.success .icon{
	color: #22CC22;
}
.container-list li.error .icon{
	color: #c00;
}
.container-list .input-group {
	margin-bottom: 0;
}
.container-list .input-group .input-item{
	position: relative;
	display: table-cell;
	vertical-align: top;
	padding-right: 2px;
	float: left;
}
.container-list .input-group .input-group-btn {
	display: table-cell;
	vertical-align: top;
	float: left;
	width: 40px;
}
.container-list .input-group .input-group-btn .btn {
	border-color: #fff;
	font-size: 16px;
}

.container-list .input-group .input-item .icon {
	position: absolute;
    right: 5px;
    top: 5px;
    z-index: 100;
	display: none;
}

.container-list .input-group .numb {
	width: 40px;
	float: left;
	display: table-cell;
	text-align: center;
	background-color: #dbdbdb;
	border-right: 0;
}

.attachments-cta{position:relative;margin:10px auto 0 auto;padding:32px 20px;border-radius:14px;background:linear-gradient(135deg,#f7f9fc 0%,#ffffff 100%);border:1px solid #e8eef5;box-shadow:0 6px 18px rgba(16,24,40,0.06);max-width:720px;text-align:center}
.attachments-cta__text{font-size:16px;line-height:1.6;color:#475467;margin:0 0 18px 0}
.attachments-cta__actions{margin:8px 0 6px 0}
.attachments-cta__btn{display:inline-flex;align-items:center;gap:10px;background:#2e90fa;color:#fff!important;border:0;border-radius:10px;padding:14px 22px;font-weight:600;letter-spacing:.2px;text-decoration:none;box-shadow:0 10px 20px rgba(46,144,250,0.25);transition:all .2s ease-in-out}
.attachments-cta__btn:hover{background:#1570ef;transform:translateY(-1px);box-shadow:0 12px 22px rgba(46,144,250,0.32)}
.attachments-cta__btn:active{transform:translateY(0);box-shadow:0 6px 14px rgba(46,144,250,0.2)}
.attachments-cta__btn i{font-size:18px}
.attachments-cta__helper{font-size:12px;margin-top:10px;color:#667085}
@media (max-width:480px){.attachments-cta{padding:22px 16px;border-radius:12px}.attachments-cta__btn{width:100%;justify-content:center;padding:14px 18px}.attachments-cta__text{font-size:15px}}




/* my-header-tools (DataTables header utilities) */
.my-header-tools {
  display: flex;
  align-items: center;
  gap: .5rem;
}

/* Global fixes to align action dropdowns within viewport and to the right edge of their button
   Applies to all pages using .actions-btn in dropdown menus. */

/* Ensure dropdown aligns from right to left (inside the page) */

/* Corrigir overflow dos containers DataTables para permitir dropdowns */
.dataTables_wrapper,
.dataTables_scroll,
.dataTables_scrollBody,
.dt-container,
.dt-scroll,
.dt-scroll-body,
.table-responsive {
    overflow: visible !important;
}

/* Container da tabela específico para permitir dropdowns */
.box-body {
    overflow: visible !important;
}

/* Garantir que dropdowns apareçam acima de todos os elementos */
.btn-group .dropdown-menu.actions-btn,
.dropdown .dropdown-menu.actions-btn,
.table .btn-group .dropdown-menu.actions-btn,
.dataTables_wrapper .btn-group .dropdown-menu.actions-btn,
.dataTables_wrapper .dropdown-menu,
.dt-container .dropdown-menu {
    left: auto !important;
    right: 0 !important;
    transform-origin: top right;
    z-index: 5000000 !important;
    position: absolute !important;

}

/* Forçar posicionamento correto quando próximo ao final da página */
.dataTables_wrapper .btn-group .dropdown-menu.actions-btn {
    margin-top: 0;
    top: 100%;
}

/* Para casos em que o dropdown deve aparecer acima do botão */
.dropup .dropdown-menu.actions-btn {
    top: auto !important;
    bottom: 100% !important;
    margin-bottom: 2px;
}

/* Safety: make the trigger a positioning context */
.btn-group,
.dropdown {
    position: relative;
}

/* Optional: keep menu within narrow columns */
.table .dropdown-menu.actions-btn {
    min-width: 160px;
    white-space: nowrap;
}

/* When used as dropup, keep the right alignment */
.dropup .dropdown-menu.actions-btn {
    left: auto;
    right: 0;
    bottom: 100%;
    top: auto;
}










/* =============================================================
   Soft Theme Enforce (loads before Bootstrap in layout; ensure override)
   Re-declare variables with !important so they survive later Bootstrap :root
   ============================================================= */
:root{
  --bs-primary:   var(--app-blue) !important;
  --bs-secondary: var(--app-gray) !important;
  --bs-success:   var(--app-green) !important;
  --bs-danger:    var(--app-red) !important;
  --bs-warning:   var(--app-yellow) !important;
  --bs-info:      var(--app-teal) !important;
  --bs-light:     var(--app-gray-6) !important;
  --bs-dark:      #1c1c1e !important;
  --bs-border-radius: .6rem !important;
  --bs-border-radius-sm: .5rem !important;
  --bs-border-radius-lg: .85rem !important;
  --bs-body-bg: var(--app-body-bg) !important;
  --bs-body-color: var(--app-text) !important;
}

/* Button variant variables with !important so Bootstrap defaults don't overwrite */
.btn-primary{
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--app-blue) !important;
  --bs-btn-border-color: var(--app-blue) !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-hover-bg: #0076f5 !important;
  --bs-btn-hover-border-color: #0070e9 !important;
  --bs-btn-focus-shadow-rgb: 10,132,255 !important;
  --bs-btn-active-bg: #0062d6 !important;
  --bs-btn-active-border-color: #005ac2 !important;
}
.btn-secondary{
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--app-gray) !important;
  --bs-btn-border-color: var(--app-gray) !important;
  --bs-btn-hover-bg: #7c7c82 !important;
  --bs-btn-hover-border-color: #7c7c82 !important;
  --bs-btn-focus-shadow-rgb: 142,142,147 !important;
  --bs-btn-active-bg: #6f6f75 !important;
  --bs-btn-active-border-color: #6f6f75 !important;
}
.btn-success{
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--app-green) !important;
  --bs-btn-border-color: var(--app-green) !important;
  --bs-btn-hover-bg: #2fb752 !important;
  --bs-btn-hover-border-color: #2fb752 !important;
  --bs-btn-focus-shadow-rgb: 52,199,89 !important;
  --bs-btn-active-bg: #29a84a !important;
  --bs-btn-active-border-color: #29a84a !important;
}
.btn-danger{
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--app-red) !important;
  --bs-btn-border-color: var(--app-red) !important;
  --bs-btn-hover-bg: #ff3b2f !important;
  --bs-btn-hover-border-color: #ff3b2f !important;
  --bs-btn-focus-shadow-rgb: 255,69,58 !important;
  --bs-btn-active-bg: #e3392f !important;
  --bs-btn-active-border-color: #e3392f !important;
}
.btn-warning{
  --bs-btn-color: #2b2b2b !important;
  --bs-btn-bg: var(--app-yellow) !important;
  --bs-btn-border-color: var(--app-yellow) !important;
  --bs-btn-hover-color: #1f1f1f !important;
  --bs-btn-hover-bg: #f2c90a !important;
  --bs-btn-hover-border-color: #f2c90a !important;
  --bs-btn-focus-shadow-rgb: 255,214,10 !important;
  --bs-btn-active-bg: #e6be09 !important;
  --bs-btn-active-border-color: #e6be09 !important;
}
.btn-info{
  --bs-btn-color: #0b2a33 !important;
  --bs-btn-bg: var(--app-teal) !important;
  --bs-btn-border-color: var(--app-teal) !important;
  --bs-btn-hover-color: #082026 !important;
  --bs-btn-hover-bg: #56c9fd !important;
  --bs-btn-hover-border-color: #56c9fd !important;
  --bs-btn-focus-shadow-rgb: 100,210,255 !important;
  --bs-btn-active-bg: #45b7eb !important;
  --bs-btn-active-border-color: #45b7eb !important;
}

/* =============================================================
   TÍTULOS SUAVES GLOBAIS - 70% Preto
   ============================================================= */

/* Títulos principais com ícones alinhados */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: rgba(0, 0, 0, 0.7) !important;
    font-weight: 500 !important;
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

/* Ícones nos títulos */
h1 i, h2 i, h3 i, h4 i, h5 i, h6 i,
.h1 i, .h2 i, .h3 i, .h4 i, .h5 i, .h6 i {
    margin-right: 0.75rem;
    color: rgba(0, 0, 0, 0.6) !important;
    font-weight: normal !important;
}

/* Tamanhos específicos */
h1, .h1 { font-size: 2rem; }
h2, .h2 { font-size: 1.75rem; }
h3, .h3 { font-size: 1.5rem; }
h4, .h4 { font-size: 1.25rem; }
h5, .h5 { font-size: 1.1rem; }
h6, .h6 { font-size: 1rem; }

/* Títulos em cards e modais */
.card-heading h1, .card-heading h2, .card-heading h3,
.card-heading h4, .card-heading h5, .card-heading h6,
.modal-header h1, .modal-header h2, .modal-header h3,
.modal-header h4, .modal-header h5, .modal-header h6 {
    color: rgba(0, 0, 0, 0.7) !important;
    font-weight: 500 !important;
}

/* =============================================================
   Apple‑style Soft Theme (Bootstrap 5 friendly)
   Focus: soft colors, high legibility, low visual fatigue
   Notes: Does NOT touch dropdown/caret mechanics
   ============================================================= */
:root {
  /* Base palette (inspired by Apple SF Colors) */
  --app-blue:    #0a84ff; /* systemBlue */
  --app-green:   #34c759; /* systemGreen */
  --app-red:     #ff453a; /* systemRed */
  --app-orange:  #ff9f0a; /* systemOrange */
  --app-yellow:  #ffd60a; /* systemYellow */
  --app-teal:    #64d2ff; /* systemTeal */
  --app-gray:    #8e8e93; /* systemGray */
  --app-gray-2:  #aeaeb2;
  --app-gray-6:  #f2f2f7;

  /* Surface & text */
  --app-body-bg: #f8f9fb;
  --app-text:    #1f2937; /* charcoal */

  /* Radii */
  --bs-border-radius: .6rem;
  --bs-border-radius-sm: .5rem;
  --bs-border-radius-lg: .85rem;

  /* Map to Bootstrap semantic colors (safe override) */
  --bs-primary:   var(--app-blue);
  --bs-secondary: var(--app-gray);
  --bs-success:   var(--app-green);
  --bs-danger:    var(--app-red);
  --bs-warning:   var(--app-yellow);
  --bs-info:      var(--app-teal);
  --bs-light:     var(--app-gray-6);
  --bs-dark:      #1c1c1e;

  /* Body */
  --bs-body-bg: var(--app-body-bg);
  --bs-body-color: var(--app-text);
}

/* Subtle elevation and rounded feel */
.card,
.dropdown-menu,
.modal-content,
.list-group,
.offcanvas,
.toast {
  border-radius: var(--bs-border-radius-lg);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.06);
}

/* Buttons: keep Bootstrap mechanics, only tune variables and softness */
.btn {
  border-radius: var(--bs-border-radius);
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  transition: box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
  font-weight: 600;
}
.btn:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.btn:active { box-shadow: 0 1px 2px rgba(0,0,0,.06); }

/* Primary */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--app-blue);
  --bs-btn-border-color: var(--app-blue);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0076f5;
  --bs-btn-hover-border-color: #0070e9;
  --bs-btn-focus-shadow-rgb: 10,132,255;
  --bs-btn-active-bg: #0062d6;
  --bs-btn-active-border-color: #005ac2;
}

/* Secondary (neutral gray, very soft) */
.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--app-gray);
  --bs-btn-border-color: var(--app-gray);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #7c7c82;
  --bs-btn-hover-border-color: #7c7c82;
  --bs-btn-focus-shadow-rgb: 142,142,147;
  --bs-btn-active-bg: #6f6f75;
  --bs-btn-active-border-color: #6f6f75;
}

/* Success */
.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--app-green);
  --bs-btn-border-color: var(--app-green);
  --bs-btn-hover-bg: #2fb752;
  --bs-btn-hover-border-color: #2fb752;
  --bs-btn-focus-shadow-rgb: 52,199,89;
  --bs-btn-active-bg: #29a84a;
  --bs-btn-active-border-color: #29a84a;
}

/* Danger */
.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--app-red);
  --bs-btn-border-color: var(--app-red);
  --bs-btn-hover-bg: #ff3b2f;
  --bs-btn-hover-border-color: #ff3b2f;
  --bs-btn-focus-shadow-rgb: 255,69,58;
  --bs-btn-active-bg: #e3392f;
  --bs-btn-active-border-color: #e3392f;
}

/* Warning (keep readable text) */
.btn-warning {
  --bs-btn-color: #2b2b2b;
  --bs-btn-bg: var(--app-yellow);
  --bs-btn-border-color: var(--app-yellow);
  --bs-btn-hover-color: #1f1f1f;
  --bs-btn-hover-bg: #f2c90a;
  --bs-btn-hover-border-color: #f2c90a;
  --bs-btn-focus-shadow-rgb: 255,214,10;
  --bs-btn-active-bg: #e6be09;
  --bs-btn-active-border-color: #e6be09;
}

/* Info */
.btn-info {
  --bs-btn-color: #0b2a33;
  --bs-btn-bg: var(--app-teal);
  --bs-btn-border-color: var(--app-teal);
  --bs-btn-hover-color: #082026;
  --bs-btn-hover-bg: #56c9fd;
  --bs-btn-hover-border-color: #56c9fd;
  --bs-btn-focus-shadow-rgb: 100,210,255;
  --bs-btn-active-bg: #45b7eb;
  --bs-btn-active-border-color: #45b7eb;
}

/* Outline variants: soft borders and subtle hover fill */
.btn-outline-primary { --bs-btn-color: var(--app-blue); --bs-btn-border-color: var(--app-blue); --bs-btn-hover-bg: rgba(10,132,255,.12); --bs-btn-hover-border-color: var(--app-blue); }
.btn-outline-secondary { --bs-btn-color: var(--app-gray); --bs-btn-border-color: var(--app-gray); --bs-btn-hover-bg: rgba(142,142,147,.12); --bs-btn-hover-border-color: var(--app-gray); }
.btn-outline-success { --bs-btn-color: var(--app-green); --bs-btn-border-color: var(--app-green); --bs-btn-hover-bg: rgba(52,199,89,.12); --bs-btn-hover-border-color: var(--app-green); }
.btn-outline-danger { --bs-btn-color: var(--app-red); --bs-btn-border-color: var(--app-red); --bs-btn-hover-bg: rgba(255,69,58,.12); --bs-btn-hover-border-color: var(--app-red); }
.btn-outline-warning { --bs-btn-color: #967c00; --bs-btn-border-color: var(--app-yellow); --bs-btn-hover-bg: rgba(255,214,10,.14); --bs-btn-hover-border-color: var(--app-yellow); }
.btn-outline-info { --bs-btn-color: #127a99; --bs-btn-border-color: var(--app-teal); --bs-btn-hover-bg: rgba(100,210,255,.14); --bs-btn-hover-border-color: var(--app-teal); }

/* Badges and pills (soft) */
.badge { border-radius: 999px; font-weight: 600; }

/* Tables & subtle borders */
.table { --bs-table-striped-bg: rgba(0,0,0,.015); }

/* Keep dropdown/caret mechanics as Bootstrap default: no overrides here */
