@font-face {
  font-family: "IM Fell English SC";
  font-style: normal;
  font-weight: normal;
  src: local("IM FELL English SC"), local("IM_FELL_English_SC"),
    url("../fonts/IM_Fell_English_SC.ea793df8161f.eot?#iefix") format("embedded-opentype"),
    url("../fonts/IM_Fell_English_SC.7d88ae761a4d.woff") format("woff"),
    url("../fonts/IM_Fell_English_SC.d54ff288f5b3.svg#IMFellEnglishSC") format("svg"),
    url("../fonts/IM_Fell_English_SC.0cd6c787a3bf.ttf") format("truetype");
}

/* Fonte global Poppins */
* {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

body {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    background-color: #f3f4f6 !important;
}

/* Exceção para telas de autenticação - manter fundo original */
body[class*="authentication"],
body #body-plain,
#body-plain {
    background: linear-gradient(135deg, #000000 0%, #1a1a1a 50%, #2d2d2d 100%) !important;
}

/* Garantir que os estilos inline do login tenham precedência */
body[class*="login"] {
    background: linear-gradient(135deg, #000000 0%, #1a1a1a 50%, #2d2d2d 100%) !important;
}

#appearance-main-viewport {
  margin-top: 60px;
}

/* User menu */
.link-text-span {
  padding-left: 10px;
  padding-right: 20px;
}

/* Flex grid container for responsible list of items */
.appearance-flex-grid-container {
  display: grid;
}

/* Companion flex grid setup for list of large buttons */
.appearance-btn-large-container {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  column-gap: 30px;
  row-gap: 15px;
}
@media (min-width: 421px) {
  .appearance-btn-large-container {
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    column-gap: 30px;
    row-gap: 15px;
  }
}

/* Nullify the 5px padding to the right */
.appearance-list-column-sort-icon {
  margin-right: -5px;
}

/* Make column text behave the same way as column links. */
.appearance-list-column-label {
  padding: 0px;
}

.appearance-list-columns-help-text {
  margin-left: 3px;
}

/* Remover ícone de sombra - esconder o segundo ícone que fica atrás */
.fashadow,
.fashadow svg,
.fashadow i,
i.fashadow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Centralizar verticalmente título ao lado dos ícones na home page */
.dashboards-panel-widget > .panel-heading .row {
    display: flex;
    align-items: center;
}

.dashboards-panel-widget > .panel-heading .col-xs-2,
.dashboards-panel-widget > .panel-heading .col-xs-10 {
    display: flex;
    align-items: center;
}

.dashboards-panel-widget > .panel-heading .dashboards-panel-widget-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Customized Bootstrap btn-lg to work with flex grid */
.navigation-btn-lg {
  border-top: 2px solid rgba(255, 255, 255, 0.7);
  border-left: 2px solid rgba(255, 255, 255, 0.7);
  border-right: 2px solid rgba(0, 0, 0, 0.7);
  border-bottom: 2px solid rgba(0, 0, 0, 0.7);
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  height: 100%;
  margin-bottom: 0px;
  min-height: 120px;
  padding-bottom: 1px;
  padding-top: 20px;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 1);
  white-space: normal;
  width: 100%;
}

/* Cards na página Setup - Verde minimalista */
.navigation-btn-lg.btn-primary {
    background-color: #15803d !important;
    border-color: rgba(21, 128, 61, 0.5) !important;
}

.navigation-btn-lg.btn-primary:hover,
.navigation-btn-lg.btn-primary:focus {
    background-color: #14532d !important;
    border-color: rgba(20, 83, 45, 0.7) !important;
}

.navigation-btn-lg.btn-primary:active {
    background-color: #14532d !important;
    border-color: rgba(20, 83, 45, 0.8) !important;
}

.radio ul li {
  list-style-type: none;
}

a i {
  padding-right: 3px;
}

/* Notifications */
#toast-container > div {
  opacity: 1;
}

/* List item view */

.panel-item {
  box-shadow: 2px 2px 18px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}

.panel-item > .panel-heading {
  padding: 1px 10px;
}

.panel-item > .panel-body {
  padding: 10px;
  word-wrap: break-word;
}

.list-extra-column-label {
  font-weight: bold;
}

.source-column-label {
  font-weight: bold;
}

.panel-highlighted {
  box-shadow: 0px 0px 3px #18bc9c, 10px 10px 20px #000000;
}

.panel-highlighted:hover {
  box-shadow: 0px 0px 3px #18bc9c, 10px 10px 20px #000000, 0px 0px 8px #000000;
}

.panel-item:not(.panel-highlighted):hover {
  box-shadow: 0px 0px 8px #000000;
}

.appearance-panel-footer-spacer {
  margin-left: 20px;
}

/* Content */
@media (min-width: 1200px) {
  .container-fluid {
    width: 95%;
  }
}

