/* Tema custom compilado */
@import "custom.css";

/* PersonalizaÃ§Ãµes SRP */
:root,
[data-bs-theme=light] {
  /* font-size: 14px;
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #337ab7;
  --bs-secondary: #474848;
  --bs-success: #5cb85c;
  --bs-info: #5bc0de;
  --bs-warning: #f0ad4e;
  --bs-danger: #d9534f;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 51, 122, 183;
  --bs-secondary-rgb: 237, 236, 232;
  --bs-success-rgb: 92, 184, 92;
  --bs-info-rgb: 91, 192, 222;
  --bs-warning-rgb: 240, 173, 78;
  --bs-danger-rgb: 217, 83, 79;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #052c65;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cfe2ff;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #9ec5fe;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #dedede;
  --bs-body-bg-rgb: 222, 222, 222;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 34, 34, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #474848;
  --bs-secondary-bg-rgb: 71, 72, 72;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 34, 34;
  --bs-tertiary-bg: #f4f3ef;
  --bs-tertiary-bg-rgb: 244, 243, 239;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #0a58ca;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545; */
}

/* ajustes na div principal da app */
.main-app {
  min-height: 100vh;
  margin-top: 1rem;
  border-radius: 1rem;
  background-color: var(--bs-body-bg);
}

/* posiÃ§Ã£o e cor da sidebar */
.sidebar {
  margin-top: .5rem;
  border-radius: 1rem 0 0 1rem;
  --bs-emphasis-color-rgb: var(--bs-white-rgb);
  --bs-offcanvas-bg: #4e4e4c;
}

/* posiÃ§Ã£o e cor da navbar topo */
.navbar {
  margin-top: .5rem;
  border-radius: 0 1rem 0 0;
  --bs-emphasis-color-rgb: var(--bs-white-rgb);
  /* right: calc(var(--bs-gutter-x) * .5); */
  background-color: #4e4e4c;
  color: #ffffffa6;
}


/* redefinir bg a partir da div principal */
.tab-content {
  --bs-body-bg: var(--bs-tertiary-bg);
}

/* cores dos links dos menus e das tabs */
.nav {
  --bs-nav-link-color: var(--bs-secondary);
  --bs-nav-link-hover-color: var(--bs-secondary-text-emphasis);
}

.dialog {
  background-color: var(--bs-body-bg);
}

.dfe-visualizar-iframe {
  max-height: 100vh;
}

dialog:has(.dfe-visualizar-iframe) {
  width: min(92vw, 1400px);
  max-width: 92vw;
}

.dialog-title {
  color: #ffffffc9;
}

/* cor dos inputs */
.form-control, .form-select {
  --bs-body-bg: var(--bs-white);
}

.form-check-input {
  --bs-form-check-bg: var(--bs-white);
}

.form-control:disabled, .form-select:disabled {
  --bs-secondary-bg: rgba(var(--bs-body-color-rgb), 0.03);
  opacity: 0.7;
}

.form-check-input:disabled {
  --bs-form-check-bg: rgba(var(--bs-body-color-rgb), 0.03);
  opacity: 0.7;
}

/* ajustes para impressÃ£o */
@media print {
  @page {
    size: 210mm 297mm;
  }

  :root {
    font-size: 8px;
  }

  body {
    visibility: hidden;
  }

  .print {
    visibility: initial;
    position: absolute;
    top: 0;
    left: 0;
    width: 210mm;
  }

  .chartjs-render-monitor {
    animation: none !important;
  }

  * {
    animation: none !important;
    transition: none !important;
  }

}

.grid-stack-item-content>.card {
  max-height: -webkit-fill-available;
}

.grid-stack-item-content>.card>.card-body {
  overflow: auto;
}

/* grid - exibir apenas actions dos registros em foco */
tr:not(:hover) .grid-action {
  transition: opacity 0.2s;
  opacity: .05;
}

.grid-menu-toggle.dropdown-toggle::after {
  border-top-width: 0.45em;  
  border-right-width: 0.35em; 
  border-left-width: 0.35em;
  margin-left: 0.5rem;       
  vertical-align: 0.08em;     
}

/* BotÃµes */
.btn:not(.btn-transparent) {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15);
}

/* largura mÃ­nima dos botÃµes com caption */
@media (min-width: 1200px) {
  .btn:not(.btn-transparent) span.btn-txt {
    min-width: 6.5rem;
  }
}

.input-group .btn {
  box-shadow: initial;
}

.btn-transparent svg {
  filter: drop-shadow(0 .5rem .2rem rgb(0 0 0 / 0.15));
}

/* DropDown - remover chevron quando os botÃµes estiver alinhados no centro vertical */
.dropdown.d-md-flex .dropdown-toggle::after {
  display: none;
}

.sidebar, .navbar, .dialog-title {
  background-size: 10px 10px, 10px 10px, 10px 5px;
  background-position: 0px 0px, 5px 5px, 0px 0px;
}

/* Altura do busca das listas */
.busca-lista .form-control {
  line-height: 2rem;
}


/* ************* REGRAS TEMPORARIAS *********************
Ajustes que foram feitos para lanÃ§ar a primeira versÃ£o,
alguns devem ser feitos no framework
******************************************************** */
/* Ajustar o topo dos menus do sidebar atÃ© incluir logo da empresa nele */
.sidebar {
  padding-top: 4rem;
}

/* Ajustar Ã­cone nos input-groups */
.input-group-addon svg {
  height: 100%;
  width: 100%;
  padding: 0 .5rem 0 .5rem;
}

