/* ----------------------------------------
   GLOBAL RESET & LAYOUT
---------------------------------------- */

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* Prevent horizontal overspill */
}

/* Full-height layout using flexbox */
.container-fluid > .row {
  display: flex;
  flex-wrap: nowrap;
  height: 100dvh; /* instead of 100vh */

}

/* ----------------------------------------
   SIDEBAR
---------------------------------------- */

#sidebarMenu {
  padding-top: 1rem;
  border-right: 1px solid rgba(0,0,0,0.2);
  overflow-y: auto;

  flex: 0 0 220px; /* or whatever width you choose */
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-y: auto;
}



/* Mini-sidebar mode */
body.sidebar-collapsed #sidebarMenu {
  width: 70px !important;
}

body.sidebar-collapsed .sidebar-text {
  display: none;
}

body.sidebar-collapsed .nav-link {
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}

body.sidebar-collapsed .nav-link i {
  margin-right: 0;
}

/* Sidebar footer */
.sidebar-footer {
  border-top: 1px solid rgba(255,255,255,0.2);
}

body.sidebar-collapsed .sidebar-footer {
  display: none;
}

/* Sidebar links */
.sidebar .nav-link {
  color: #e0e0e0;
  font-weight: 500;
  padding: 0.55rem 1rem;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
  color: #fff;
  background-color: #335bb0;
  border-radius: 4px;
}

.sidebar .nav-link i {
  margin-right: 8px;
}

.btn-toggle-nav .nav-link {
  padding-left: 2rem;
  font-size: 0.9rem;
}

/* ----------------------------------------
   MAIN CONTENT
---------------------------------------- */

main {
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

/* ----------------------------------------
   NAVBAR
---------------------------------------- */

.custom-blue {
  background-color: #2d8ea7 !important;
}

.navbar {
  border-bottom: 1px solid rgba(255,255,255,0.2);
}





/* ----------------------------------------
   CALENDAR STYLES
---------------------------------------- */

#calendar {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  font-size: 1rem;
  min-height: auto;
}

.fc-event {
  cursor: grab;
  margin: 4px 0;
  padding: 6px 10px;
  background-color: #0d6efd;
  color: #fff;
  border-radius: 4px;
  font-size: 0.9rem;
}

.fc-event:active {
  cursor: grabbing;
}

.fc-event-title,
.fc-event-category {
  white-space: normal;
  word-wrap: break-word;
}


.fc-daygrid-day-frame {
  min-height: 80px;
}

/* ----------------------------------------
   OLD SIDEBARS (Calendar/Event Builder)
---------------------------------------- */

#sidebar,
#eventSidebar {
  background: #f8f9fa;
  padding: 1rem;
  border-right: 1px solid #ddd;
  min-height: 600px;
}

.template-item {
  padding: 0.5rem;
  margin-bottom: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: move;
  user-select: none;
  background: #fff;
}

/* ----------------------------------------
   CHECKBOX SCALING
---------------------------------------- */

.big-checkbox {
  transform: scale(1.5);
  margin-right: 8px;
}


.dt-buttons .btn {
    margin-right: 4px;
}

/* Improve print layout */
body.dt-print-view {
    background: white !important;
    padding: 20px;
    font-size: 12pt;
}

/* Make table cleaner */
body.dt-print-view table.dataTable {
    border-collapse: collapse !important;
    width: 100% !important;
}

body.dt-print-view table.dataTable th,
body.dt-print-view table.dataTable td {
    border: 1px solid #333 !important;
    padding: 6px !important;
}

/* Add a title */
body.dt-print-view h1 {
    font-size: 20pt;
    margin-bottom: 20px;
}