/* ==========================================================================
   HMS Modern Theme Overrides
   Theme Colors (derived from logo):
   - Primary Dark (Navy/Charcoal): #1D2530
   - Accent Teal (Vibrant Cyan): #029AA5
   - Accent Hover Teal: #027D86
   - Secondary Dark: #2E3A4E
   - App Content Background: #F3F4F6
   
   CRITICAL NOTE: No font-family properties are modified in this file.
   ========================================================================== */

/* 1. Base App Layout & Backgrounds */
body {
  background-color: #F3F4F6 !important;
  color: #334155 !important;
}

.main-content {
  background-color: #F3F4F6 !important;
}

/* 2. Top Navigation Bar */
.navbar-inverse .navbar-inner {
  background-color: #1D2530 !important;
  background-image: none !important;
  filter: none !important;
  border: none !important;
  border-bottom: 3px solid #029AA5 !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  min-height: 48px;
}

.navbar .brand {
  color: #FFFFFF !important;
  text-shadow: none !important;
  font-weight: 600 !important;
  padding: 14px 20px 10px !important;
}

.navbar-inverse .nav > li > a {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #E2E8F0 !important;
  text-shadow: none !important;
  padding: 14px 15px 14px !important;
  transition: all 0.2s ease;
}

.navbar-inverse .nav > li > a:hover,
.navbar-inverse .nav > li > a:focus,
.navbar-inverse .nav > li.dropdown.open > a {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: #FFFFFF !important;
}

.navbar-inverse .nav li.dropdown.open > .dropdown-toggle {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: #FFFFFF !important;
}

.navbar-inverse .dropdown-menu {
  background-color: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
  border-radius: 6px !important;
  padding: 5px 0 !important;
}

.navbar-inverse .dropdown-menu li > a {
  color: #334155 !important;
  padding: 8px 16px !important;
  transition: all 0.15s ease !important;
}

.navbar-inverse .dropdown-menu li > a:hover,
.navbar-inverse .dropdown-menu li > a:focus {
  background-color: #029AA5 !important;
  background-image: none !important;
  filter: none !important;
  color: #FFFFFF !important;
}

.navbar-inverse .dropdown-menu .divider {
  background-color: #F1F5F9 !important;
  border-bottom: 1px solid #F1F5F9 !important;
}

.navbar-inverse .nav-collapse .nav > li > a:hover,
.navbar-inverse .nav-collapse .dropdown-menu a:hover {
  background-color: #029AA5 !important;
  color: #FFFFFF !important;
}

/* 3. Left Sidebar Navigation Overrides */
.sidebar-background,
.sidebar-background .primary-sidebar-background,
.primary-sidebar {
  background-color: #000000 !important;
  border-right: 1px solid #111111 !important;
  background-image: none !important;
}

/* Logo container style */
.sidebar-logo-container {
  background-color: transparent !important;
  border: none !important;
  padding: 15px 5px !important;
  margin: 0 !important;
  text-align: center !important;
  box-shadow: none !important;
  display: block !important;
}

