:root{
  --tauste-navy:#1f3d7a;
  --tauste-navy-900:#0f2748;
  --tauste-accent:#f39200;
  --tauste-accent-dark: #d47f00;
  --sidebar-width: 260px;
  --content-max: 1400px;
}

body{background:#fff}
/* Sidebar fixo */
.sidebar-tauste{
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: var(--sidebar-width);
  background: linear-gradient(180deg, var(--tauste-navy-900), var(--tauste-navy));
  color: #fff;
  overflow-y: auto;
  z-index: 1030;
}
.sidebar-tauste .nav-link{
  color: rgba(255,255,255,.85);
  border-radius: .5rem;
  padding: .5rem .75rem;
}
.sidebar-tauste .nav-link:hover{color:#fff; background: rgba(255,255,255,.08)}
.sidebar-tauste .nav-link.active{background: #ffffff22; color:#fff}
.sidebar-tauste .navbar-brand{font-size:1.15rem}
.sidebar-tauste hr{margin:.75rem 0}
/* Sidebar Mobile */
.sidebar-mobile{
  background: linear-gradient(180deg, var(--tauste-navy-900), var(--tauste-navy));
  color: #fff;
  overflow-y: auto;
  z-index: 1030;
}
.sidebar-mobile .nav-link{
  color: rgba(255,255,255,.85);
  border-radius: .5rem;
  padding: .5rem .75rem;
}
.sidebar-mobile .nav-link:hover{color:#fff; background: rgba(255,255,255,.08)}
.sidebar-mobile .nav-link.active{background: #ffffff22; color:#fff}
.sidebar-mobile .navbar-brand{font-size:1.15rem}
.sidebar-mobile hr{margin:.75rem 0}

.jquery-waiting-base-container {
	position: fixed;
	left: 0px;
	top:0px;
	margin:0px;
	width: 100%;
	height: 100%;
	display:block;
	z-index: 9999997;
	opacity: 0.65;
	-moz-opacity: 0.65;
	filter: alpha(opacity = 65);
	background: black;
	background-image: url("../img/load_ajax.gif");
	background-repeat: no-repeat;
	background-position:50% 50%;
	text-align: center;
	overflow: hidden;
	font-weight: bold;
	color: white;
	padding-top: 25%;
}

/* Área de conteúdo deslocada */
.content-area{
  margin-left: var(--sidebar-width);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Área de conteúdo deslocada */
.login-area{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Hero em azul */
.hero{
  background: linear-gradient(180deg, var(--tauste-navy) 0%, var(--tauste-navy-900) 100%);
  color:#fff;
}

/* Paleta/Componentes */
.btn-accent{
  --bs-btn-bg: var(--tauste-accent);
  --bs-btn-border-color: var(--tauste-accent);
  --bs-btn-hover-bg: #d47f00;
  --bs-btn-hover-border-color: #d47f00;
  --bs-btn-color: #111;
}
.bg-accent{background:var(--tauste-accent)!important;color:#111!important}
.link-primary{color:var(--tauste-navy);}
.link-primary:hover{color:#0d2a58;}
.card-zoom img{transition: transform .3s ease}
.card-zoom:hover img{transform: scale(1.03)}
.object-fit-cover{object-fit:cover}

/* Tamanhos utilitários */
.container-fluid{max-width: var(--content-max)}

@media (min-width: 992px){
  .sidebar-wrapper{
    position: fixed; top:0; left:0; bottom:0;
    width: var(--sidebar-width);
    z-index: 1030;
  }
  .content-area{ margin-left: var(--sidebar-width); }
  footer { margin-left: var(--sidebar-width); }
}
/* Mobile - Sem margem */
@media (max-width: 991.98px) {
  .content-area {
    margin-left: 0;
  }
  footer {
    margin-left: 0;  	
  }
}
/* Topbar visible only on < lg */
.topbar{
  position: sticky; top:0; z-index: 1040;
  background: linear-gradient(90deg, var(--tauste-navy-900), var(--tauste-navy));
}
@media (min-width: 992px){
  .topbar{ display:none; }
}

/* Avatar hover */
.rounded-circle {
  border: 2px solid var(--tauste-navy, #1f3d7a);
  object-fit: cover;
}

.rounded-circle:hover {
  transform: scale(1.05);
  transition: transform 0.2s ease;
}

.sidebar-tauste .rounded-circle {
  border: 2px solid rgba(255,255,255,0.2);
  transition: all 0.2s ease;
}

.sidebar-tauste .rounded-circle:hover {
  border-color: rgba(255,255,255,0.5);
  transform: scale(1.05);
}

.btn-outline-light:hover {
  background-color: rgba(255,255,255,0.1);
}

/* Sugestao de tema */

/* Estilo Geral */
body {
  background: #f8f9fa;
  font-family: 'Inter', sans-serif;
}

/* Cards */
.card {
  border: none;
  border-radius: 0.75rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
/*
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
*/
.card-header {
  background: linear-gradient(90deg, var(--tauste-navy), var(--tauste-navy-900));
  border-radius: 0.75rem 0.75rem 0 0;
  padding: 1rem 1.5rem;
}

.modal-header {
  background: linear-gradient(90deg, var(--tauste-navy), var(--tauste-navy-900));
  padding: 1rem 1.5rem;
}
.card-title {
  color: #fff;
  font-weight: 600;
}

.card-title-mural {
  color:var(--tauste-navy);
  font-weight: 600;
}

/* Formulários */
.form-label {
  font-weight: 500;
  color: var(--tauste-navy);
}

.form-control, .form-select {
  border-radius: 0.5rem;
  border: 1px solid rgba(31, 61, 122, 0.3);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:focus, .form-select:focus {
  border-color: var(--tauste-accent);
  box-shadow: 0 0 0 0.25rem rgba(243, 146, 0, 0.25);
}

.form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

/* Botões */
.btn-primary {
  background-color: var(--tauste-accent);
  border-color: var(--tauste-accent);
  color: #fff;
  border-radius: 0.5rem;
  padding: 0.5rem 1.5rem;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.btn-primary:hover {
  background-color: var(--tauste-accent-dark);
  border-color: var(--tauste-accent-dark);
  transform: translateY(-1px);
}

.btn-info {
  background-color: var(--tauste-navy);
  border-color: var(--tauste-navy);
  color: #fff;
  border-radius: 0.5rem;
  padding: 0.5rem 1.5rem;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.btn-info:hover {
  background-color: var(--tauste-navy-900);
  border-color: var(--tauste-navy-900);
  transform: translateY(-1px);
}

/* Alinhamento e Espaçamento */
.text-end .btn {
  margin-left: 0.5rem;
}

.row.g-4 {
  margin-bottom: 1.5rem;
}

/* Estilo para dl */
dl dt {
  font-weight: 500;
  color: var(--tauste-navy);
}

dl dd {
  margin-bottom: 0.5rem;
  color: #333;
}

.bi {
  font-size: 1.2rem;
  vertical-align: middle;
}

/* Responsividade */
@media (max-width: 767.98px) {
  .card-header {
    padding: 0.75rem 1rem;
  }
  .btn {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .text-end .btn {
    margin-left: 0;
  }
}