/*
 * Khalifa IMS Style Guide — Custom Theme Overrides
 * Font: Poppins (loaded via app.css)
 */

:root {
  /* Solid Palette */
  --kims-green-primary: #73A919;
  --kims-red: #FB2F1B;
  --kims-yellow: #F8BE03;
  --kims-dark-green: #063022;
  --kims-cream: #FDD66E;
  --kims-yellow-hero: #FDD650;
  --kims-bg-tagihan: #FEFBF7;

  /* Text Palette */
  --kims-text-black: #1A1A1A;
  --kims-text-gray: #8D8D8D;

  /* Border Palette */
  --kims-border-gray-1: #BBBBBB;
  --kims-border-gray-2: #ECECEC;
  --kims-border-gray-3: #F5F5F5;

  /* Badge Backgrounds */
  --kims-badge-success-bg: #E8F5ED;
  --kims-badge-error-bg: #FBE8EE;
  --kims-badge-pending-bg: #FEF5D6;
  --kims-badge-success-border: #ABDABD;
  --kims-badge-error-border: #F0ABC0;
  --kims-badge-pending-border: #FDE5A4;

  /* Gradients */
  --kims-gradient-green: linear-gradient(135deg, #06883D 0%, #0B8A3C 100%);
  --kims-gradient-blue: linear-gradient(135deg, #01C2C1 0%, #01ABAA 100%);

  /* Shadows */
  --kims-shadow-md: 0px 2px 8px 1px rgba(0, 0, 0, 0.06);
  --kims-shadow-big: 0px 6px 8px rgba(0, 0, 0, 0.08);

  /* Radius */
  --kims-radius-lg: 16px;
  --kims-radius-md: 12px;
  --kims-radius-sm: 8px;
  --kims-radius-xs: 6px;
  --kims-radius-2xs: 4px;
}

body {
  color: var(--kims-text-black);
  background-color: var(--kims-bg-tagihan);
}

.text-muted {
  color: var(--kims-text-gray) !important;
}

.card {
  border-color: var(--kims-border-gray-2);
  border-radius: var(--kims-radius-sm);
  box-shadow: var(--kims-shadow-md);
}

.card-header {
  border-bottom-color: var(--kims-border-gray-2);
}

.form-control,
.form-select {
  border-color: var(--kims-border-gray-1);
  border-radius: var(--kims-radius-2xs);
  color: var(--kims-text-black);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--kims-green-primary);
  box-shadow: 0 0 0 0.2rem rgba(115, 169, 25, 0.15);
}

.form-control:readonly {
  background-color: var(--kims-border-gray-3) !important;
}

.btn-primary {
  background-color: var(--kims-green-primary);
  border-color: var(--kims-green-primary);
  border-radius: var(--kims-radius-2xs);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--kims-dark-green);
  border-color: var(--kims-dark-green);
}

.btn-danger {
  background-color: var(--kims-red);
  border-color: var(--kims-red);
}

.btn-warning {
  background-color: var(--kims-yellow);
  border-color: var(--kims-yellow);
  color: var(--kims-text-black);
}

.badge-soft-success,
.alert-success {
  background-color: var(--kims-badge-success-bg) !important;
  border: 1px solid var(--kims-badge-success-border);
  color: var(--kims-dark-green);
}

.badge-soft-danger,
.alert-danger {
  background-color: var(--kims-badge-error-bg) !important;
  border: 1px solid var(--kims-badge-error-border);
  color: var(--kims-red);
}

.badge-soft-warning,
.alert-warning {
  background-color: var(--kims-badge-pending-bg) !important;
  border: 1px solid var(--kims-badge-pending-border);
  color: #856404;
}

.bg-kuning-muda {
  background-color: var(--kims-badge-pending-bg) !important;
}

.bg-biru-muda {
  background-color: #e6fafa !important;
}

.bg-gradient-green-card {
  background: var(--kims-gradient-green);
}

.bg-gradient-blue-card {
  background: var(--kims-gradient-blue);
}

.shadow-kims-md {
  box-shadow: var(--kims-shadow-md);
}

.shadow-kims-big {
  box-shadow: var(--kims-shadow-big);
}

.rounded-kims-lg { border-radius: var(--kims-radius-lg) !important; }
.rounded-kims-md { border-radius: var(--kims-radius-md) !important; }
.rounded-kims-sm { border-radius: var(--kims-radius-sm) !important; }

table.dataTable tbody tr.selected,
table.dataTable tbody tr:hover {
  background-color: var(--kims-badge-success-bg) !important;
  color: var(--kims-text-black) !important;
}

table.dataTable tbody tr:hover > .sorting_1 {
  background-color: var(--kims-badge-success-bg) !important;
  color: var(--kims-text-black) !important;
}

#page-topbar.topbar-shadow {
  box-shadow: var(--kims-shadow-md);
}

.auth-page-wrapper .btn-primary {
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* Sidebar — plain white background agar logo tidak kontras */
.app-menu.navbar-menu,
.navbar-menu .navbar-brand-box {
  background-color: #fff !important;
}

.navbar-menu {
  border-right: 1px solid var(--kims-border-gray-2);
  box-shadow: none;
}

:is([data-layout=vertical], [data-layout=semibox])[data-sidebar=light] .logo-dark,
:is([data-layout=vertical], [data-layout=semibox])[data-sidebar=dark] .logo-dark {
  display: inline-block;
}

:is([data-layout=vertical], [data-layout=semibox])[data-sidebar=light] .logo-light,
:is([data-layout=vertical], [data-layout=semibox])[data-sidebar=dark] .logo-light {
  display: none;
}