.lazyload-spinner-container {
  border: 1px solid lightgray;
  margin: auto;
  width: 100%;
}

.lazyload-spinner-container > .spinner-icon {
  margin-left: 4px;
  margin-top: 3px;
}

#ajax-spinner {
  -webkit-animation: 0.5s spin linear infinite;
  animation: 0.5s spin linear infinite;
  border-radius: 50%;
  background-color: transparent;
  border: 2px solid #222;
  border-top: 2px solid #03a9f4;
  border-bottom: 2px solid #03a9f4;
  height: 25px;
  left: 39px;
  position: fixed;
  top: 19px;
  width: 25px;
  z-index: 9999;
}

@media (min-width: 768px) {
  #ajax-spinner {
    left: 25px;
  }
}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* Imitate the default look of Django's debug template */
#django-server-error {
  background-color: rgb(255, 255, 204);
  color: black;
}

#django-server-error code {
  overflow-wrap: normal;
  white-space: normal;
  word-break: normal;
}

#django-server-error h1 {
  font-size: 2em;
}

#django-server-error h2 {
  font-size: 1.5em;
}
#django-server-error h3 {
  font-size: 1.17em;
  margin: 1em 0 0.5em 0;
}

#django-server-error pre {
  background-color: inherit;
  border: 0px;
  color: inherit;
}

#django-server-error pre.exception_value {
    color: #575757;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 1.5em;
    margin: 10px 0 10px 0;
}

/*
 * Main content
 */

@media (min-width: 768px) {
  #appearance-main-viewport {
    margin-left: 210px;
    padding-left: 0px;
    padding-right: 0px;
  }
}

/* Side bar */
#menu-actions {
  position: fixed;
  right: 5px;
  top: 65px;
  z-index: 1020;
}

#viewport {
  height: 100%;
  width: 100%;
}

.has-sidebar {
  padding-right: 0px;
}

@media (min-width: 768px) {
    #sidebar {
        bottom: 0;
        display: block;
        overflow-x: visible;
        overflow-y: auto;
        padding-top: 10px;
        position: fixed;
        right: 0;
        top: 100px;
        width: 160px;
        z-index: 900;
        background-color: #f3f4f6 !important;
    }

    .has-sidebar {
        padding-right: 160px;
    }
}

.btn-invisible {
  background-color: transparent;
  border: 2px solid transparent;
  color: inherit;
}

/* menu_main */
/* Hide for mobile, show later */

#menu-main {
    display: block;
    background-color: #15803d !important;
    border-right: 1px solid rgba(20, 65, 45, 0.3);
    bottom: 0;
    left: -210px;
    overflow-x: hidden;
    overflow-y: auto;
    padding-top: 10px;
    position: fixed;
    top: 51px;
    transition: left 0.3s;
    width: 210px;
    z-index: 1000;
}

#menu-main-button-close {
    border-radius: 0;
    border-top: 2px solid rgba(20, 65, 45, 0.3);
    border-bottom: 2px solid rgba(20, 65, 45, 0.3);
    background-color: #14532d !important;
    bottom: 0;
    display: block;
    height: 40px;
    position: relative;
    text-align: center;
    width: 209px;
}

#main-menu-button-open {
  background-color: transparent;
  border: 0;
  border-right: 1px solid #95a5a6;
  display: block;
  margin: 0 10px 0 -15px;
  padding: 6px 20px 0px 10px;
}

.menu-user-name {
  color: white;
}

#multi-item-title-responsible-wrapper {
  display: none;
}

.overlay-gray {
  background-color: rgba(0, 0, 0, 0.25);
  display: block;
  height: 100%;
  position: fixed;
  transition: background-color 0.3s;
  width: 100%;
  z-index: 50;
}

/* Main menu footer */
#main-menu-footer {
    background-color: #15803d !important;
    padding-bottom: 5px;
    padding-top:0px;
    width: 0px;
    display: none;
}

#main-menu-footer span {
  color: #e0e0e0;
  font-size: 70%;
  padding-bottom: 15px;
}

#main-menu-footer hr {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  margin-bottom: 5px;
}

#main-menu-footer-copyright {
  margin: 0px;
}

@media (min-width: 768px) {
  #menu-main {
    display: block;
    left: 0;
    /* Adjust to main menu footer */
    padding-bottom: 60px;
  }

  .menu-user-name {
    color: inherit;
  }

  #menu-main-button-close {
    display: none;
  }

  #main-menu-button-open {
    display: none;
  }

  /* Main menu footer */
  #main-menu-footer {
    display: block;
    width: 209px;
  }

  #multi-item-title-responsible-wrapper {
    display: block;
  }

  .navbar-brand {
    margin-left: 110px;
    text-align: center;
    width: 193px;
  }
}

.menu-main-opened {
  display: block !important;
  left: 0 !important;
}

