:root {
  --primary: #0d6efd;
  --primary-dark: #0b4fa8;
  --sidebar-bg: #12233e;
  --sidebar-hover: #1c3357;
  --topbar-bg: #12233e;
}

body { background:#f4f6f9; font-family: 'Segoe UI', Roboto, Arial, sans-serif; }

/* ---------- Login ---------- */
.login-body { background: linear-gradient(135deg,#12233e,#0d6efd); min-height:100vh; display:flex; align-items:center; justify-content:center; }
.login-wrap { width: 100%; max-width: 420px; padding: 20px; }
.login-card { border-radius: 16px; }
.login-logo { width:60px; height:60px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; }

/* ---------- Topbar ---------- */
.topbar { background: var(--topbar-bg); }

/* ---------- Sidebar ---------- */
.sidebar { width: 250px; min-height: calc(100vh - 56px); background: var(--sidebar-bg); flex-shrink:0; overflow-y:auto; }
.sidebar .nav-link { color:#c7d3e6; padding:9px 14px; border-radius:8px; margin-bottom:2px; font-size:14px; display:flex; align-items:center; gap:10px; }
.sidebar .nav-link i { width:18px; text-align:center; }
.sidebar .nav-link:hover { background: var(--sidebar-hover); color:#fff; }
.sidebar .nav-link.active { background: var(--primary); color:#fff; }
.nav-section { color:#7c8db5; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.05em; margin:14px 10px 6px; }

@media (max-width: 991px) {
  .sidebar { position: fixed; top:56px; left:-260px; z-index:1040; transition: left .2s ease; box-shadow: 4px 0 15px rgba(0,0,0,.2);}
  .sidebar.show { left: 0; }
}

.content-area { min-width: 0; }

/* ---------- Cards / widgets ---------- */
.stat-card { border:none; border-radius:14px; color:#fff; }
.stat-card .stat-icon { font-size:32px; opacity:.85; }
.card { border-radius:12px; border:1px solid #e7eaf0; }
.table thead th { background:#f1f4f9; font-size:13px; text-transform:uppercase; letter-spacing:.03em; }
.badge-status-Normal{background:#198754}
.badge-status-Low{background:#fd7e14}
.badge-status-High{background:#fd7e14}
.badge-status-Critical{background:#dc3545}

.app-footer { background:#fff; border-top:1px solid #e7eaf0; }

/* ---------- Print report ---------- */
.report-sheet { background:#fff; max-width:800px; margin:20px auto; padding:30px; border:1px solid #ddd; }
.report-sheet table { width:100%; border-collapse: collapse; }
.report-sheet th, .report-sheet td { padding:6px 8px; font-size:14px; }
.report-sheet .section-title { background:#eef2f8; font-weight:700; padding:6px 10px; margin-top:14px; }
@media print {
  .no-print { display:none !important; }
  body { background:#fff; }
  .report-sheet { border:none; margin:0; max-width:100%; }
}

.flag-High, .flag-Low { color:#fd7e14; font-weight:700; }
.flag-Critical { color:#dc3545; font-weight:700; }
.flag-Normal { color:#198754; }

.cursor-pointer { cursor:pointer; }