.sidebar-logo-container img {
  max-width: 100% !important;
  height: auto !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

.primary-sidebar .nav {
  border: none !important;
}

.primary-sidebar .nav:after {
  background-color: #2E3A4E !important;
}

.primary-sidebar .nav > li {
  background-color: #000000 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  position: relative !important;
  transition: all 0.2s ease !important;
}

.primary-sidebar .nav > li a:before,
.primary-sidebar .nav > li a:after {
  background-color: #2E3A4E !important;
}

.primary-sidebar .nav > li > a {
  color: #94A3B8 !important;
  text-shadow: none !important;
  padding: 14px 20px !important;
  transition: all 0.2s ease !important;
}

.primary-sidebar .nav > li > a i {
  color: #64748B !important;
  transition: all 0.2s ease !important;
  margin-right: 8px !important;
}

.primary-sidebar .nav > li:hover > a {
  background-color: rgba(2, 154, 165, 0.08) !important;
  color: #FFFFFF !important;
}

.primary-sidebar .nav > li:hover > a i {
  color: #029AA5 !important;
}

.primary-sidebar .nav > li.active,
.primary-sidebar .nav > li.dark-nav.active,
.dark-nav.active {
  background-color: rgba(2, 154, 165, 0.18) !important;
}

.primary-sidebar .nav > li.active > a,
.primary-sidebar .nav > li.dark-nav.active > a,
.dark-nav.active > a {
  color: #FFFFFF !important;
}

.primary-sidebar .nav > li.active > a i,
.primary-sidebar .nav > li.dark-nav.active > a i,
.dark-nav.active > a i {
  color: #029AA5 !important;
}

/* Sidebar Active Indicator Glow */
.primary-sidebar .nav > li .glow {
  background-color: transparent !important;
  width: 4px !important;
  right: auto !important;
  left: 0 !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.primary-sidebar .nav > li:hover .glow,
.primary-sidebar .nav > li.active .glow {
  background-color: #029AA5 !important;
}

/* Sidebar Accordion Submenus */
.dark-nav > ul {
  background-color: #000000 !important;
  box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.05) !important;
  padding: 5px 0 !important;
}

.dark-nav > ul li a {
  color: #94A3B8 !important;
  border-top: 1px solid #2E3A4E !important;
  padding: 10px 15px 10px 35px !important;
  font-size: 12px !important;
  transition: all 0.2s ease !important;
}

.dark-nav > ul li a:hover,
.dark-nav > ul li.active a {
  background-color: rgba(2, 154, 165, 0.1) !important;
  color: #029AA5 !important;
}

.dark-nav > ul li a i {
  margin-right: 6px !important;
}

/* 4. Action Nav Buttons (Dashboard) */
.action-nav-normal .action-nav-button a {
  border-radius: 8px !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  color: #475569 !important;
  font-weight: 600 !important;
  padding: 16px 10px !important;
  transition: all 0.2s ease-in-out !important;
}

.action-nav-normal .action-nav-button a i {
  color: #029AA5 !important;
  font-size: 24px !important;
  display: block !important;
  margin-bottom: 8px !important;
  transition: transform 0.2s ease !important;
}

.action-nav-normal .action-nav-button a:hover {
  border-color: #029AA5 !important;
  color: #029AA5 !important;
  box-shadow: 0 4px 12px rgba(2, 154, 165, 0.15) !important;
  transform: translateY(-2px);
}

.action-nav-normal .action-nav-button a:hover i {
  transform: scale(1.1);
}

/* Override existing themed action buttons */
.action-nav-normal .action-nav-button.blue a,
.action-nav-normal .action-nav-button.red a,
.action-nav-normal .action-nav-button.green a,
.action-nav-normal .action-nav-button.gold a,
.action-nav-normal .action-nav-button.sea a,
.action-nav-normal .action-nav-button.brown a,
.action-nav-normal .action-nav-button.twitter a,
.action-nav-normal .action-nav-button.facebook a {
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  color: #475569 !important;
}

.action-nav-normal .action-nav-button.blue a:hover,
.action-nav-normal .action-nav-button.red a:hover,
.action-nav-normal .action-nav-button.green a:hover,
.action-nav-normal .action-nav-button.gold a:hover,
.action-nav-normal .action-nav-button.sea a:hover,
.action-nav-normal .action-nav-button.brown a:hover,
.action-nav-normal .action-nav-button.twitter a:hover,
.action-nav-normal .action-nav-button.facebook a:hover {
  border-color: #029AA5 !important;
  color: #029AA5 !important;
}

/* 5. Cards & Boxes (.box) */
.box {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 24px !important;
  overflow: hidden !important;
}

.box .box-header,
.box-header {
  background-color: #1D2530 !important;
  background-image: none !important;
  filter: none !important;
  border-bottom: 3px solid #029AA5 !important;
  color: #FFFFFF !important;
  text-shadow: none !important;
  padding: 12px 18px !important;
}

.box .box-header .title,
.box-header .title {
  color: #FFFFFF !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.box .box-content {
  background-color: #FFFFFF !important;
  border: none !important;
  border-radius: 0 0 8px 8px !important;
}

/* 6. Form Fields & Inputs */
input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
  border: 1px solid #CBD5E1 !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
  border-color: #029AA5 !important;
  box-shadow: 0 0 0 3px rgba(2, 154, 165, 0.2) !important;
  outline: none !important;
}

.input-prepend .add-on {
  background-color: #F1F5F9 !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 6px 0 0 6px !important;
  color: #64748B !important;
}

.input-prepend input {
  border-radius: 0 6px 6px 0 !important;
}

/* 7. Buttons (Modernized & Flat) */
.btn {
  border-radius: 6px !important;
  font-weight: 600 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  background-image: none !important;
  filter: none !important;
  transition: all 0.2s ease !important;
  padding: 8px 16px !important;
}

