:root {
  --edog-navy: #0f2439;
  --edog-navy-deep: #0b1c2d;
  --edog-navy-mid: #1b3a4b;
  --edog-ink: #1e2937;
  --edog-muted: #64748b;
  --edog-line: #d7dee6;
  --edog-paper: #f4f6f8;
  --edog-white: #ffffff;
  --edog-ok: #1b6b4a;
  --edog-info: #1b4f72;
  --edog-warn: #9a5b12;
  --edog-bad: #8b2e2e;
  --edog-radius: 4px;
}

html, body {
  font-family: "IBM Plex Sans", "Source Sans Pro", "Segoe UI", sans-serif;
  color: var(--edog-ink);
  background: var(--edog-paper);
}

.fa,
.fas,
.far,
.fab,
.fal,
.fa-solid,
.nav-icon.fas,
.nav-icon.far,
.nav-icon.fa,
i.fas,
i.far,
i.fab,
i.fa {
  font-family: "Font Awesome 5 Free" !important;
  font-style: normal !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.fa,
.fas,
.fa-solid,
.nav-icon.fas,
i.fas,
i.fa {
  font-weight: 900 !important;
}

.far,
.nav-icon.far,
i.far {
  font-weight: 400 !important;
}

.fab,
i.fab {
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}

.fa-file-lines:before { content: "\f15c"; }
.fa-cloud-arrow-up:before { content: "\f382"; }
.fa-triangle-exclamation:before { content: "\f071"; }
.fa-link-slash:before { content: "\f127"; }
.fa-xmark:before { content: "\f00d"; }
.fa-arrow-right-from-bracket:before { content: "\f2f5"; }
.fa-rotate:before { content: "\f2f1"; }

/* ---------- AdminLTE shell ---------- */
.wrapper,
.content-wrapper {
  background: var(--edog-paper) !important;
}

.main-header.navbar {
  background: var(--edog-white) !important;
  border-bottom: 1px solid var(--edog-line) !important;
  height: 56px;
}

.main-header .navbar-nav .nav-link {
  color: var(--edog-navy-mid) !important;
}

.edog-topbar-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.15;
  padding-left: 8px;
}

.edog-topbar-title strong {
  font-size: 14px;
  font-weight: 600;
  color: var(--edog-navy);
  letter-spacing: 0.02em;
}

.edog-topbar-title span {
  font-size: 11px;
  color: var(--edog-muted);
}

.edog-topbar-user {
  font-size: 13px;
  color: var(--edog-navy-mid);
  margin-right: 12px;
}

.main-sidebar,
.main-sidebar.sidebar-dark-primary {
  background: var(--edog-navy) !important;
  box-shadow: none !important;
}

.brand-link {
  background: var(--edog-navy-deep) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  text-align: left !important;
}

.brand-link .brand-image {
  opacity: 1 !important;
  box-shadow: none !important;
  border-radius: 2px !important;
  float: none;
  margin: 0 8px 0 0;
}

.brand-link .brand-text {
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  color: #fff !important;
}

.user-panel {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.user-panel .info a {
  font-size: 13px;
  font-weight: 500;
}

.nav-sidebar .nav-link {
  border-radius: 2px;
  margin: 1px 8px;
}

.nav-sidebar .nav-link p,
.nav-sidebar .nav-icon {
  font-size: 13.5px;
}

.nav-sidebar .nav-link.active,
.nav-sidebar .nav-item > .nav-link.active {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
  background-color: var(--edog-navy-mid) !important;
  box-shadow: none !important;
}

.content-header h1,
.content-header h1.m-0 {
  font-size: 22px;
  font-weight: 600;
  color: var(--edog-navy);
  letter-spacing: -0.01em;
}

.breadcrumb {
  background: transparent;
  font-size: 12px;
}

.edog-section-title {
  margin: 8px 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--edog-line);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--edog-navy-mid);
}

