:root{
  --brand:#0B3A67; /* navy */
  --accent:#FFC107; /* warm yellow */
  --bg:#F6F8FB;
}
body{ background: var(--bg); }
.app-nav{ background: linear-gradient(90deg,var(--brand),#0E4A86); }
.shadow-soft{ box-shadow: 0 10px 30px rgba(17,24,39,.10); border-radius: 16px; }
.logo-sm{ width:32px; height:32px; object-fit:contain; }
.logo-md{ width:56px; height:56px; object-fit:contain; }
.badge-online{ background:#16a34a!important; }
.badge-offline{ background:#6b7280!important; }
.kpi-card{ border-radius: 16px; }
.kpi-card .big{ font-size: 1.6rem; font-weight: 800; }
.table thead th{ background:#0b3a6711; }
.btn-primary{ background: var(--brand); border-color: var(--brand); }
.btn-primary:hover{ filter: brightness(1.05); }

/* =========================
   TABLE: NO WRAP TEXT
   ========================= */
.table-nowrap th,
.table-nowrap td{
  white-space: nowrap;
}

/* Terapkan juga untuk semua tabel di dalam .table-responsive (aman untuk seluruh app) */
.table-responsive .table th,
.table-responsive .table td{
  white-space: nowrap;
}

.kpi-click{ cursor:pointer; }
.kpi-click:hover{ transform: translateY(-1px); transition: .15s ease; }
.kpi-click:active{ transform: translateY(0px); }