#appearance-main-viewport .page-header {
  margin-top: 0;
}

.container-fluid {
  margin-left: 0px;
  margin-right: 0px;
  width: 100%;
}

#accordion-sidebar a {
  padding: 10px 15px;
}

#accordion-sidebar a[aria-expanded="true"] {
    background-color: transparent !important;
}

#accordion-sidebar .panel {
  border: 0px;
}

#accordion-sidebar a {
  outline: none;
}

#accordion-sidebar > .panel > div > div > ul > li > a,
#accordion-sidebar > .panel > div > h4 > a {
  display: block;
  outline: none;
  position: relative;
  text-decoration: none;
}

#accordion-sidebar .panel-heading {
    background-color: #15803d !important;
    color: white;
    padding: 0px;
}

#accordion-sidebar .panel-heading:hover {
    background-color: #15803d !important;
}

#accordion-sidebar > .panel > div > .panel-body > ul > li.active {
   background-color: transparent !important;
}

#accordion-sidebar > .panel > div > .panel-body > ul > li:hover {
    background-color: transparent !important;
}

#accordion-sidebar .panel-title {
  font-size: 15px;
}

#accordion-sidebar .panel-body {
    font-size: 13px;
    border: 0px;
    background-color: #15803d !important;
    padding-bottom: 0px;
    padding-left: 20px;
    padding-right: 0px;
    padding-top: 3px;
}

#accordion-sidebar .collapsed .accordion-indicator {
  transform: rotate(90deg);
}

#accordion-sidebar ul.list-unstyled {
  margin-bottom: 0px;
}

#accordion-sidebar .panel-body a {
  color: white;
  padding: 9px;
  text-decoration: none;
}

.navbar-fixed-top {
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4);
}

/* Topbar - Verde minimalista */
.navbar-default {
    background-color: #15803d !important;
    border-color: rgba(20, 65, 45, 0.3) !important;
}

.navbar-default .navbar-brand {
    color: white !important;
}

.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
    color: rgba(255, 255, 255, 0.9) !important;
}

.navbar-default .navbar-nav > li > a {
    color: white !important;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
    color: rgba(255, 255, 255, 0.9) !important;
    background-color: #14532d !important;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
    color: white !important;
    background-color: #14532d !important;
}

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
    color: white !important;
    background-color: #14532d !important;
}

.navbar-default .navbar-toggle {
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background-color: #14532d !important;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: white !important;
}

.navbar-default .navbar-collapse {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.navbar-default .navbar-nav > .dropdown > a .caret {
    border-top-color: white !important;
    border-bottom-color: white !important;
}

.navbar-default .navbar-nav > .dropdown.open > a .caret {
    border-top-color: white !important;
    border-bottom-color: white !important;
}

.navbar-default .navbar-nav .open .dropdown-menu {
    background-color: #15803d !important;
    border-color: white !important;
}

.navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: white !important;
}

.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: white !important;
    background-color: #14532d !important;
}

.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: white !important;
    background-color: #14532d !important;
}

.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Botões na topbar - Verde minimalista */
.navbar-default .btn-primary,
.navbar .btn-primary,
#menu-topbar .btn-primary,
.navbar-default .navbar-nav .btn-primary {
    background-color: #15803d !important;
    border-color: white !important;
    color: white !important;
}

.navbar-default .btn-primary:hover,
.navbar-default .btn-primary:focus,
.navbar .btn-primary:hover,
.navbar .btn-primary:focus,
#menu-topbar .btn-primary:hover,
#menu-topbar .btn-primary:focus,
.navbar-default .navbar-nav .btn-primary:hover,
.navbar-default .navbar-nav .btn-primary:focus {
    background-color: #14532d !important;
    border-color: white !important;
    color: white !important;
}

.navbar-default .btn-primary:active,
.navbar-default .btn-primary.active,
.navbar .btn-primary:active,
.navbar .btn-primary.active,
#menu-topbar .btn-primary:active,
#menu-topbar .btn-primary.active,
.navbar-default .navbar-nav .btn-primary:active,
.navbar-default .navbar-nav .btn-primary.active {
    background-color: #14532d !important;
    border-color: white !important;
    color: white !important;
}

.navbar-default .btn-info,
.navbar .btn-info,
#menu-topbar .btn-info,
.navbar-default .navbar-nav .btn-info {
    background-color: #15803d !important;
    border-color: white !important;
    color: white !important;
}

.navbar-default .btn-info:hover,
.navbar-default .btn-info:focus,
.navbar .btn-info:hover,
.navbar .btn-info:focus,
#menu-topbar .btn-info:hover,
#menu-topbar .btn-info:focus,
.navbar-default .navbar-nav .btn-info:hover,
.navbar-default .navbar-nav .btn-info:focus {
    background-color: #14532d !important;
    border-color: white !important;
    color: white !important;
}