.edog-section-title i {
  margin-right: 8px;
  font-size: 13px;
  display: inline-block;
  width: 1em;
  text-align: center;
}

.edog-page-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-right: 10px;
  border: 1px solid var(--edog-line);
  background: var(--edog-white);
  color: var(--edog-navy-mid);
  font-size: 16px;
  vertical-align: middle;
}

.edog-metric-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 10px;
  border: 1px solid var(--edog-line);
  background: #eef2f5;
  color: var(--edog-navy-mid);
  font-size: 16px;
}

.main-footer {
  background: var(--edog-white) !important;
  border-top: 1px solid var(--edog-line) !important;
  color: var(--edog-muted);
  font-size: 12px;
}

.main-footer a {
  color: var(--edog-navy-mid);
}

/* Cards, tables, forms */
.card {
  border: 1px solid var(--edog-line) !important;
  box-shadow: none !important;
  border-radius: var(--edog-radius) !important;
}

.card-header {
  background: var(--edog-white) !important;
  border-bottom: 1px solid var(--edog-line) !important;
  font-weight: 600;
  color: var(--edog-navy);
}

.card-primary .card-header,
.card-info .card-header,
.card-success .card-header,
.card-warning .card-header,
.card-danger .card-header,
.card-purple .card-header,
.card-secondary .card-header {
  background: var(--edog-navy) !important;
  color: #fff !important;
  border-bottom: 0 !important;
}

.card-primary .card-title,
.card-info .card-title,
.card-success .card-title,
.card-warning .card-title,
.card-danger .card-title,
.card-purple .card-title,
.card-secondary .card-title,
.card-warning .card-header .btn {
  color: #fff !important;
}

.table thead th {
  background: #eef2f5;
  color: var(--edog-navy);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid var(--edog-line) !important;
}

.table td {
  font-size: 13.5px;
  vertical-align: middle;
}

.form-control,
.form-control:focus,
.select2-container--default .select2-selection--single {
  border-color: var(--edog-line);
  border-radius: var(--edog-radius);
  box-shadow: none !important;
}

.form-control:focus {
  border-color: var(--edog-navy-mid);
}

.btn {
  border-radius: var(--edog-radius);
  font-weight: 500;
}

.btn-primary,
.btn-info {
  background: var(--edog-navy-mid) !important;
  border-color: var(--edog-navy-mid) !important;
}

.btn-success {
  background: var(--edog-ok) !important;
  border-color: var(--edog-ok) !important;
}

.btn-warning {
  background: #c9842a !important;
  border-color: #c9842a !important;
  color: #fff !important;
}

.btn-danger {
  background: var(--edog-bad) !important;
  border-color: var(--edog-bad) !important;
}

