:root {
  --primary: #0066b3;
  --secondary: #f8f9fa;
}

body {
  background-color: var(--secondary);
  font-family: 'Segoe UI', sans-serif;
}

/* NAVBAR */
.navbar {
  background: var(--primary);
}
.navbar .navbar-brand,
.navbar .btn {
  color: #fff !important;
}

/* SIDEBAR */
/* === SIDEBAR (reemplaza tu bloque actual) === */
.sidebar{
  position:fixed;
  top:56px;
  left:0;
  width:220px;
  min-height:100vh;
  background:#0066b3;
  color:#fff;
  padding-top:1rem;
  transform:translateX(-100%);   /* oculto por defecto */
  transition:transform .3s ease;
  z-index: 9999;                 /* por encima de DT y de la navbar */
}
.sidebar.active{
  transform:translateX(0);       /* visible */
}

/* RESPONSIVE SIDEBAR */
/* Desktop: siempre visible y sin animación */
@media (min-width:992px){
  .sidebar{
    transform:none !important;
  }
  .main-content{
    margin-left:220px;
    padding:2rem;
  }
}
/* Mobile: contenido sin margen cuando el menú está oculto */
@media (max-width:991.98px){
  .main-content{ margin-left:0 !important; }
}


.sidebar a {
  display: block;
  color: white;
  padding: 10px 20px;
  text-decoration: none;
}
.sidebar a:hover {
  background-color: #005fa3;
}
/* Agrupaciones de menú en el sidebar */
.sidebar .group-title {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #d1d1d1;
  padding: 10px 20px 5px;
  margin-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.1);
}

.container-register {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: linear-gradient(to right, #005ca9, #003f73);
}

.register-card {
  background: white;
  border-radius: 20px;
  padding: 2rem 2.5rem;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
  width: 100%;
  max-width: 850px;
}

.container-login {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: linear-gradient(to right, #005ca9, #003f73);
}

.login-card {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
label {
  font-weight: 500;
}
.bg-total {
  background: #005ca9;
  color: white;
}
.bg-today {
  background: #2e8b57;
  color: white;
}
.bg-week {
  background: #f39c12;
  color: white;
}
.login-card {             
	background: #fff;             
	border-radius: 16px;             
	padding: 2rem;             
	width: 100%;             
	max-width: 360px;             
	box-shadow: 0 10px 30px 
		rgba(0,0,0,0.1);         
}         
.ck-editor__editable_inline {
  min-height: 300px !important;
}






/* DATATABLES */
table.dataTable th,
table.dataTable td {
  white-space: normal !important;
}
