/* Enhanced dashboard styling - Professional theme */
:root {
    --primary-color: #17406C; 
    --secondary-color: #6c757d; 
    --accent-color: #28a745; 
    --warning-color: #ffc107; 
    --danger-color: #dc3545; 
    --light-bg:  #F4F6F8;
    --dark-text: #343a40; 
    --border-radius: 0.5rem;
    --box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); 
    --sidebar-bg: #184C71;
    --sidebar-active-bg: #3C4B66;
    --sidebar-text: #C5CEDD;
    --sidebar-header:#155a8a;
    --sidebar-text: #C0CAD8;
    --sidebar-hover: #2E3A51;
    --sidebar-hover-icon: #5A8DEE;;
    --primary:  #17406C;
  
}
/* #253347 */
.high-contrast a,
.high-contrast h1,
.high-contrast h2,
.high-contrast h3,
.high-contrast h4,
.high-contrast h5,
.high-contrast h6,
.high-contrast p,
.high-contrast label {
    color: yellow !important;
}
body {
    background-color: var(--light-bg);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    color: var(--dark-text);
    line-height: 1.6;
}
/*  High Contrast Mode */
.high-contrast {
    background-color: black !important;
    color: yellow !important;
}

span a{
    text-decoration: none;
    color: #000;
}
.dashboard-container {
    padding: 3rem;
}


.high-contrast .navbar,
.high-contrast .footer {
    background-color: black !important;
}

.contrast-active {
  background-color: yellow !important;
}

/* Top Navigation */
.navbar-custom {
    background-color: #0d3e62;
    color: #FFFFFF;
  }
.navbar-custom a,
.navbar-custom i,
.navbar-custom span {
    color: white !important;
}
.navbar-custom .btn-outline-secondary {
    color: white;
    border-color: rgba(255, 255, 255, 0.5);
}

.navbar-custom .btn-outline-secondary:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    border-color: white;
}

/* High Contrast - Top Contact Navbar */

.high-contrast .navbar-custom {
    background-color: black !important;
    border-color: yellow !important;
    border-bottom: 2px solid yellow;
  }

.high-contrast .navbar-custom a,
.high-contrast .navbar-custom span,
.high-contrast .navbar-custom i {
    color: yellow !important;
}

.high-contrast .navbar-custom .btn-outline-secondary {
    color: yellow !important;
    border-color: yellow !important;
    background-color: transparent !important;
  }
  
  .high-contrast .navbar-custom .btn-outline-secondary:hover {
    background-color: yellow !important;
    color: black !important;
    border-color: yellow !important;
  }
  .high-contrast #contrastToggle {
    background-color: yellow !important;
    color: black !important;
    border-color: yellow !important;
  }
/* Fix icon buttons in accessibility tools */
.high-contrast .btn i {
    color: yellow !important;
}
.high-contrast #contrastToggle i {
    color: black !important;
  }
/* Optional: if using SVG or inline icons without <i> */
.high-contrast .btn svg {
    fill: black !important;
    stroke: black !important;
}

   /* Nav Section */
   .navbar-logo { height: 40px; }

   .navbar-brand { font-weight: bold; }


  .security-policy-navigation {
    background-color: var(--primary);
    color: #fff !important;
}

.security-policy-navigation .nav-link {
    color: #ccc !important;
    font-weight: normal; 
}

.security-policy-navigation.nav-link.active {
    background: var(--sidebar-hover);
    color: #FFFFFF;
    border-left: 4px solid var(--primary);
  }
  .security-policy-navigation .nav-link.active i {
    color: var(--sidebar-hover-icon);
  }

  .security-policy-navigation .nav-link:hover {
    background: var(--sidebar-hover);
    color: #FFFFFF;
  }

/* Fix navbar links */
.high-contrast .security-policy-navigation .navbar-nav .nav-link {
    color: yellow !important;
}
.high-contrast .security-policy-navigation .nav-link {
    color: yellow !important;
}
.high-contrast .security-policy-navigation .nav-link.active {
    background-color: yellow !important;
    color: black !important;
    border-left: 4px solid black !important;
}

.high-contrast .security-policy-navigation .nav-link.active i {
    color: black !important;
}

.high-contrast .security-policy-navigation .nav-link i {
    color: yellow !important;
}

.high-contrast .security-policy-navigation .navbar-brand span {
    color: yellow !important;
}


.hero-section {
    background-color:#a7deec;
    color: #000;
}

.hero-section h1 {
    color: #1c2f45;
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.hero-section p {
    color: #3c5a6e;
    font-size: 1.50rem;
    font-weight: 300px;
    opacity: 0.9;
}

.high-contrast .hero-section {
    background: black !important;
    color: yellow !important;
}

.high-contrast .hero-section h1,
.high-contrast .hero-section p {
    color: yellow !important;
}

/* Base card styling */
.security-card {
    min-height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 1.5rem;
    background: #ffffff;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
  }
  
  .security-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.15);
  }
  
  .security-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
  }
  
  /* High contrast mode */
  .high-contrast .security-card {
    background: #000000 !important;
    color: #ffff00 !important;
    box-shadow: 0 0 10px #ffff00;
  }
  
  .high-contrast .security-card i,
  .high-contrast .security-card h5,
  .high-contrast .security-card p {
    color: #ffff00 !important;
  }
  
  
/* Audit Table Styles */
.audit-table {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  }
  
  .audit-table thead {
    background-color: #0d3e62;
    color: white;
  }
  
  .audit-table th {
    background-color: #0d3e62;
    color: white;
    padding: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    border: none;
  }
  
  .audit-table td {
    padding: 0.85rem;
    vertical-align: middle;
    background-color: #ffffff;
    border: none;
  }
  
  /* Optional: row hover effect */
  .audit-table tbody tr:hover {
    background-color: #f3f6fa;
  }
  .audit-table thead tr:first-child th:first-child {
    border-top-left-radius: 10px;
  }
  .audit-table thead tr:first-child th:last-child {
    border-top-right-radius: 10px;
  }
  
  
  /* High Contrast Mode */
  .high-contrast .audit-table thead {
    background-color: black !important;
    color: yellow !important;
  }
  
  .high-contrast .audit-table th {
    background-color: black !important;
    color: yellow !important;
    border-color: yellow !important;
  }
  
  .high-contrast .audit-table td {
    background-color: black !important;
    color: yellow !important;
    border-color: yellow !important;
  }
  
/* Compliance Cards */
.list-group.shadow {
    border-radius: 12px;
    overflow: hidden;
    background-color: white;
  }
  
  .list-group-item {
    font-size: 1rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border: none;
    border-bottom: 1px solid #e0e0e0;
  }
  
  .list-group-item:last-child {
    border-bottom: none;
  }
  
  /* High Contrast Mode */
  .high-contrast .list-group.shadow {
    background-color: black !important;
    border: 1px solid yellow !important;
  }
  
  .high-contrast .list-group-item {
    background-color: black !important;
    color: yellow !important;
    border-bottom: 1px solid yellow !important;
  }
  
  .high-contrast .list-group-item i {
    color: yellow !important;
  }
  
  .footer {
    margin-top: auto;
    background-color: #184C71;
    color: white;
    padding: 2rem 0;
    text-align: center;
}

.footer a {
    color: #fff;
    text-decoration: none;
}

.footer a:hover {
    text-decoration: underline;
}