:root {
  --sipadu-blue: #0055a5;
  --sipadu-green: #1c9b3b;
}

.sidebar-logo img.light-logo,
.sidebar-logo img.dark-logo {
  max-width: 230px;
  width: auto;
  object-fit: contain;
}
.sidebar-logo img.logo-icon {
  max-width: 44px;
  max-height: 44px;
  object-fit: contain;
}
.sidebar-menu li a.active-page,
.sidebar-menu li a:hover {
  color: var(--primary-600);
  background-color: var(--primary-50);
}
.sidebar-menu li a.active-page .menu-icon,
.sidebar-menu li a:hover .menu-icon {
  color: var(--primary-600);
}
.navbar-search input { min-width: 280px; }
@media (max-width: 767.98px) { .navbar-search { display: none; } }

.sipadu-mini-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--primary-50);
  color: var(--primary-600);
  font-weight: 600;
  font-size: 12px;
}
.sipadu-service-link { text-decoration: none; color: inherit; display: block; }
.sipadu-service-link:hover .card { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,.08); }
.sipadu-service-link .card { transition: .2s ease; }
.sipadu-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}
.sipadu-photo-grid img,
.sipadu-photo-preview {
  width: 100%;
  height: 130px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--neutral-200);
  background: var(--neutral-50);
}
#photoPreview {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px;
}
.sipadu-avatar-letter {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--primary-600);
  color: #fff;
  font-weight: 700;
}
.sipadu-default-box {
  background: var(--neutral-50);
  border: 1px solid var(--neutral-200);
  border-radius: 16px;
}
.sipadu-auth-logo {
  max-width: 220px;
  width: auto;
  display: inline-block;
}
.auth-left .sipadu-auth-illustration {
  max-width: 430px;
  width: 78%;
  background: #fff;
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 20px 60px rgba(0,0,0,.06);
}
.table td, .table th { white-space: nowrap; }
.table td .text-wrap-col { white-space: normal; min-width: 220px; }

/* Fallback icon Unicode bila font Remix tidak terbaca di hosting. */
[class^="ri-"], [class*=" ri-"] { font-style: normal; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.ri-eye-line::before { content: "◉"; }
.ri-eye-off-line::before { content: "◎"; }
.ri-add-line::before { content: "+"; }
.ri-arrow-left-line::before { content: "←"; }
.ri-edit-line::before { content: "✎"; }
.ri-delete-bin-line::before { content: "×"; }
.ri-filter-3-line::before { content: "≡"; }
.ri-save-line::before { content: "✓"; }
.ri-mail-line::before { content: "✉"; }
.ri-lock-line::before { content: "●"; }