.navbar-default .btn-info:active,
.navbar-default .btn-info.active,
.navbar .btn-info:active,
.navbar .btn-info.active,
#menu-topbar .btn-info:active,
#menu-topbar .btn-info.active,
.navbar-default .navbar-nav .btn-info:active,
.navbar-default .navbar-nav .btn-info.active {
    background-color: #14532d !important;
    border-color: white !important;
    color: white !important;
}

/* Customize toolbars for use in lists */

.btn-toolbar {
    margin-right: 5px;
    padding-right: 5px;
}

.toolbar {
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 1px 1px 2px rgba(0, 0, 0, .3);
    margin-bottom: 10px;
    padding-bottom: 8px;
    padding-left: 12px;
    padding-right: 15px;
    padding-top: 8px;
}

.btn-toolbar-check-all {
    background-color: #95a5a6;
    border-radius: 4px;
    height: 35px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 6px;
}

#body-plain {
  margin-top: 10px;
  padding-top: 0px;
}

/* appearance - JavaScript server error */
#banner-server-error {
  margin-top: 10px;
}

/* List toolbar affix */
#list-toolbar.affix {
  top: 60px; /* OuterHeight of navbar */
  z-index: 90;
}

.dropdown-menu > li > a {
  color: #585e5e;
}

.dropdown-header {
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0px;
  text-align: center;
}

/* Error templates */

.appearance-div-error {
  margin-top: 50px;
}

.appearance-icon-error {
  margin-bottom: 30px;
  margin-left: -75px;
  margin-top: 50px;
}

/* Fieldsets */

.appearance-fieldset {
  border: 1px solid rgb(44, 62, 80);
  border-radius: 4px;
  margin-bottom: 5px;
  padding-bottom: 5px;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 10px;
}

.appearance-legend {
  background-color: rgb(44, 62, 80);
  border-radius: 4px;
  border-style: none;
  border-width: 0;
  color: white;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 0;
  padding: 0 10px 3px;
  width: auto;
}

/*
Input search clearable
*/

.appearance-input-search-clearable {
  position: relative;
}

.appearance-input-search-clear {
  cursor: pointer;
  font-size: 16px;
  position: absolute;
  right: 5px;
  top: -1px !important;
}

/*
 Table appearance header fine tuning
 */

.appearance-table-condensed thead tr th {
  padding-bottom: 0px;
  padding-top: 0px;
}

.appearance-table-condensed thead .appearance-table-thead-tr-spacer th {
  padding-bottom: 10px;
}

/*
 Table header end ruler
 */

.appearance-table-condensed thead .appearance-table-thead-tr-ruler {
  border-bottom: 1px solid white;
  border-top: 1px solid lightgrey;
}

.appearance-table-condensed thead .appearance-table-thead-tr-ruler th {
  padding-bottom: 0px;
  padding-top: 0px;
}

/*
 Table body end ruler
 */

.appearance-table-condensed tbody .appearance-table-tbody-tr-ruler {
  border-bottom: 1px solid #f9f9f9;
  border-top: 1px solid lightgrey;
}

.appearance-table-condensed tbody .appearance-table-tbody-tr-ruler td {
  padding-bottom: 0px;
  padding-top: 0px;
}

/*
 * Collapse object menu
 */

.appearance-dropdown-menu-slim {
  min-width: 0px;
}

/* Menu dropdown */

.caret {
  pointer-events: none;
}

.panel-item > .panel-body {
  padding: 8px;
}

.panel-footer hr {
  border-top: 1px solid rgb(121, 141, 143);
  margin-bottom: 8px;
  margin-top: 8px;
}

/* About */
.media-list-about {
  margin-left: 5px;
  margin-right: 5px;
}

.media-list-about .media {
  background: white;
  padding: 10px;
  margin: 1px;
}

/* Authentication */
#authentication-login-image-top {
  border-radius: 3px 3px 0 0;
}

#authentication-login-image-wrapper {
  margin-bottom: 10px;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: -15px;
}

/* About */
#about-image-top {
  border-radius: 3px 3px 0 0;
}

#about-image-wrapper {
  margin-left: -20px;
  margin-right: -20px;
  margin-top: -20px;
}

/* AJAX refresh button */

.appearance-link-ajax-refresh {
  padding-right: 10px !important;
}

/* List toolbar */

#multi-item-actions {
  display: none;
}

#multi-item-title {
  line-height: 16px;
  padding-top: 8px;
}

/* Coding and Pre */

.appearance-overscroll-contain {
  overscroll-behavior: contain;
}

.appearance-resize-vertical {
  resize: vertical;
}

/* Form label suffix  */

.appearance-form-label-suffix {
  float: right;
}

.appearance-btn-form-label-suffix {
  font-size: 0.65em;
}
