:root {
  --bg-dark-blue: #0B1F3A;
  --bg-deep-blue: #07152A;
  --accent-red: #C62828;
  --accent-burgundy: #8F1638;
  --accent-dark-burgundy: #70102D;
  --success-green: #198754;
  --light-green: #B7E4C7;
  --bg-light-gray: #F5F7FA;
  --text-primary: #172033;
  --text-white: #FFFFFF;
}
body { margin: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(--bg-light-gray); color: var(--text-primary); }
.app-sidebar { width: 260px; background-color: var(--bg-dark-blue); color: var(--text-white); height: 100vh; position: fixed; top: 0; left: 0; display: flex; flex-direction: column; }
.sidebar-header { padding: 20px; background-color: var(--bg-deep-blue); text-align: center; border-bottom: 2px solid var(--accent-burgundy); }
.sidebar-header img { max-width: 110px; height: auto; }
.sidebar-nav { list-style: none; padding: 0; margin: 20px 0; flex-grow: 1; }
.sidebar-nav li a { display: flex; align-items: center; padding: 14px 24px; color: #CFD8DC; text-decoration: none; font-weight: 500; transition: background 0.2s; }
.sidebar-nav li.active a, .sidebar-nav li a:hover { background-color: var(--accent-burgundy); color: var(--text-white); border-left: 4px solid var(--accent-red); }
.badge-pass, .badge-approved, .badge-present { background-color: var(--light-green); color: var(--success-green); padding: 4px 10px; border-radius: 4px; font-weight: bold; }
.badge-fail, .badge-rejected, .badge-absent { background-color: #FFCDD2; color: var(--accent-red); padding: 4px 10px; border-radius: 4px; font-weight: bold; }