.badge-success {
  background-color: #28a745 !important;
  color: #fff !important;
}
.badge-info,
.badge-primary { background-color: var(--edog-info) !important; color: #fff !important; }
.badge-warning { background-color: var(--edog-warn) !important; color: #fff !important; }
.badge-danger { background-color: var(--edog-bad) !important; color: #fff !important; }

.badge.badge-edog-lulus,
.badge.badge-edog-pay-ok,
.badge.badge-success.badge-edog-lulus,
.badge.badge-success.badge-edog-pay-ok {
  background-color: #28a745 !important;
  color: #fff !important;
}

.badge.badge-edog-pay-pending {
  background-color: #fd7e14 !important;
  color: #fff !important;
}

/* Metric boxes: corporate cards instead of bright AdminLTE tiles */
.small-box {
  background: var(--edog-white) !important;
  color: var(--edog-ink) !important;
  border: 1px solid var(--edog-line) !important;
  border-top: 3px solid var(--edog-navy-mid) !important;
  border-radius: var(--edog-radius) !important;
  box-shadow: none !important;
}

.small-box.bg-success { border-top-color: var(--edog-ok) !important; }
.small-box.bg-info { border-top-color: var(--edog-info) !important; }
.small-box.bg-warning { border-top-color: var(--edog-warn) !important; }
.small-box.bg-danger { border-top-color: var(--edog-bad) !important; }

.small-box .inner h3,
.small-box .inner p,
.small-box h3,
.small-box p {
  color: var(--edog-ink) !important;
}

.small-box .inner p {
  color: var(--edog-muted) !important;
  font-size: 13px;
}

.small-box .icon {
  color: var(--edog-navy) !important;
  opacity: 0.18;
  z-index: 0;
}

.small-box .icon > i {
  font-size: 70px;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}

.edog-metric-icon i,
.edog-page-icon i,
.info-box-icon i {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  display: inline-block;
  line-height: 1;
}

.small-box .small-box-footer {
  background: #f8fafc !important;
  color: var(--edog-navy-mid) !important;
  border-top: 1px solid var(--edog-line);
}

.info-box {
  background: var(--edog-white);
  border: 1px solid var(--edog-line);
  border-radius: var(--edog-radius);
  box-shadow: none !important;
  min-height: 86px;
}

.info-box-icon {
  background: #eef2f5 !important;
  color: var(--edog-navy-mid) !important;
}

.info-box-icon.bg-info,
.info-box-icon.bg-success,
.info-box-icon.bg-warning,
.info-box-icon.bg-danger {
  color: #fff !important;
}

.info-box-icon.bg-info { background: var(--edog-info) !important; }
.info-box-icon.bg-success { background: var(--edog-ok) !important; }
.info-box-icon.bg-warning { background: var(--edog-warn) !important; }
.info-box-icon.bg-danger { background: var(--edog-bad) !important; }

.info-box-text {
  color: var(--edog-muted);
  font-size: 12px;
  text-transform: none;
}

.info-box-number {
  color: var(--edog-navy);
  font-weight: 600;
}

.info-box-content a {
  font-size: 12px;
  color: var(--edog-navy-mid);
}

.alert {
  border-radius: var(--edog-radius);
  border: 1px solid var(--edog-line);
}

.dreams-hero {
  background: var(--edog-navy) !important;
  color: #fff !important;
  border-radius: var(--edog-radius) !important;
}

/* ---------- Public / pemohon (RuangAdmin) ---------- */
.bg-gradient-login,
body.bg-gradient-login {
  background: var(--edog-navy) !important;
}

.container-login .card {
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none !important;
}

.login-form {
  padding: 36px 32px;
}

.login-form .form-control {
  height: 42px;
  border-radius: var(--edog-radius);
}

.edog-login-kicker {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--edog-muted);
  margin-bottom: 6px;
}

.edog-login-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--edog-navy);
  margin-bottom: 20px;
}

.sidebar.sidebar-light {
  background: var(--edog-navy) !important;
}

.sidebar-brand {
  background: var(--edog-navy-deep) !important;
}

.sidebar-brand-text,
.sidebar-light .sidebar-brand-text {
  color: #fff !important;
  font-weight: 600;
}

.sidebar-light .nav-item .nav-link,
.sidebar-light .nav-item .nav-link span {
  color: rgba(255, 255, 255, 0.86) !important;
}

.sidebar-light .nav-item.active .nav-link,
.sidebar-light .nav-item .nav-link.active {
  background: var(--edog-navy-mid) !important;
  color: #fff !important;
}

.topbar,
.navbar.bg-navbar,
.bg-navbar {
  background: var(--edog-white) !important;
  border-bottom: 1px solid var(--edog-line);
}

.topbar .nav-link,
#sidebarToggleTop {
  color: var(--edog-navy-mid) !important;
}

#content-wrapper,
#wrapper #content-wrapper {
  background: var(--edog-paper) !important;
}

.sticky-footer {
  border-top: 1px solid var(--edog-line);
  color: var(--edog-muted);
  font-size: 12px;
}