/* Primary and Success mapped to Teal */
.btn-success,
.btn-primary {
  background-color: #029AA5 !important;
  border-color: #029AA5 !important;
  color: #FFFFFF !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-primary:hover,
.btn-primary:focus {
  background-color: #027D86 !important;
  border-color: #027D86 !important;
  color: #FFFFFF !important;
}

/* Info and Blue mapped to Dark Blue */
.btn-info,
.btn-blue {
  background-color: #2E3A4E !important;
  border-color: #2E3A4E !important;
  color: #FFFFFF !important;
}

.btn-info:hover,
.btn-info:focus,
.btn-blue:hover,
.btn-blue:focus {
  background-color: #1D2530 !important;
  border-color: #1D2530 !important;
}

/* Danger Button */
.btn-danger {
  background-color: #EF4444 !important;
  border-color: #EF4444 !important;
  color: #FFFFFF !important;
}

.btn-danger:hover,
.btn-danger:focus {
  background-color: #DC2626 !important;
  border-color: #DC2626 !important;
}

/* Warning Button */
.btn-warning {
  background-color: #F59E0B !important;
  border-color: #F59E0B !important;
  color: #FFFFFF !important;
}

.btn-warning:hover,
.btn-warning:focus {
  background-color: #D97706 !important;
  border-color: #D97706 !important;
}

/* Default / Cancel Button */
.btn-default {
  background-color: #F1F5F9 !important;
  border-color: #E2E8F0 !important;
  color: #475569 !important;
}

.btn-default:hover,
.btn-default:focus {
  background-color: #E2E8F0 !important;
  color: #1E293B !important;
}

/* 8. Modernized Data Tables */
.table {
  border-collapse: collapse !important;
  width: 100% !important;
}

.table th {
  background-color: #F8FAFC !important;
  border-bottom: 2px solid #E2E8F0 !important;
  color: #475569 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  letter-spacing: 0.05em !important;
  padding: 12px 16px !important;
  text-align: left !important;
}

.table td {
  border-bottom: 1px solid #F1F5F9 !important;
  padding: 12px 16px !important;
  vertical-align: middle !important;
  color: #334155 !important;
}

.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(odd) > th {
  background-color: #F8FAFC !important;
}

.table tbody tr:hover td {
  background-color: rgba(2, 154, 165, 0.03) !important;
}

/* 9. Login Page Specific Overrides */
.login.box {
  border-radius: 12px !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid #E2E8F0 !important;
  background-color: #FFFFFF !important;
}

.login.box .box-header {
  border-radius: 12px 12px 0 0 !important;
  text-align: center !important;
}

.login.box .box-header .title {
  float: none !important;
  display: inline-block !important;
}

.login.box .box-content {
  border-radius: 0 0 12px 12px !important;
  padding: 24px !important;
}

.login.box select {
  width: 100% !important;
  box-sizing: border-box !important;
  height: 40px !important;
  margin-bottom: 15px !important;
}

.login.box button[type="submit"] {
  height: 40px !important;
  font-size: 14px !important;
  width: 100% !important;
}

/* --- CRITICAL OVERRIDES FOR NAV BAR & SIDEBAR (ADDED) --- */
.sidebar-background,
.sidebar-background .primary-sidebar-background,
.primary-sidebar {
  background-color: #000000 !important;
  border-right: 1px solid #111111 !important;
  background-image: none !important;
}

.primary-sidebar .nav > li,
.primary-sidebar .nav > li > a {
  background-color: transparent !important;
}

.navbar-inverse .navbar-inner {
  background-color: #000000 !important;
  background-image: none !important;
}

.sidebar-logo-container {
  background-color: transparent !important;
  border: none !important;
  padding: 15px 5px !important;
  margin: 0 !important;
  text-align: center !important;
  box-shadow: none !important;
}
.sidebar-logo-container img {
  max-width: 90% !important;
  background: transparent !important;
}


/* --- CRITICAL FIXES FOR CALENDAR AND SIDEBAR TEXT --- */

/* Sidebar Navigation Text and Icons to White */
.primary-sidebar .nav > li > a,
.primary-sidebar .nav > li > a > span,
.primary-sidebar .nav > li > a > i,
.primary-sidebar .nav > li.dark-nav > a,
.primary-sidebar .nav > li.dark-nav > a > span,
.primary-sidebar .nav > li.dark-nav > a > i {
    color: #FFFFFF !important;
}

/* Ensure the sidebar background is extremely strong */
body .sidebar-background,
body .sidebar-background .primary-sidebar-background,
body .primary-sidebar {
    background: #000000 !important;
    background-color: #000000 !important;
}
body .primary-sidebar .nav > li {
    background: #000000 !important;
    background-color: #000000 !important;
}

/* FullCalendar Button Fixes for Dark Header Background */
.fc-button-inner {
    color: #E2E8F0 !important;
    background: #2E3A4E !important;
    text-shadow: none !important;
    border-color: #475569 !important;
}
.fc-state-active .fc-button-inner,
.fc-state-down .fc-button-inner {
    background: #029AA5 !important;
    color: #FFFFFF !important;
}
.fc-button.fc-state-default {
    background: transparent !important;
    border: none !important;
}
.fc-button-content {
    color: inherit !important;
}

/* In case calendar text is directly in box-header without fc-button-inner */
.box-header .fc-button {
    color: #E2E8F0 !important;
}


/* --- FIXES FOR HR AND LOGIN INPUTS --- */
hr {
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: none !important;
}






/* --- PROPER FIX FOR LOGIN INPUTS --- */
.login.box .input-prepend {
  display: block !important;
  width: 100% !important;
  margin-bottom: 15px !important;
  position: relative !important;
}
.login.box .input-prepend .add-on {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  text-align: center !important;
  z-index: 3 !important;
  border-radius: 6px 0 0 6px !important;
  background-color: #F1F5F9 !important;
  border: 1px solid #CBD5E1 !important;
  color: #64748B !important;
}
.login.box .input-prepend input {
  display: block !important;
  width: 100% !important;
  height: 40px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 8px 12px 8px 50px !important;
  border-radius: 6px !important;
  border: 1px solid #CBD5E1 !important;
  color: #334155 !important;
}

