/* your styles go here */

:root,
html.theme-blue {
  --theme-primary: #1d7be5;
  --theme-primary-2: #5db0ff;
  --theme-primary-hover: #1768c4;
  --theme-primary-soft: rgba(29, 123, 229, 0.14);
  --theme-primary-shadow: rgba(29, 123, 229, 0.24);
  --theme-on-primary: #ffffff;
  --theme-topbar-start: #12273d;
  --theme-topbar-mid: #183958;
  --theme-topbar-end: #1d4f79;
  --theme-topbar-icon: #d8ecff;
  --theme-topbar-link: rgba(240, 248, 255, 0.9);
  --theme-sidebar-start: #14263a;
  --theme-sidebar-mid: #17314a;
  --theme-sidebar-end: #1a3c59;
  --theme-sidebar-text: rgba(231, 241, 250, 0.84);
  --theme-sidebar-heading: rgba(187, 216, 242, 0.74);
  --theme-sidebar-subicon: #8bcfff;
  --theme-footer-icon: #7cc8ff;
  --theme-shell-bg: linear-gradient(180deg, #eef8ff 0%, #f8fbff 48%, #ffffff 100%);
  --theme-shell-shadow: 0 18px 42px rgba(16, 55, 93, 0.08);
}

html.theme-yellow {
  --theme-primary: #d9b85f;
  --theme-primary-2: #f0dca0;
  --theme-primary-hover: #c4a24d;
  --theme-primary-soft: rgba(217, 184, 95, 0.18);
  --theme-primary-shadow: rgba(217, 184, 95, 0.22);
  --theme-on-primary: #18344f;
  --theme-topbar-start: #6f6651;
  --theme-topbar-mid: #8d8166;
  --theme-topbar-end: #a89a7b;
  --theme-topbar-icon: #fff7e4;
  --theme-topbar-link: rgba(255, 250, 238, 0.94);
  --theme-sidebar-start: #6d634f;
  --theme-sidebar-mid: #857760;
  --theme-sidebar-end: #9d8d73;
  --theme-sidebar-text: rgba(255, 248, 235, 0.9);
  --theme-sidebar-heading: rgba(246, 232, 198, 0.78);
  --theme-sidebar-subicon: #f5ddb0;
  --theme-footer-icon: #ecd19b;
  --theme-shell-bg: linear-gradient(180deg, #fff9ea 0%, #fffdf6 48%, #ffffff 100%);
  --theme-shell-shadow: 0 18px 42px rgba(125, 101, 53, 0.08);
}

html.theme-pink {
  --theme-primary: #d596b0;
  --theme-primary-2: #efc3d3;
  --theme-primary-hover: #bf8099;
  --theme-primary-soft: rgba(213, 150, 176, 0.18);
  --theme-primary-shadow: rgba(213, 150, 176, 0.22);
  --theme-on-primary: #ffffff;
  --theme-topbar-start: #6b5663;
  --theme-topbar-mid: #846878;
  --theme-topbar-end: #9f7f91;
  --theme-topbar-icon: #fff0f5;
  --theme-topbar-link: rgba(255, 243, 248, 0.94);
  --theme-sidebar-start: #68525f;
  --theme-sidebar-mid: #7f6272;
  --theme-sidebar-end: #97778a;
  --theme-sidebar-text: rgba(255, 240, 246, 0.9);
  --theme-sidebar-heading: rgba(240, 208, 221, 0.8);
  --theme-sidebar-subicon: #eeb9cb;
  --theme-footer-icon: #e5a9c1;
  --theme-shell-bg: linear-gradient(180deg, #fff4f8 0%, #fffafb 48%, #ffffff 100%);
  --theme-shell-shadow: 0 18px 42px rgba(112, 78, 95, 0.08);
}

html.theme-red {
  --theme-primary: #d38f92;
  --theme-primary-2: #edc0c2;
  --theme-primary-hover: #bd787c;
  --theme-primary-soft: rgba(211, 143, 146, 0.18);
  --theme-primary-shadow: rgba(211, 143, 146, 0.22);
  --theme-on-primary: #ffffff;
  --theme-topbar-start: #6e5558;
  --theme-topbar-mid: #87686b;
  --theme-topbar-end: #a07d80;
  --theme-topbar-icon: #fff0f0;
  --theme-topbar-link: rgba(255, 243, 243, 0.94);
  --theme-sidebar-start: #6b5255;
  --theme-sidebar-mid: #826164;
  --theme-sidebar-end: #997477;
  --theme-sidebar-text: rgba(255, 241, 241, 0.9);
  --theme-sidebar-heading: rgba(239, 208, 209, 0.8);
  --theme-sidebar-subicon: #ecb7b9;
  --theme-footer-icon: #e3a6a8;
  --theme-shell-bg: linear-gradient(180deg, #fff5f5 0%, #fffafa 48%, #ffffff 100%);
  --theme-shell-shadow: 0 18px 42px rgba(108, 79, 81, 0.08);
}

html.theme-green {
  --theme-primary: #7ebd9f;
  --theme-primary-2: #b7e0cb;
  --theme-primary-hover: #68a88a;
  --theme-primary-soft: rgba(126, 189, 159, 0.18);
  --theme-primary-shadow: rgba(126, 189, 159, 0.22);
  --theme-on-primary: #ffffff;
  --theme-topbar-start: #55695f;
  --theme-topbar-mid: #687e73;
  --theme-topbar-end: #7f978b;
  --theme-topbar-icon: #effaf4;
  --theme-topbar-link: rgba(242, 251, 246, 0.94);
  --theme-sidebar-start: #53665d;
  --theme-sidebar-mid: #63796f;
  --theme-sidebar-end: #789085;
  --theme-sidebar-text: rgba(241, 250, 245, 0.9);
  --theme-sidebar-heading: rgba(205, 229, 218, 0.8);
  --theme-sidebar-subicon: #b6ddc8;
  --theme-footer-icon: #a6d2bb;
  --theme-shell-bg: linear-gradient(180deg, #f2fbf6 0%, #f9fdfb 48%, #ffffff 100%);
  --theme-shell-shadow: 0 18px 42px rgba(73, 106, 90, 0.08);
}

html.theme-graphite {
  --theme-primary: #5c8fe8;
  --theme-primary-2: #8fb5ff;
  --theme-primary-hover: #4978c9;
  --theme-primary-soft: rgba(92, 143, 232, 0.18);
  --theme-primary-shadow: rgba(92, 143, 232, 0.28);
  --theme-on-primary: #ffffff;
  --theme-topbar-start: #272c34;
  --theme-topbar-mid: #2f3640;
  --theme-topbar-end: #39424d;
  --theme-topbar-icon: #dce6f7;
  --theme-topbar-link: rgba(234, 240, 248, 0.94);
  --theme-sidebar-start: #262b33;
  --theme-sidebar-mid: #2d333c;
  --theme-sidebar-end: #353d47;
  --theme-sidebar-text: rgba(227, 234, 244, 0.9);
  --theme-sidebar-heading: rgba(164, 178, 197, 0.82);
  --theme-sidebar-subicon: #9cb9ea;
  --theme-footer-icon: #89a7db;
  --theme-shell-bg: linear-gradient(180deg, #313740 0%, #39414b 48%, #434c58 100%);
  --theme-shell-shadow: 0 18px 42px rgba(8, 12, 18, 0.2);
}

html.theme-dark {
  --theme-primary: #4f8cff;
  --theme-primary-2: #84b2ff;
  --theme-primary-hover: #3a75df;
  --theme-primary-soft: rgba(79, 140, 255, 0.18);
  --theme-primary-shadow: rgba(79, 140, 255, 0.28);
  --theme-on-primary: #ffffff;
  --theme-topbar-start: #0f131a;
  --theme-topbar-mid: #161c25;
  --theme-topbar-end: #202b38;
  --theme-topbar-icon: #dbe7ff;
  --theme-topbar-link: rgba(235, 242, 255, 0.92);
  --theme-sidebar-start: #0f141b;
  --theme-sidebar-mid: #161c25;
  --theme-sidebar-end: #1d2632;
  --theme-sidebar-text: rgba(226, 234, 248, 0.9);
  --theme-sidebar-heading: rgba(150, 172, 205, 0.78);
  --theme-sidebar-subicon: #9fc0ff;
  --theme-footer-icon: #88adff;
  --theme-shell-bg: linear-gradient(180deg, #1a212b 0%, #202937 48%, #263243 100%);
  --theme-shell-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

td.yes {
    background-color: green;
  }
  td.no {
    background-color: red;
  }

div.pdbottom {
  padding-bottom: 15px;
}

.pagina {
  @include position(absolute, 0, 0);
  transition: width 0.3s linear;
  background-color: #F4F7FA;
  min-height: 100vh;
  padding-bottom: 50px;

}

.centro {
  position: fixed; /* or absolute */
  top: 10%;
  left: 25%;
}

.modal-dialog2 {
  
  max-width: 700px;
  margin: 1.75rem auto;
  
}

.botao2 {

  background-color: #ff3f3f;
  border: none;
  color: white;

  height: 25px;
  width: 25px;
  font-size: 14px;
  margin: 4px 2px;
  position: relative;
  left: 150px;
}
.botao4 {

  background-color: #ff3f3f;
  border: none;
  color: white;

  height: 25px;
  width: 25px;
  font-size: 14px;
  margin: 4px 2px;
  position: relative;
  left: 450px;
}

.botao3 {border-radius: 50%;}

.terminaltexto{
  height: 25px;
  width: 25px;
  font-size: 14px;
  margin: 4px 2px;
  position: absolute;
  left: 50x;
}

.terminaltexto2{
  height: 25px;
  width: 25px;
  font-size: 14px;
  margin: 4px 2px;
  position: absolute;
  left: 580px;
}

.fiotexto{
  height: 25px;
  width: 240px;
  font-size: 14px;
  margin: 4px 2px;
  position: absolute;
  left: 220px;
}


.fiotextold{
  height: 25px;
  width: 25px;
  font-size: 14px;
  margin: 45px 2px;
  position: absolute;
  left: 320px;
}

.terminaltexto2ld{
  height: 25px;
  width: 25px;
  font-size: 14px;
  margin: 45px 2px;
  position: absolute;
  left: 580px;
}


.fiotextord{
  height: 25px;
  width: 25px;
  font-size: 14px;
  margin: 45px 2px;
  position: absolute;
  left: 320px;
}

.terminaltexto2rd{
  height: 25px;
  width: 25px;
  font-size: 14px;
  margin: 45px 2px;
  position: absolute;
  left: 50px;
}

.tabelateste {
  border-collapse: collapse;
  width: 100%;
}

.tabelateste th, .tabelateste td {
  border: 1px solid #ccc;
  padding: 8px;
}

.tabelateste thead {
  background-color: #ebf5fb;
}

.tabelateste th {
  font-size: 16px;
}

.tabelateste tr:nth-child(even) {
  background-color: #ebf5fb  ;
}

.tabelateste .dragging {
  background-color: #ddd;
  color: #777;
}

.tabelateste tbody {
  transition: background-color 0.2s ease;
}
.tabelap{
  width: 100%;
}

.tabelah{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px;
  background-color: #212529; 
}
.tabelah p{
  color: #666;
  font-weight: bold;
}

.tabelai {

padding: 0.15rem 0.75rem;
font-size: 1rem;
line-height: 1.5;
color: #495057;
border-radius: 0;
border: 1px solid #ced4da;
}

.form-control-sh {
  width:100%;
  height:calc(2.25rem + 2px);
  padding:.375rem .75rem;
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
  color:#495057;
  background-color:#fff;
  background-clip:padding-box;
  border:1px solid #ced4da;
  border-radius:.25rem;
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out
 }

 
.icon-pdf{
	background:url('images/pdf.png') no-repeat center center;
}

tr.selected {
  background-color: #b2dafa;
}

.icon-container {
  text-align: center;
  margin-right: 20px; /* Adicione a margem direita para criar espaço entre os ícones */
  display: inline-block; /* Para garantir que cada ícone fique em uma linha separada */
}

.section-grafico {
  padding: 3rem 0;
}

.section-grafico {
  padding-bottom: 0;
}

section header {
  padding-top: 2rem;
  padding-bottom: 2rem;
}


.btn-custom {
  background-color: rgb(236, 133, 14); /* Cor de fundo laranja */
  color: black; /* Texto preto */
  border: none; /* Remover a borda */
}

.btn-custom:hover {
  background-color: rgba(184, 101, 0, 0.692); /* Cor mais escura ao passar o mouse */
}

.btn-natal {
  background-color: rgb(255, 4, 4); /* Cor de fundo laranja */
  color: white; /* Texto preto */
  border: none; /* Remover a borda */
}

.btn-natal:hover {
  background-color: rgba(184, 0, 0, 0.692); /* Cor mais escura ao passar o mouse */
}

.fechamento-shell {
  --fech-bg: var(--theme-shell-bg);
  --fech-border: rgba(25, 71, 122, 0.12);
  --fech-shadow: var(--theme-shell-shadow);
  background: var(--fech-bg);
  border-radius: 24px;
  padding: 1.5rem 1.5rem 2rem;
}

.fechamento-hero {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.5rem 0 1.75rem;
}

.fechamento-hero__icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-2) 100%);
  color: var(--theme-on-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  box-shadow: 0 14px 28px var(--theme-primary-shadow);
}

.fechamento-hero__icon--violet {
  background: linear-gradient(135deg, #6947d8 0%, #8d78f3 100%);
  box-shadow: 0 14px 28px rgba(105, 71, 216, 0.2);
}

.fechamento-hero__icon--danger {
  background: linear-gradient(135deg, #d64d61 0%, #f2838f 100%);
  box-shadow: 0 14px 28px rgba(214, 77, 97, 0.22);
}

.fechamento-hero__icon--success {
  background: linear-gradient(135deg, #1d9e79 0%, #4cd0ab 100%);
  box-shadow: 0 14px 28px rgba(29, 158, 121, 0.22);
}

.fechamento-hero__icon--amber {
  background: linear-gradient(135deg, #dd9a22 0%, #f0c257 100%);
  box-shadow: 0 14px 28px rgba(221, 154, 34, 0.22);
}

.fechamento-hero__icon--teal {
  background: linear-gradient(135deg, #1488a9 0%, #4ac7df 100%);
  box-shadow: 0 14px 28px rgba(20, 136, 169, 0.22);
}

.fechamento-hero__icon--mint {
  background: linear-gradient(135deg, #118a8a 0%, #3ed0c5 100%);
  box-shadow: 0 14px 28px rgba(17, 138, 138, 0.22);
}

.fechamento-hero__eyebrow {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--theme-primary-hover);
  margin-bottom: 0.4rem;
}

.fechamento-hero__title {
  margin-bottom: 0.45rem;
  color: #16324f;
}

.fechamento-hero__text {
  margin-bottom: 0;
  max-width: 760px;
  color: #56718d;
}

.fechamento-tabs-wrap {
  margin-bottom: 1rem;
}

.fechamento-tabs {
  border-bottom: 0;
  gap: 0.65rem;
}

.fechamento-tabs .nav-link {
  border: 0;
  border-radius: 14px;
  background: #fff;
  color: #486581;
  font-weight: 600;
  box-shadow: 0 8px 22px rgba(15, 52, 88, 0.06);
  padding: 0.9rem 1.15rem;
}

.fechamento-tabs .nav-link.active {
  background: linear-gradient(135deg, #16324f 0%, var(--theme-primary) 100%);
  color: var(--theme-on-primary);
  box-shadow: 0 12px 24px rgba(22, 50, 79, 0.22);
}

.fechamento-card {
  border: 1px solid var(--fech-border);
  border-radius: 22px;
  box-shadow: var(--fech-shadow);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
}

.fechamento-card__header {
  border-bottom: 1px solid rgba(20, 57, 95, 0.08);
  background: linear-gradient(135deg, rgba(29, 123, 229, 0.08) 0%, rgba(255, 255, 255, 0.92) 100%);
}

.fechamento-card__header h4 {
  margin-bottom: 0;
  color: #17314a;
  font-weight: 700;
}

.fechamento-card--primary .fechamento-card__header {
  background: linear-gradient(135deg, var(--theme-primary-soft) 0%, rgba(255, 255, 255, 0.08) 100%);
}

.fechamento-card--violet .fechamento-card__header {
  background: linear-gradient(135deg, rgba(105, 71, 216, 0.16) 0%, rgba(141, 120, 243, 0.06) 100%);
}

.fechamento-card--amber .fechamento-card__header {
  background: linear-gradient(135deg, rgba(238, 161, 31, 0.18) 0%, rgba(255, 209, 124, 0.08) 100%);
}

.fechamento-card--teal .fechamento-card__header {
  background: linear-gradient(135deg, rgba(29, 158, 121, 0.16) 0%, rgba(76, 208, 171, 0.08) 100%);
}

.fechamento-card--rose .fechamento-card__header {
  background: linear-gradient(135deg, rgba(214, 77, 97, 0.16) 0%, rgba(242, 131, 143, 0.08) 100%);
}

.fechamento-card--danger .fechamento-card__header {
  background: linear-gradient(135deg, rgba(214, 77, 97, 0.18) 0%, rgba(255, 214, 219, 0.08) 100%);
}

.fechamento-card--success .fechamento-card__header {
  background: linear-gradient(135deg, rgba(29, 158, 121, 0.18) 0%, rgba(211, 245, 234, 0.08) 100%);
}

.fechamento-card--mint .fechamento-card__header {
  background: linear-gradient(135deg, rgba(17, 138, 138, 0.18) 0%, rgba(62, 208, 197, 0.08) 100%);
}

.fechamento-card__body {
  padding-top: 1.35rem;
  padding-bottom: 1.35rem;
}

.fechamento-divider {
  height: 1px;
  background: linear-gradient(90deg, rgba(23, 49, 74, 0.08) 0%, rgba(23, 49, 74, 0.02) 100%);
  margin: 0 0 1.35rem;
}

.fechamento-panel-title {
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #547391;
  margin-bottom: 1rem;
}

.fechamento-table-wrap {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(22, 50, 79, 0.08);
}

.fechamento-table {
  margin-bottom: 0;
  background: #fff;
}

.fechamento-table thead.thead-dark th {
  background: #16324f;
  border-color: #16324f;
  color: #f5fbff;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fechamento-table tbody tr:nth-child(even) {
  background: rgba(228, 240, 250, 0.38);
}

.fechamento-table tbody td {
  vertical-align: middle;
}

.fechamento-actions .btn {
  margin-right: 0.65rem;
  margin-bottom: 0.6rem;
  border-radius: 12px;
  box-shadow: 0 10px 18px rgba(17, 48, 77, 0.08);
}

.fechamento-inline-total h4,
.fechamento-inline-total .h4 {
  color: #17314a;
}

.fechamento-results-grid .card {
  border: 0;
}

.fechamento-result-card {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(19, 48, 74, 0.11);
  height: 100%;
}

.fechamento-result-card .card-header {
  font-weight: 700;
  color: #fff;
  border-bottom: 0;
}

.fechamento-result-card__body {
  min-height: 210px;
  background: #fff;
}

.fechamento-result-card--ocean .card-header {
  background: linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-2) 100%);
}

.fechamento-result-card--gold .card-header {
  background: linear-gradient(135deg, #dd9a22 0%, #f0c257 100%);
}

.fechamento-result-card--mint .card-header {
  background: linear-gradient(135deg, #1d9e79 0%, #4cd0ab 100%);
}

.chamada-shell {
  --chamada-muted: #5f7c98;
}

.chamada-card {
  margin-bottom: 1.5rem;
}

.chamada-section-title {
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--chamada-muted);
  margin-bottom: 1rem;
}

.chamada-textarea {
  min-height: 132px;
  resize: vertical;
}

.chamada-toggle-wrap {
  padding: 0.65rem 0.85rem;
  border-radius: 14px;
  background: rgba(20, 136, 169, 0.06);
  border: 1px solid rgba(20, 136, 169, 0.09);
}

.chamada-search-grid {
  display: grid;
  gap: 0.85rem;
}

.chamada-search-card {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 0.9rem;
  padding: 1rem 1.05rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(22, 50, 79, 0.1);
  box-shadow: 0 10px 24px rgba(14, 42, 67, 0.05);
  cursor: pointer;
}

.chamada-search-card__radio {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0.2rem;
}

.chamada-search-card__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.chamada-search-card__title {
  font-weight: 700;
  color: #18344f;
  margin-bottom: 0.18rem;
}

.chamada-search-card__text {
  color: #63809b;
  font-size: 0.92rem;
}

.chamada-search-card--inline {
  grid-template-columns: 32px minmax(220px, 1fr) minmax(180px, auto);
  align-items: center;
}

.chamada-search-card__fields {
  display: flex;
  gap: 0.55rem;
  align-items: center;
  justify-content: flex-end;
}

.chamada-search-card__fields .form-control-sh,
.chamada-search-card__fields .combo-autocomplete-input {
  min-width: 120px;
}

.chamada-search-card__fields--wide {
  min-width: 280px;
}

.chamada-search-card__fields--wide .combo-autocomplete-wrapper {
  margin-bottom: 0;
  width: 100%;
}

.chamada-search-card__fields--wide .combo-autocomplete-input {
  width: 100%;
}

.chamada-results-total {
  color: #1b3b57;
  font-weight: 700;
}

.cadastro-shell .fechamento-hero {
  padding-bottom: 1.15rem;
}

.cadastro-card {
  margin-bottom: 1.35rem;
}

.cadastro-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.cadastro-section-title {
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5f7c98;
  margin-bottom: 1rem;
}

.cadastro-form-grid .form-group:last-of-type {
  margin-bottom: 0;
}

.servico-shell .fechamento-hero {
  padding-bottom: 1.15rem;
}

.financeiro-shell .fechamento-hero {
  padding-bottom: 1.15rem;
}

.financeiro-card {
  margin-bottom: 1.15rem;
}

.financeiro-metric-grid .col-lg-4 {
  display: flex;
}

.financeiro-metric-card {
  width: 100%;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 22px;
  box-shadow: var(--fech-shadow);
  padding: 1.35rem 1.4rem;
  background: rgba(255, 255, 255, 0.96);
}

.financeiro-metric-card__icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  font-size: 1.35rem;
  color: #fff;
}

.financeiro-metric-card__value {
  font-size: 1.8rem;
  line-height: 1.1;
  font-weight: 700;
  color: #17314a;
  margin-bottom: 0.45rem;
}

.financeiro-metric-card__label {
  font-size: 0.96rem;
  font-weight: 700;
  color: #284866;
  margin-bottom: 0.35rem;
}

.financeiro-metric-card__text {
  margin: 0;
  color: #6c8197;
}

.financeiro-metric-card--income .financeiro-metric-card__icon {
  background: linear-gradient(135deg, #1d9e79 0%, #4cd0ab 100%);
  box-shadow: 0 12px 24px rgba(29, 158, 121, 0.24);
}

.financeiro-metric-card--expense .financeiro-metric-card__icon {
  background: linear-gradient(135deg, #d64d61 0%, #f2838f 100%);
  box-shadow: 0 12px 24px rgba(214, 77, 97, 0.24);
}

.financeiro-metric-card--balance .financeiro-metric-card__icon {
  background: linear-gradient(135deg, #1d7be5 0%, #4bb0ff 100%);
  box-shadow: 0 12px 24px rgba(29, 123, 229, 0.24);
}

.financeiro-balance-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.financeiro-balance-inline__label {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f7c98;
  margin-bottom: 0.4rem;
}

.financeiro-balance-inline__value {
  font-size: 1.55rem;
  font-weight: 700;
  color: #17314a;
}

.financeiro-section-title {
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #547391;
  margin-bottom: 1rem;
}

.financeiro-chart-card {
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 18px;
  box-shadow: 0 12px 24px rgba(15, 52, 88, 0.06);
  padding: 1.2rem;
  background: rgba(255, 255, 255, 0.94);
}

.financeiro-preview-header {
  background: linear-gradient(135deg, rgba(17, 138, 138, 0.12) 0%, rgba(255, 255, 255, 0.92) 100%);
  border-bottom: 1px solid rgba(20, 57, 95, 0.08);
}

.financeiro-preview-header h5 {
  margin-bottom: 0;
  color: #17314a;
  font-weight: 700;
}

.financeiro-badge {
  font-size: 0.82rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
}

.home-shell .fechamento-hero,
.config-shell .fechamento-hero {
  padding-bottom: 1.15rem;
}

.home-metric-grid .col-lg-4,
.config-card-grid .col-lg-4 {
  display: flex;
}

.home-metric-card,
.config-action-card {
  width: 100%;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 22px;
  box-shadow: var(--fech-shadow);
  padding: 1.35rem 1.4rem;
  background: rgba(255, 255, 255, 0.96);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.home-metric-card:hover,
.config-action-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 38px rgba(16, 55, 93, 0.12);
  border-color: var(--theme-primary-soft);
}

.home-metric-card__icon,
.config-action-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: 1rem;
}

.home-metric-card__value {
  font-size: 2rem;
  line-height: 1.05;
  font-weight: 700;
  color: #16324f;
  margin-bottom: 0.55rem;
}

.home-metric-card__label,
.config-action-card__title {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: #203c59;
  margin-bottom: 0.35rem;
}

.home-metric-card__text,
.config-action-card__text {
  margin: 0;
  color: #6c8197;
}

.home-metric-card--primary .home-metric-card__icon,
.config-action-card--primary .config-action-card__icon {
  background: linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-2) 100%);
  box-shadow: 0 12px 24px var(--theme-primary-shadow);
}

.home-metric-card--violet .home-metric-card__icon {
  background: linear-gradient(135deg, #6947d8 0%, #8d78f3 100%);
  box-shadow: 0 12px 24px rgba(105, 71, 216, 0.24);
}

.home-metric-card--teal .home-metric-card__icon {
  background: linear-gradient(135deg, #1488a9 0%, #4ac7df 100%);
  box-shadow: 0 12px 24px rgba(20, 136, 169, 0.24);
}

.config-action-card--amber .config-action-card__icon {
  background: linear-gradient(135deg, #dd9a22 0%, #f0c257 100%);
  box-shadow: 0 12px 24px rgba(221, 154, 34, 0.24);
}

.home-chart-grid {
  margin-top: 1rem;
}

.home-chart-card {
  height: 100%;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 22px;
  box-shadow: var(--fech-shadow);
  padding: 1.2rem 1.2rem 0.6rem;
  background: rgba(255, 255, 255, 0.96);
}

.home-chart-card__title {
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #547391;
  margin-bottom: 1rem;
}

.home-chart-card .pie-chart {
  min-height: 300px;
}

.home-chart-card--donut .pie-chart {
  min-height: 320px;
}

.home-list-shell .fechamento-hero {
  padding-bottom: 1.15rem;
}

.home-list-card {
  margin-bottom: 1rem;
}

.home-table-link {
  color: #1d7be5;
  font-weight: 700;
  text-decoration: none;
}

.home-table-link:hover,
.home-table-link:focus {
  color: #16324f;
  text-decoration: none;
}

.contrato-horas-modal {
  border: 1px solid rgba(25, 71, 122, 0.12);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(16, 55, 93, 0.16);
}

.contrato-horas-modal__header {
  border-bottom: 1px solid rgba(20, 57, 95, 0.08);
  background: linear-gradient(135deg, rgba(29, 123, 229, 0.08) 0%, rgba(255, 255, 255, 0.96) 100%);
  padding: 1.2rem 1.4rem;
}

.contrato-horas-modal__heading {
  display: flex;
  align-items: center;
  gap: 0.95rem;
}

.contrato-horas-modal__icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1d7be5 0%, #5db0ff 100%);
  color: #fff;
  font-size: 1.3rem;
  box-shadow: 0 12px 24px rgba(29, 123, 229, 0.22);
}

.contrato-horas-modal__header .modal-title {
  color: #16324f;
  font-weight: 700;
}

.contrato-horas-modal__header small {
  color: #63809b;
}

.contrato-horas-modal__close {
  color: #486581;
  opacity: 1;
}

.contrato-horas-modal__body {
  padding: 1.35rem 1.35rem 0.9rem;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.contrato-horas-modal__footer {
  border-top: 1px solid rgba(20, 57, 95, 0.08);
  background: rgba(248, 251, 255, 0.92);
}

.contrato-horas-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}

.contrato-horas-head__eyebrow {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f7c98;
  margin-bottom: 0.35rem;
}

.contrato-horas-head__title {
  margin-bottom: 0.35rem;
  color: #17314a;
  font-weight: 700;
}

.contrato-horas-head__sub {
  color: #6c8197;
}

.contrato-horas-badge {
  font-size: 0.84rem;
  padding: 0.65rem 0.8rem;
  border-radius: 999px;
}

.contrato-horas-card {
  height: 100%;
  border-radius: 20px;
  border: 1px solid rgba(22, 50, 79, 0.08);
  box-shadow: 0 12px 24px rgba(15, 52, 88, 0.06);
  padding: 1.1rem 1rem;
  background: #fff;
}

.contrato-horas-card__icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.1rem;
  margin-bottom: 0.85rem;
}

.contrato-horas-card__title {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5f7c98;
  margin-bottom: 0.45rem;
}

.contrato-horas-card__value {
  font-size: 1.45rem;
  font-weight: 700;
  color: #17314a;
  line-height: 1.1;
}

.contrato-horas-card.is-money .contrato-horas-card__icon {
  background: linear-gradient(135deg, #1d7be5 0%, #4bb0ff 100%);
}

.contrato-horas-card.is-hours .contrato-horas-card__icon {
  background: linear-gradient(135deg, #1488a9 0%, #4ac7df 100%);
}

.contrato-horas-card.is-usage .contrato-horas-card__icon {
  background: linear-gradient(135deg, #1d9e79 0%, #4cd0ab 100%);
}

.contrato-horas-card.is-extra .contrato-horas-card__icon {
  background: linear-gradient(135deg, #dd9a22 0%, #f0c257 100%);
}

.contrato-horas-panel {
  height: 100%;
  border-radius: 20px;
  border: 1px solid rgba(22, 50, 79, 0.08);
  box-shadow: 0 12px 24px rgba(15, 52, 88, 0.05);
  padding: 1.1rem 1rem;
  background: #fff;
}

.contrato-horas-panel--soft {
  background: linear-gradient(180deg, rgba(29, 123, 229, 0.05) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.contrato-horas-panel__title {
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #547391;
  margin-bottom: 1rem;
}

.contrato-horas-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(22, 50, 79, 0.08);
}

.contrato-horas-row:last-child {
  border-bottom: 0;
}

.contrato-horas-row__label {
  color: #5f7c98;
}

.contrato-horas-row__value {
  color: #17314a;
}

.contrato-horas-note {
  color: #55718d;
  line-height: 1.55;
}

.os-view-modal {
  border: 1px solid rgba(23, 50, 79, 0.12);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(16, 55, 93, 0.18);
}

.os-view-modal__header {
  border-bottom: 1px solid rgba(20, 57, 95, 0.08);
  background: linear-gradient(135deg, rgba(29, 123, 229, 0.08) 0%, rgba(255, 255, 255, 0.96) 100%);
  padding: 1.1rem 1.3rem;
}

.os-view-modal__heading {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

.os-view-modal__icon {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1d7be5 0%, #5db0ff 100%);
  color: #fff;
  font-size: 1.2rem;
  box-shadow: 0 12px 24px rgba(29, 123, 229, 0.2);
}

.os-view-modal__close {
  color: #486581;
  opacity: 1;
}

.os-view-modal__body {
  padding: 1.35rem;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.os-view-modal__footer {
  border-top: 1px solid rgba(20, 57, 95, 0.08);
  background: rgba(248, 251, 255, 0.92);
}

.os-view-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}

.os-view-head__eyebrow {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f7c98;
  margin-bottom: 0.35rem;
}

.os-view-head__title {
  color: #17314a;
  font-weight: 700;
}

.os-view-head__sub {
  color: #6c8197;
}

.os-view-head__badge {
  border-radius: 999px;
  padding: 0.6rem 0.85rem;
  color: #34536f;
  border: 1px solid rgba(52, 83, 111, 0.12);
}

.os-view-panel {
  height: 100%;
  border-radius: 20px;
  border: 1px solid rgba(22, 50, 79, 0.08);
  box-shadow: 0 12px 24px rgba(15, 52, 88, 0.05);
  padding: 1.1rem 1rem;
  background: #fff;
}

.os-view-panel--soft {
  background: linear-gradient(180deg, rgba(29, 123, 229, 0.05) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.os-view-panel__title {
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #547391;
  margin-bottom: 0.85rem;
}

.os-view-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(22, 50, 79, 0.08);
}

.os-view-row:last-child {
  border-bottom: 0;
}

.os-view-row span {
  color: #5f7c98;
}

.os-view-row strong {
  color: #17314a;
}

.os-view-text {
  color: #486581;
  line-height: 1.65;
}

.fechamento-inline-input {
  min-width: 118px;
  border-radius: 12px;
  border: 1px solid rgba(35, 74, 116, 0.2);
  box-shadow: none;
}

.fechamento-inline-btn {
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  font-weight: 600;
}

.fechamento-row-actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

#tbfchoe tbody tr.selected {
  background: rgba(38, 128, 235, 0.08);
}

#stlempre .btn-primary,
#stlnovem .btn-primary {
  background: linear-gradient(135deg, #1488a9 0%, #4ac7df 100%);
  border-color: #1488a9;
}

#stlforne .btn-primary,
#stlselfr .btn-primary {
  background: linear-gradient(135deg, #dd9a22 0%, #f0c257 100%);
  border-color: #dd9a22;
  color: #18344f;
}

#stlusuar .btn-primary,
#stledtus .btn-primary {
  background: linear-gradient(135deg, #6947d8 0%, #8d78f3 100%);
  border-color: #6947d8;
}

#stlgrupo .btn-primary,
#stledtgr .btn-primary {
  background: linear-gradient(135deg, #1d9e79 0%, #4cd0ab 100%);
  border-color: #1d9e79;
}

#stlmensa .btn-primary,
#stlnmens .btn-primary {
  background: linear-gradient(135deg, #dd9a22 0%, #f0c257 100%);
  border-color: #dd9a22;
  color: #18344f;
}

#stlservi .btn-primary,
#stlnserv .btn-primary {
  background: linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-2) 100%);
  border-color: var(--theme-primary);
  color: var(--theme-on-primary);
}

#stltpate .btn-primary,
#stlntate .btn-primary {
  background: linear-gradient(135deg, #6947d8 0%, #8d78f3 100%);
  border-color: #6947d8;
}

#stlfinan .btn-primary,
#stlextra .btn-primary,
#stlimpex .btn-primary,
#stlcfsic .btn-primary,
#stlctpag .btn-primary,
#stlcferp .btn-primary,
#stlcateg .btn-primary,
#stledtcat .btn-primary {
  background: linear-gradient(135deg, #118a8a 0%, #3ed0c5 100%);
  border-color: #118a8a;
}

#stlempre .btn-primary:hover,
#stlnovem .btn-primary:hover,
#stlempre .btn-primary:focus,
#stlnovem .btn-primary:focus,
#stlforne .btn-primary:hover,
#stlselfr .btn-primary:hover,
#stlforne .btn-primary:focus,
#stlselfr .btn-primary:focus,
#stlusuar .btn-primary:hover,
#stledtus .btn-primary:hover,
#stlusuar .btn-primary:focus,
#stledtus .btn-primary:focus,
#stlgrupo .btn-primary:hover,
#stledtgr .btn-primary:hover,
#stlgrupo .btn-primary:focus,
#stledtgr .btn-primary:focus,
#stlmensa .btn-primary:hover,
#stlnmens .btn-primary:hover,
#stlmensa .btn-primary:focus,
#stlnmens .btn-primary:focus,
#stlservi .btn-primary:hover,
#stlnserv .btn-primary:hover,
#stlservi .btn-primary:focus,
#stlnserv .btn-primary:focus,
#stltpate .btn-primary:hover,
#stlntate .btn-primary:hover,
#stltpate .btn-primary:focus,
#stlntate .btn-primary:focus,
#stlfinan .btn-primary:hover,
#stlextra .btn-primary:hover,
#stlimpex .btn-primary:hover,
#stlcfsic .btn-primary:hover,
#stlctpag .btn-primary:hover,
#stlcferp .btn-primary:hover,
#stlcateg .btn-primary:hover,
#stledtcat .btn-primary:hover,
#stlfinan .btn-primary:focus,
#stlextra .btn-primary:focus,
#stlimpex .btn-primary:focus,
#stlcfsic .btn-primary:focus,
#stlctpag .btn-primary:focus,
#stlcferp .btn-primary:focus,
#stlcateg .btn-primary:focus,
#stledtcat .btn-primary:focus {
  filter: brightness(0.97);
}

@media (max-width: 767.98px) {
  .fechamento-shell {
    padding: 1rem;
    border-radius: 18px;
  }

  .fechamento-hero {
    flex-direction: column;
  }

  .fechamento-tabs .nav-link {
    width: 100%;
  }

  .chamada-search-card,
  .chamada-search-card--inline {
    grid-template-columns: 1fr;
  }

  .chamada-search-card__radio {
    justify-content: flex-start;
    padding-top: 0;
  }

  .chamada-search-card__fields,
  .chamada-search-card__fields--wide {
    min-width: 0;
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .chamada-search-card__fields .form-control-sh,
  .chamada-search-card__fields .combo-autocomplete-input,
  .chamada-search-card__fields input {
    width: 100%;
  }

  .cadastro-toolbar {
    width: 100%;
  }

  .cadastro-toolbar .btn {
    width: 100%;
  }

  .financeiro-balance-inline {
    align-items: stretch;
  }

  .financeiro-balance-inline .btn {
    width: 100%;
  }
}

body {
  background: linear-gradient(180deg, #eaf3fb 0%, #f4f8fc 32%, #f7fafc 100%);
}

.page {
  left: 224px;
  right: 0;
  background: transparent;
  width: auto;
  max-width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-bottom: 34px;
  overflow-x: hidden;
}

.page.active {
  left: 70px;
  right: 0;
  width: auto;
}

nav.navbar {
  background: linear-gradient(90deg, var(--theme-topbar-start) 0%, var(--theme-topbar-mid) 38%, var(--theme-topbar-end) 100%);
  box-shadow: 0 16px 34px rgba(10, 30, 48, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

nav.navbar .navbar-holder {
  min-height: 50px;
}

nav.navbar a.navbar-brand {
  padding-left: 0.3rem;
}

nav.navbar .brand-text {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

nav.navbar .brand-text strong,
nav.navbar .brand-text .text-primary {
  color: var(--theme-primary-2) !important;
  text-shadow: 0 8px 18px var(--theme-primary-shadow);
}

nav.navbar a,
nav.navbar .logout,
nav.navbar .logout span,
nav.navbar .logout i {
  color: var(--theme-topbar-link);
}

nav.navbar a.logout:hover,
nav.navbar a.logout:focus {
  color: #ffffff;
}

nav.navbar a.menu-btn {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 22px rgba(8, 25, 41, 0.2);
}

nav.navbar a.menu-btn i[class*='icon-'] {
  color: var(--theme-topbar-icon);
}

nav.navbar a.menu-btn:hover,
nav.navbar a.menu-btn:focus {
  background: var(--theme-primary-soft);
}

.side-navbar {
  width: 224px;
  background: linear-gradient(180deg, var(--theme-sidebar-start) 0%, var(--theme-sidebar-mid) 42%, var(--theme-sidebar-end) 100%);
  box-shadow: 18px 0 36px rgba(13, 32, 49, 0.16);
}

.side-navbar .side-navbar-wrapper {
  background: transparent;
}

.side-navbar .sidenav-header {
  padding-top: 1.6rem;
  padding-bottom: 1.5rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, var(--theme-primary-soft) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.side-navbar .sidenav-header img {
  width: 62px;
  height: 62px;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 24px rgba(9, 23, 38, 0.28);
}

.side-navbar .sidenav-header h2 {
  margin-top: 0.9rem;
  color: #f3f8fd;
  font-size: 1.55rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.side-navbar .sidenav-heading {
  margin: 1.3rem 1.35rem 0.85rem;
  padding: 0;
  color: var(--theme-sidebar-heading);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.side-navbar li {
  margin: 0.14rem 0.7rem;
}

.side-navbar li a {
  border-radius: 14px;
  padding: 0.82rem 1rem;
  color: var(--theme-sidebar-text);
  font-weight: 500;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.side-navbar li a i,
.side-navbar li a span {
  color: inherit;
}

.side-navbar li a:focus,
.side-navbar li a:hover,
.side-navbar li a[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  transform: translateX(2px);
}

.side-navbar li.active > a,
.side-navbar li li.active > a {
  background: linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-2) 100%);
  color: var(--theme-on-primary);
  box-shadow: 0 14px 24px var(--theme-primary-shadow);
}

.side-navbar li ul {
  margin-top: 0.38rem;
  margin-left: 0.35rem;
  margin-right: 0.35rem;
  padding: 0.4rem 0.32rem 0.45rem;
  border-radius: 16px;
  background: rgba(4, 15, 25, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.side-navbar li ul a {
  margin-bottom: 0.2rem;
  display: flex;
  align-items: center;
  gap: 0.72rem;
  padding: 0.76rem 0.95rem;
  color: rgba(225, 238, 248, 0.84);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 12px;
  font-size: 0.9rem;
  line-height: 1.3;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.side-navbar li ul a i {
  width: 1.35rem;
  min-width: 1.35rem;
  text-align: center;
  color: var(--theme-sidebar-subicon);
  font-size: 0.98rem;
  opacity: 0.95;
}

.side-navbar li ul.collapse a:hover,
.side-navbar li ul.collapse a:focus {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  transform: translateX(0);
}

.side-navbar li ul.collapse a {
  border-left: 0;
}

.side-navbar li ul a::before,
.side-navbar li ul a:before {
  content: none !important;
  display: none !important;
}

.side-navbar li li.active > a {
  background: linear-gradient(135deg, var(--theme-primary-soft) 0%, rgba(255, 255, 255, 0.08) 100%);
  color: #ffffff;
  box-shadow: inset 0 0 0 1px var(--theme-primary-soft);
}

.side-navbar li li.active > a i,
.side-navbar li ul a:hover i,
.side-navbar li ul a:focus i {
  color: #bde6ff;
}

.side-navbar li a[data-toggle="collapse"]::before {
  color: rgba(215, 233, 248, 0.75);
}

.side-navbar.shrink .sidenav-header {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.side-navbar.shrink {
  width: 70px;
}

.side-navbar.shrink ul li a {
  border-radius: 12px;
}

footer.main-footer {
  position: fixed;
  background: linear-gradient(90deg, var(--theme-topbar-start) 0%, var(--theme-topbar-mid) 38%, var(--theme-topbar-end) 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 -16px 30px rgba(10, 30, 48, 0.12);
  padding: 0.34rem 0;
  margin-top: 0;
  left: 224px;
  right: 0;
  width: auto;
  bottom: 0;
  z-index: 900;
}

footer.main-footer p {
  color: rgba(229, 239, 248, 0.88);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}

footer.main-footer i {
  color: var(--theme-footer-icon);
}

.btn-primary,
.badge-primary,
.page-item.active .page-link,
.page-link:hover,
.page-link:focus,
.nav-pills .nav-link.active,
.show > .btn-primary.dropdown-toggle,
.btn-primary:not([disabled]):not(.disabled):active,
.btn-primary:not([disabled]):not(.disabled).active {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
  color: var(--theme-on-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus {
  background-color: var(--theme-primary-hover);
  border-color: var(--theme-primary-hover);
  color: var(--theme-on-primary);
  box-shadow: 0 0 0 0.2rem var(--theme-primary-soft);
}

.page-link {
  color: var(--theme-primary);
}

.text-primary,
a.text-primary,
.spinner-border.text-primary {
  color: var(--theme-primary) !important;
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 999px;
  padding: 0.4rem 0.8rem !important;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 10px 22px rgba(8, 25, 41, 0.16);
}

.theme-toggle:hover,
.theme-toggle:focus {
  background: var(--theme-primary-soft);
}

.theme-dropdown {
  min-width: 220px;
  padding: 0.45rem;
  border: 1px solid rgba(22, 50, 79, 0.08);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(14, 42, 67, 0.14);
}

.theme-option {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.8rem;
  border-radius: 12px;
  color: #24425f;
  font-weight: 600;
}

.theme-option:hover,
.theme-option:focus,
.theme-option.active {
  background: var(--theme-primary-soft);
  color: #16324f;
}

.theme-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex: 0 0 14px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35), 0 0 0 1px rgba(22, 50, 79, 0.14);
}

.theme-swatch--blue { background: linear-gradient(135deg, #1d7be5 0%, #5db0ff 100%); }
.theme-swatch--yellow { background: linear-gradient(135deg, #d6a11f 0%, #f3cb63 100%); }
.theme-swatch--pink { background: linear-gradient(135deg, #df6f9d 0%, #f4a8c6 100%); }
.theme-swatch--red { background: linear-gradient(135deg, #cf4c52 0%, #f28b93 100%); }
.theme-swatch--green { background: linear-gradient(135deg, #1f9b6f 0%, #55d3a0 100%); }
.theme-swatch--graphite { background: linear-gradient(135deg, #5c8fe8 0%, #39424d 100%); }
.theme-swatch--dark { background: linear-gradient(135deg, #4f8cff 0%, #202b38 100%); }

html.theme-graphite body,
html.theme-dark body {
  background: #16202b;
  color: #deebff;
}

html.theme-graphite .fechamento-card,
html.theme-graphite .home-metric-card,
html.theme-graphite .config-action-card,
html.theme-graphite .home-chart-card,
html.theme-graphite .financeiro-metric-card,
html.theme-graphite .financeiro-chart-card,
html.theme-graphite .chamada-search-card,
html.theme-graphite .theme-dropdown,
html.theme-graphite .modal-content,
html.theme-dark .fechamento-card,
html.theme-dark .home-metric-card,
html.theme-dark .config-action-card,
html.theme-dark .home-chart-card,
html.theme-dark .financeiro-metric-card,
html.theme-dark .financeiro-chart-card,
html.theme-dark .chamada-search-card,
html.theme-dark .theme-dropdown,
html.theme-dark .modal-content {
  background: rgba(18, 27, 38, 0.96);
  color: #e5efff;
  border-color: rgba(122, 151, 201, 0.12);
}

html.theme-graphite .fechamento-card__header,
html.theme-graphite .financeiro-preview-header,
html.theme-dark .fechamento-card__header,
html.theme-dark .financeiro-preview-header {
  border-bottom-color: rgba(122, 151, 201, 0.12);
}

html.theme-graphite .fechamento-hero__title,
html.theme-graphite .fechamento-card__header h4,
html.theme-graphite .home-metric-card__value,
html.theme-graphite .home-metric-card__label,
html.theme-graphite .config-action-card__title,
html.theme-graphite .financeiro-metric-card__value,
html.theme-graphite .financeiro-metric-card__label,
html.theme-graphite .financeiro-preview-header h5,
html.theme-graphite .theme-option,
html.theme-dark .fechamento-hero__title,
html.theme-dark .fechamento-card__header h4,
html.theme-dark .home-metric-card__value,
html.theme-dark .home-metric-card__label,
html.theme-dark .config-action-card__title,
html.theme-dark .financeiro-metric-card__value,
html.theme-dark .financeiro-metric-card__label,
html.theme-dark .financeiro-preview-header h5,
html.theme-dark .theme-option {
  color: #eef5ff;
}

html.theme-graphite .home-metric-card__text,
html.theme-graphite .config-action-card__text,
html.theme-graphite .financeiro-metric-card__text,
html.theme-graphite .financeiro-section-title,
html.theme-graphite .cadastro-section-title,
html.theme-graphite .chamada-search-card__text,
html.theme-graphite .fechamento-hero__text,
html.theme-graphite .fechamento-panel-title,
html.theme-graphite .fechamento-hero__eyebrow,
html.theme-graphite .chamada-section-title,
html.theme-dark .home-metric-card__text,
html.theme-dark .config-action-card__text,
html.theme-dark .financeiro-metric-card__text,
html.theme-dark .financeiro-section-title,
html.theme-dark .cadastro-section-title,
html.theme-dark .chamada-search-card__text,
html.theme-dark .fechamento-hero__text,
html.theme-dark .fechamento-panel-title,
html.theme-dark .fechamento-hero__eyebrow,
html.theme-dark .chamada-section-title {
  color: #9db0cb;
}

html.theme-graphite .form-control,
html.theme-graphite .form-control-sh,
html.theme-graphite select,
html.theme-graphite textarea,
html.theme-dark .form-control,
html.theme-dark .form-control-sh,
html.theme-dark select,
html.theme-dark textarea {
  background: #0f1822;
  border-color: rgba(122, 151, 201, 0.14);
  color: #eef5ff;
}

html.theme-graphite .fechamento-table,
html.theme-dark .fechamento-table {
  background: #121b26;
}

html.theme-graphite .fechamento-table tbody tr:nth-child(even),
html.theme-dark .fechamento-table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.03);
}

html.theme-graphite .table,
html.theme-graphite table.dataTable,
html.theme-graphite .dataTables_wrapper .table,
html.theme-dark .table,
html.theme-dark table.dataTable,
html.theme-dark .dataTables_wrapper .table {
  background: #121b26;
  color: #e5efff;
}

html.theme-graphite .table th,
html.theme-graphite .table td,
html.theme-graphite table.dataTable th,
html.theme-graphite table.dataTable td,
html.theme-dark .table th,
html.theme-dark .table td,
html.theme-dark table.dataTable th,
html.theme-dark table.dataTable td {
  border-color: rgba(122, 151, 201, 0.14);
  color: #e5efff;
}

html.theme-graphite .table thead th,
html.theme-graphite table.dataTable thead th,
html.theme-graphite .fechamento-table thead.thead-dark th,
html.theme-dark .table thead th,
html.theme-dark table.dataTable thead th,
html.theme-dark .fechamento-table thead.thead-dark th {
  background: #223245;
  border-color: #223245;
  color: #f3f8ff;
}

html.theme-graphite .table tbody tr,
html.theme-graphite table.dataTable tbody tr,
html.theme-dark .table tbody tr,
html.theme-dark table.dataTable tbody tr {
  background: #121b26;
}

html.theme-graphite .table tbody tr:nth-child(even),
html.theme-graphite table.dataTable tbody tr:nth-child(even),
html.theme-dark .table tbody tr:nth-child(even),
html.theme-dark table.dataTable tbody tr:nth-child(even) {
  background: #16212d;
}

html.theme-graphite .table-hover tbody tr:hover,
html.theme-graphite table.dataTable tbody tr:hover,
html.theme-graphite .table tbody tr:hover,
html.theme-dark .table-hover tbody tr:hover,
html.theme-dark table.dataTable tbody tr:hover,
html.theme-dark .table tbody tr:hover {
  background: #1c2a39;
}

html.theme-graphite .table-bordered th,
html.theme-graphite .table-bordered td,
html.theme-dark .table-bordered th,
html.theme-dark .table-bordered td {
  border-color: rgba(122, 151, 201, 0.14);
}

html.theme-graphite .dataTables_wrapper .dataTables_length,
html.theme-graphite .dataTables_wrapper .dataTables_filter,
html.theme-graphite .dataTables_wrapper .dataTables_info,
html.theme-graphite .dataTables_wrapper .dataTables_paginate,
html.theme-dark .dataTables_wrapper .dataTables_length,
html.theme-dark .dataTables_wrapper .dataTables_filter,
html.theme-dark .dataTables_wrapper .dataTables_info,
html.theme-dark .dataTables_wrapper .dataTables_paginate {
  color: #b7c7df;
}

html.theme-graphite .dataTables_wrapper .dataTables_filter input,
html.theme-graphite .dataTables_wrapper .dataTables_length select,
html.theme-dark .dataTables_wrapper .dataTables_filter input,
html.theme-dark .dataTables_wrapper .dataTables_length select {
  background: #0f1822;
  border: 1px solid rgba(122, 151, 201, 0.18);
  color: #eef5ff;
}

html.theme-graphite .dataTables_wrapper .dataTables_paginate .paginate_button,
html.theme-graphite .dataTables_wrapper .dataTables_paginate .paginate_button a,
html.theme-graphite .page-link,
html.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button,
html.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button a,
html.theme-dark .page-link {
  color: #dbe7ff;
}

html.theme-graphite .page-link,
html.theme-dark .page-link {
  background: #16212d;
  border-color: rgba(122, 151, 201, 0.16);
}

html.theme-graphite .page-link:hover,
html.theme-graphite .page-link:focus,
html.theme-dark .page-link:hover,
html.theme-dark .page-link:focus {
  background: #223245;
  border-color: rgba(122, 151, 201, 0.22);
  color: #ffffff;
}

html.theme-graphite .page-item.disabled .page-link,
html.theme-dark .page-item.disabled .page-link {
  background: #121b26;
  border-color: rgba(122, 151, 201, 0.12);
  color: #6f839f;
}

html.theme-graphite .home-table-link,
html.theme-graphite a,
html.theme-dark .home-table-link,
html.theme-dark a {
  color: #9fc0ff;
}

html.theme-graphite .home-table-link:hover,
html.theme-graphite a:hover,
html.theme-dark .home-table-link:hover,
html.theme-dark a:hover {
  color: #c5dbff;
}

#sdashbo1,
#sfinancdash {
  overflow-x: hidden;
}

#sdashbo1 .container-fluid,
#sfinancdash .container-fluid {
  max-width: 100%;
}

.page.active footer.main-footer {
  left: 70px;
}

.form-control,
.form-control-sh,
.combo-autocomplete-input {
  border-radius: 12px;
  border: 1px solid rgba(22, 50, 79, 0.14);
  box-shadow: 0 8px 18px rgba(15, 45, 72, 0.04);
}

.btn {
  border-radius: 14px;
  padding: 0.72rem 1.15rem;
  font-weight: 600;
  box-shadow: 0 10px 22px rgba(17, 48, 77, 0.08);
}

.btn.btn-sm {
  border-radius: 12px;
}

.form-control:focus,
.form-control-sh:focus,
.combo-autocomplete-input:focus {
  border-color: #56b3ff !important;
  box-shadow: 0 0 0 0.18rem rgba(86, 179, 255, 0.18) !important;
  outline: none !important;
}

.combo-autocomplete-wrapper {
  margin-bottom: 0.55rem;
}

.combo-autocomplete-input {
  min-height: 40px;
  background: #ffffff;
  color: #17314a;
}

.combo-autocomplete-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

.typeahead.dropdown-menu {
  width: 100%;
  max-height: 280px;
  overflow-y: auto;
  border: 1px solid rgba(22, 50, 79, 0.12);
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(12, 38, 61, 0.14);
  padding: 0.35rem;
}

.typeahead.dropdown-menu li a {
  border-radius: 10px;
  padding: 0.62rem 0.85rem;
  color: #274563;
  font-weight: 500;
  width: 100%;
}

.typeahead.dropdown-menu li.active a,
.typeahead.dropdown-menu li a:hover,
.typeahead.dropdown-menu li a:focus {
  background: rgba(86, 179, 255, 0.12);
  color: #16324f;
}

@media (max-width: 767.98px) {
  .combo-autocomplete-input {
    min-height: 42px;
    font-size: 0.98rem;
  }

  .typeahead.dropdown-menu {
    max-height: 240px;
  }
}

@media (max-width: 1199.98px) {
  .page,
  .page.active,
  .page.active-sm {
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
  }

  .side-navbar,
  .side-navbar.shrink {
    left: -224px;
    top: 46px;
    height: calc(100vh - 46px);
    width: 224px;
    text-align: left;
    z-index: 1100;
  }

  .side-navbar.show-sm {
    left: 0 !important;
  }

  nav.navbar {
    position: relative;
    z-index: 1200;
  }

  .side-navbar .sidenav-header-inner {
    display: block;
  }

  .side-navbar .sidenav-header-inner .sidebar-mascot-frame {
    display: inline-block;
    width: 52px;
    height: 52px;
    line-height: 52px;
  }

  .side-navbar .sidenav-header-inner .sidebar-mascot-frame img {
    width: 52px !important;
    height: 52px !important;
  }

  .side-navbar .sidenav-header-logo,
  .side-navbar.shrink .sidenav-header {
    display: none;
  }

  .side-navbar ul li a,
  .side-navbar.shrink ul li a {
    padding: 0.82rem 1rem;
    font-size: 0.96rem;
  }

  .side-navbar li a i,
  .side-navbar.shrink ul li a i {
    margin-right: 0.8rem;
    font-size: 0.95rem;
  }

  footer.main-footer,
  .page.active footer.main-footer {
    left: 0;
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .page {
    padding-bottom: 32px;
  }

  nav.navbar .navbar-holder {
    min-height: 46px;
  }

  nav.navbar .brand-text {
    font-size: 0.92rem;
  }

  .fechamento-shell,
  .home-shell,
  .financeiro-shell,
  .cadastro-shell,
  .servico-shell,
  .chamada-shell,
  .config-shell {
    margin-left: 0;
    margin-right: 0;
    border-radius: 16px;
  }

  .home-metric-grid .col-lg-4,
  .config-card-grid .col-lg-4,
  .financeiro-metric-grid .col-lg-4 {
    margin-bottom: 1rem;
  }

  .home-metric-card,
  .config-action-card,
  .financeiro-metric-card {
    padding: 1.1rem 1rem;
  }

  footer.main-footer p {
    font-size: 0.76rem;
  }
}