/* melhorias visuais nos botÃµes(implementar posiÃ§Ã£o do icone no framework) */
.btn span.btn-txt {
  display: block;
  padding-top: .1rem;
  padding-left: 0 !important;
  font-weight: 600;
}


/* botÃµes de ediÃ§Ã£o da dashboard */
.btn.position-absolute.top-0 {
  --bs-btn-font-size: .8rem;
}

/* Alinhamento direito dos booes + do dashboard */
.btn.position-absolute.top-0.end-0 {
  min-width: 4rem;
  z-index: 1;
}

/* Dashboard - altura minima dos rows de ediÃ§Ã£o para comportar o borÃ£o + */
.dash-fontes.edicao, .dash-filtros.edicao, .dash-paineis.edicao {
  min-height: 3rem;
}

/* EspaÃ§o do primeiro painel */
.dash-filtros {
  margin-bottom: 1rem;
}



.table>:not(caption)>*>* {
  border-left: 1px solid rgb(125 125 125 / 0.01);
  border-right: 1px solid rgb(125 125 125 / 0.01);
  padding: .1rem .2rem .1rem .2rem;
  line-height: 1.1rem;
}

/* Limitar altura do grid lista */
.grid-lista {
  max-height: 68vh;
  overflow-y: auto;
}

.grid-lista .fixed-table-body{
  max-height: 68vh;
}

/* tamanho dos menus dropdown */
.dropdown-menu {
  min-width: max-content;
}


/* alinhamento vertical dos switchs em relaÃ§Ã£o a outros inputs */
.form-check.form-switch {
  margin-top: auto;
  margin-bottom: .5rem;
}

/* Mobile only: sidebar off-canvas, opens over PagePrincipal below navbar */
@media (max-width: 576px) {
  :root {
    --srp-navtop-mobile-height: 1px;
  }

  .main-app {
    margin-top: 0;
    margin-left: -10px;
    margin-right: 0 !important;
    border-radius: 0;
    min-height: 100dvh;
    padding-top: calc(var(--srp-navtop-mobile-height) + env(safe-area-inset-top, 0px));
  }

  #RowNavTop,
  .main-app > .row:has(> #NavTop) {
    --bs-gutter-x: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-radius: 0;
    width: 100vw;
    min-height: var(--srp-navtop-mobile-height);
    height: var(--srp-navtop-mobile-height) !important;
    z-index: 1065;
  }

  #NavTop {
    margin: .5rem .5rem 0 .5rem;
    border-radius: .75rem;
    width: calc(100vw - 1rem);
    position: static;
  }

  #NavTop > .container-fluid {
    height: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .sidebar {
    top: calc(var(--srp-navtop-mobile-height) + env(safe-area-inset-top, 0px));
    left: 0;
    width: min(var(--nv-sidebar-expanded), 92vw);
    height: calc(100dvh - var(--srp-navtop-mobile-height) - env(safe-area-inset-top, 0px));
    margin-top: 58px;
    padding-top: .9rem;
    border-radius: 0;
    position: fixed;
    z-index: 1060;
    overflow-y: auto;
    transform: translateX(calc(-100% - .5rem));
    transition: transform .2s ease-in-out;
  }

  div.sidebar.sidebar-expand-sm,
  div.sidebar.sidebar-full-sm,
  div.sidebar.sidebar-expand-md,
  div.sidebar.sidebar-full-md,
  div.sidebar.sidebar-expand-lg,
  div.sidebar.sidebar-full-lg {
    transform: translateX(calc(-100% - .5rem));
    margin-left: 0 !important;
  }

  .sidebar + div,
  .sidebar-expand-sm + div,
  .sidebar-full-sm + div,
  .sidebar-expand-md + div,
  .sidebar-full-md + div,
  .sidebar-expand-lg + div,
  .sidebar-full-lg + div {
    margin-left: 0 !important;
  }

  .sidebar.show,
  .sidebar.collapsing,
  .sidebar:has(> .nav.show),
  .sidebar:has(> .nav.collapsing) {
    transform: translateX(0);
  }

  .main-app:has(.navbar-toggler[aria-expanded="true"]) .sidebar {
    transform: translateX(0) !important;
  }

  .sidebar > .nav > .nav-item > a.nav-link span {
    opacity: 1;
  }

  .sidebar > .nav {
    margin-top: 0 !important;
    padding-top: .2rem;
  }
}

/******** Cards ***********/
.card:not(.card-table):not(.card-chart):not(.card-stats) {
  border: none;
  background: #f1f1f1;
}

.card:not(.card-table):not(.card-chart):not(.card-stats) .card-header {
  border: none;
  background-color: inherit;
  display: flex;
  align-items: center;
}

.card:not(.card-table):not(.card-chart):not(.card-stats) .card-header span {
  font-size: 1.2rem
}

.card:not(.card-table):not(.card-chart):not(.card-stats) .card-body {
  padding-top: 0;
}


/******* Tabs ***********/
.nav-tabs {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.nav-tabs .nav-item {
  font-size: 1.2rem;
  font-weight: 500;
}

/*
 Dashboards - limitar o tamanho do modal de ediÃ§Ã£o de painel 
 por algum motivo os rows de ediÃ§Ã£o das colunas fazem com que o modal fique mais largo que o necessÃ¡rio
*/
.dash-panel-editor {
  max-width: 800px;
}

/* compactar a lista de colunas no editor de painel(tabela, etc) */
.dash-column-editor {
  padding: 0;
}

.dash-column-editor input,
.dash-column-editor select {
  padding: 0;
}

.dash-column-editor .form-group {
  padding: 0;
}

.card-table .th-inner {
  white-space: normal;
}


.card-table, .card-chart, .card-stats {
  --bs-card-bg: var(--bs-white);
}
