/* ============================================================
   AKM / CBT Digital v5.1.0 — Kementerian Edition
   GLOBAL COMPATIBILITY / LAYOUT STABILIZATION
   Tujuan: mempertahankan struktur layout bawaan CORK/Bootstrap,
   sementara identitas visual admin tetap formal ala kementerian.
   ============================================================ */

:root {
  --kem-navy-950:#041a2e;
  --kem-navy-900:#062642;
  --kem-navy-850:#082f50;
  --kem-navy-800:#0a385d;
  --kem-blue-700:#0b5b97;
  --kem-blue-600:#0d6bb2;
  --kem-blue-500:#1680c7;
  --kem-blue-100:#eaf4fb;
  --kem-blue-50:#f3f8fc;
  --kem-gold-500:#cfa64a;
  --kem-gold-400:#dfbd70;
  --kem-green-600:#1f7a55;
  --kem-red-600:#b93f4a;
  --kem-bg:#f4f7fb;
  --kem-surface:#fff;
  --kem-border:#dce5ee;
  --kem-border-strong:#c7d4e2;
  --kem-text:#1b2b3a;
  --kem-muted:#6b7c8d;
  --kem-shadow-sm:0 3px 12px rgba(7,39,68,.06);
  --kem-shadow-md:0 10px 30px rgba(7,39,68,.10);
}

html,body{font-family:"Nunito",Arial,sans-serif!important;color:var(--kem-text)}
body.ministry-admin,body.ministry-participant,body.ministry-public,body.ministry-standalone{background:var(--kem-bg)!important}
a{color:var(--kem-blue-700)}a:hover{color:var(--kem-navy-800)}
#load_screen{background:var(--kem-navy-950)!important}.loader .spinner-grow,#load_screen .spinner-grow{color:var(--kem-gold-400)!important}

/* ============================================================
   ADMIN: structural compatibility first
   ============================================================ */
body.ministry-admin #content.main-content{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  display:block!important;
  overflow:visible!important;
  background:var(--kem-bg)!important;
  /* Header kementerian lebih tinggi dari header bawaan CORK.
     Beri ruang tetap agar judul/konten tidak masuk ke bawah header. */
  margin-top:98px!important;
}
body.ministry-admin .layout-px-spacing{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.ministry-admin .middle-content{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

/* Ritme vertikal halaman admin */
body.ministry-admin .layout-top-spacing{
  margin-top:24px!important;
}
body.ministry-admin .ministry-dashboard-page{
  margin-top:24px!important;
}
body.ministry-admin .layout-px-spacing{
  padding-top:0!important;
}
body.ministry-admin #content>.container,
body.ministry-admin #content>.container-fluid{
  display:block!important;
  width:100%!important;
  max-width:1488px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.ministry-admin #content>.container>.container,
body.ministry-admin #content>.container-fluid>.container{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
/* Jangan mengubah grid Bootstrap / struktur plugin. */
body.ministry-admin .row{max-width:none}
body.ministry-admin .table-responsive{width:100%;max-width:100%}
body.ministry-admin table{max-width:100%}

/* ============================================================
   Header kementerian — hanya skin, tidak mengubah mekanisme layout
   ============================================================ */
.header-container,.header-container.container-xxl{background:transparent!important}
body.ministry-admin .header-container .header,
body.ministry-admin .header.navbar,
body.ministry-admin .ministry-header{
  min-height:72px!important;
  border:1px solid rgba(220,229,238,.92)!important;
  border-top:3px solid var(--kem-gold-500)!important;
  border-radius:0 0 10px 10px!important;
  background:#fff!important;
  box-shadow:0 4px 18px rgba(5,35,61,.08)!important;
}
.ministry-header-left{display:flex;align-items:center;min-width:0;gap:10px}
body.ministry-admin .header .sidebarCollapse,.ministry-menu-toggle{
  width:38px;height:38px;display:inline-flex!important;align-items:center;justify-content:center;
  border:1px solid var(--kem-border)!important;border-radius:7px!important;color:var(--kem-navy-800)!important;background:var(--kem-blue-50)!important
}
.ministry-header-brand{display:flex;align-items:center;min-width:0;gap:10px}
.ministry-header-logo{width:42px;height:42px;padding:4px;display:flex;align-items:center;justify-content:center;flex:0 0 42px;border:1px solid var(--kem-border);border-radius:8px;background:#fff}
.ministry-header-logo img{width:100%;height:100%;object-fit:contain}
.ministry-header-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.ministry-header-kicker{margin-bottom:2px;color:var(--kem-blue-700);font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.ministry-header-title{max-width:520px;overflow:hidden;color:var(--kem-navy-900);font-size:.95rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.ministry-header-school{max-width:520px;margin-top:2px;overflow:hidden;color:var(--kem-muted);font-size:.72rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
body.ministry-admin .header .nav-link{color:var(--kem-navy-800)!important}
body.ministry-admin .header .theme-toggle,
body.ministry-admin .header .user-profile-dropdown>.nav-link{border:1px solid var(--kem-border);border-radius:7px;background:#f8fafc}

/* ============================================================
   Sidebar — pertahankan ukuran/position dari CSS tema bawaan
   ============================================================ */
body.ministry-admin .sidebar-wrapper,
body.ministry-admin .sidebar-wrapper.sidebar-theme,
body.ministry-admin #sidebar{background:linear-gradient(180deg,var(--kem-navy-950),var(--kem-navy-900))!important}
body.ministry-admin #sidebar{border-right:1px solid rgba(255,255,255,.08)!important;box-shadow:8px 0 24px rgba(4,26,46,.10)!important}
body.ministry-admin #sidebar .theme-brand{border-bottom:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.02)!important}
body.ministry-admin #sidebar .theme-logo img,
body.ministry-admin #sidebar .navbar-logo{padding:4px;object-fit:contain;border-radius:8px!important;background:#fff}
body.ministry-admin #sidebar .theme-text .nav-link{color:#fff!important;font-weight:800!important}
body.ministry-admin #sidebar .profile-info{border:1px solid rgba(255,255,255,.10)!important;border-radius:8px!important;background:rgba(255,255,255,.055)!important}
body.ministry-admin #sidebar .profile-content h6{color:#fff!important;font-weight:800!important}
body.ministry-admin #sidebar .profile-content p{color:#a9c6dc!important}
.sidebar-ministry-caption{padding:10px 20px 5px;color:#8fb3cd;font-size:.60rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
body.ministry-admin #sidebar ul.menu-categories li.menu>.dropdown-toggle{border-radius:7px!important;color:#d6e5f1!important;background:transparent!important}
body.ministry-admin #sidebar ul.menu-categories li.menu>.dropdown-toggle:hover{color:#fff!important;background:rgba(255,255,255,.07)!important}
body.ministry-admin #sidebar ul.menu-categories li.menu>.dropdown-toggle.active,
body.ministry-admin #sidebar ul.menu-categories li.menu.active>.dropdown-toggle{color:#fff!important;background:rgba(13,107,178,.24)!important;box-shadow:inset 3px 0 0 var(--kem-gold-400)}
body.ministry-admin #sidebar .submenu{border-left-color:rgba(255,255,255,.12)!important}
body.ministry-admin #sidebar .submenu li a{color:#aac4d8!important}
body.ministry-admin #sidebar .submenu li a:hover,
body.ministry-admin #sidebar .submenu li.active a,
body.ministry-admin #sidebar .submenu li a.active{color:#fff!important;background:rgba(255,255,255,.06)!important}

/* ============================================================
   Existing component skin — colors only, geometry tetap bawaan
   ============================================================ */
body.ministry-admin .widget,
body.ministry-admin .card,
body.ministry-admin .statbox{
  border-color:var(--kem-border)!important;
  background-color:#fff!important;
  box-shadow:var(--kem-shadow-sm)!important;
}
body.ministry-admin .widget-heading h5,
body.ministry-admin .card-title,
body.ministry-admin .card-header{color:var(--kem-navy-900)!important}
body.ministry-admin .card-header{border-bottom-color:var(--kem-border)!important;background:#f8fafc!important}
body.ministry-admin .btn-primary,
body.ministry-admin .btn-info{border-color:var(--kem-blue-700)!important;background-color:var(--kem-blue-700)!important}
body.ministry-admin .btn-primary:hover,
body.ministry-admin .btn-info:hover{border-color:var(--kem-navy-800)!important;background-color:var(--kem-navy-800)!important}
body.ministry-admin .btn-success{background-color:var(--kem-green-600)!important;border-color:var(--kem-green-600)!important}
body.ministry-admin .btn-danger{background-color:var(--kem-red-600)!important;border-color:var(--kem-red-600)!important}
body.ministry-admin .form-control,
body.ministry-admin .form-select,
body.ministry-admin .ts-control{border-color:var(--kem-border-strong)!important;box-shadow:none!important;transform:none!important}
body.ministry-admin .form-control:focus,
body.ministry-admin .form-select:focus,
body.ministry-admin .ts-control.focus{border-color:var(--kem-blue-600)!important;box-shadow:0 0 0 3px rgba(13,107,178,.10)!important;transform:none!important}
body.ministry-admin .table thead th,
body.ministry-admin table.dataTable thead th{color:var(--kem-navy-900)!important;background-color:#edf4f9!important;border-bottom-color:#cdd9e5!important}
body.ministry-admin .table tbody td,
body.ministry-admin table.dataTable tbody td{border-color:#edf1f5!important}
body.ministry-admin .modal-content{border-color:var(--kem-border)!important}
body.ministry-admin .modal-header{border-bottom-color:var(--kem-border)!important;background:#f8fafc!important;color:var(--kem-navy-900)!important}
body.ministry-admin .modal-footer{border-top-color:var(--kem-border)!important;background:#fbfcfd!important}
body.ministry-admin .dropdown-menu{border-color:var(--kem-border)!important;box-shadow:var(--kem-shadow-md)!important}
body.ministry-admin .dropdown-item:hover,
body.ministry-admin .dropdown-item:focus{color:var(--kem-navy-900)!important;background:var(--kem-blue-50)!important}
body.ministry-admin .alert-info{border-color:#c8deef!important;color:#224967!important;background:#eef7fd!important}
body.ministry-admin .badge.bg-primary,body.ministry-admin .bg-primary{background-color:var(--kem-blue-700)!important}

/* ============================================================
   Dashboard v5 custom classes
   ============================================================ */
.ministry-dashboard-page{width:100%;max-width:100%;box-sizing:border-box}
.ministry-page-head{margin:20px 0 16px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--kem-border);border-left:4px solid var(--kem-blue-700);border-radius:9px;background:#fff;box-shadow:var(--kem-shadow-sm)}
.ministry-page-kicker{margin-bottom:3px;color:var(--kem-blue-700);font-size:.64rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ministry-page-title{margin:0;color:var(--kem-navy-900);font-size:1.22rem;font-weight:850}
.ministry-page-subtitle{margin:4px 0 0;color:var(--kem-muted);font-size:.78rem}
.ministry-datebox{min-width:245px;padding:9px 12px;display:flex;align-items:center;justify-content:flex-end;gap:12px;border:1px solid var(--kem-border);border-radius:7px;background:#f8fafc;color:var(--kem-muted);font-size:.72rem}
.ministry-datebox strong{color:var(--kem-navy-800)}
.ministry-hero{position:relative;overflow:hidden;margin-bottom:16px;padding:23px 24px;border-radius:10px;color:#fff;background:linear-gradient(115deg,var(--kem-navy-950),var(--kem-navy-800) 60%,var(--kem-blue-700));box-shadow:var(--kem-shadow-md)}
.ministry-hero .hero-kicker{color:var(--kem-gold-400);font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.ministry-hero h2{margin:5px 0 6px;color:#fff;font-size:1.5rem;font-weight:850}.ministry-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.75);font-size:.84rem}
.ministry-status-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#eaf7ef;background:rgba(255,255,255,.08);font-size:.68rem;font-weight:800}.ministry-status-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:#5bd196}
.ministry-stat-card{height:100%;padding:16px 17px;display:flex;align-items:center;gap:12px;border:1px solid var(--kem-border);border-radius:9px;background:#fff;box-shadow:var(--kem-shadow-sm)}
.ministry-stat-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 42px;border-radius:7px;color:var(--kem-blue-700);background:var(--kem-blue-100)}
.ministry-stat-icon svg{width:19px;height:19px}.ministry-stat-label{margin-bottom:2px;color:var(--kem-muted);font-size:.69rem;font-weight:700;text-transform:uppercase}.ministry-stat-value{color:var(--kem-navy-900);font-size:1.45rem;font-weight:900;line-height:1}
.ministry-info-row{min-height:54px;padding:9px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf1f5}.ministry-info-row:last-child{border-bottom:0}.ministry-info-row .info-icon{width:33px;height:33px;display:flex;align-items:center;justify-content:center;flex:0 0 33px;border-radius:7px;color:var(--kem-blue-700);background:var(--kem-blue-100)}.ministry-info-row .label{color:var(--kem-muted);font-size:.67rem;font-weight:700}.ministry-info-row .value{color:var(--kem-text);font-size:.82rem;font-weight:800}

/* Footer */
body.ministry-admin .footer-wrapper{border-top:1px solid var(--kem-border)!important;color:var(--kem-muted)!important;background:#fff!important}
.ministry-footer-credit{color:var(--kem-navy-800);font-weight:800}

/* Participant/public/auth/standalone skins — no global grid overrides */
body.enable-secondaryNav .header-container .header{border-top-color:var(--kem-blue-700)!important}
body.ministry-public,body.ministry-public #content{background:var(--kem-bg)!important}
body.ministry-public .navbar,body.ministry-public .navbar-animated{border-bottom:3px solid var(--kem-gold-500)!important;color:#fff!important;background:var(--kem-navy-900)!important}
body.ministry-public .navbar .nav-link,body.ministry-public .navbar span,body.ministry-public .navbar strong{color:#fff!important}
body.form,body.ministry-auth{background:#edf3f8!important}
.auth-shell,.login-container{border:1px solid var(--kem-border)!important;background:#fff!important;box-shadow:0 24px 70px rgba(4,26,46,.15)!important}
.institution-panel,.information-panel{color:#fff!important;background:linear-gradient(145deg,var(--kem-navy-950),var(--kem-navy-800) 58%,var(--kem-blue-700))!important}
.institution-caption,.school-caption,.official-badge,.system-badge{color:#f1d58f!important}
.login-panel,.form-panel{background:#fff!important}.login-eyebrow,.login-type{color:var(--kem-blue-700)!important;font-weight:850!important}.login-title{color:var(--kem-navy-900)!important}.btn-login{background:var(--kem-blue-700)!important}.btn-login:hover{background:var(--kem-navy-800)!important}
body.ministry-standalone{color:var(--kem-text)!important;background:linear-gradient(180deg,#edf4f9 0%,#f7f9fb 55%,#eef3f7 100%)!important}body.ministry-standalone .bg-bubbles{display:none!important}

/* Dark mode safe skin */
body.dark{--kem-bg:#101923;--kem-surface:#18232f;--kem-border:#2d4053;--kem-border-strong:#3a5167;--kem-text:#e4edf5;--kem-muted:#9fb1c1}
body.dark.ministry-admin,body.dark.ministry-admin .main-content{background:#101923!important}
body.dark.ministry-admin .widget,body.dark.ministry-admin .card,body.dark.ministry-admin .footer-wrapper,body.dark.ministry-admin .ministry-page-head,body.dark.ministry-admin .ministry-stat-card{border-color:#2d4053!important;color:#e4edf5!important;background:#18232f!important}
body.dark.ministry-admin .form-control,body.dark.ministry-admin .form-select,body.dark.ministry-admin .ts-control{border-color:#3a5167!important;color:#edf4fa!important;background:#17232f!important}
body.dark.ministry-admin .table thead th{color:#eaf2f8!important;background:#233445!important}

@media(max-width:991.98px){
  .ministry-header-title,.ministry-header-school{max-width:300px}
  .ministry-page-head{align-items:flex-start;flex-direction:column}
  .ministry-datebox{min-width:0;width:100%;justify-content:flex-start}
  body.ministry-admin #content>.container,body.ministry-admin #content>.container-fluid{padding-left:16px!important;padding-right:16px!important}
}
@media(max-width:575.98px){
  .ministry-header-kicker,.ministry-header-school{display:none}.ministry-header-title{max-width:180px;font-size:.82rem}
  .ministry-hero{padding:19px 17px}.ministry-hero h2{font-size:1.22rem}.ministry-stat-card{padding:13px}
}


/* v5.0.3 — responsive header/content clearance */
@media (max-width: 991.98px){
  body.ministry-admin #content.main-content{
    margin-top:96px!important;
  }
  body.ministry-admin .layout-top-spacing,
  body.ministry-admin .ministry-dashboard-page{
    margin-top:20px!important;
  }
}
@media (max-width: 575.98px){
  body.ministry-admin #content.main-content{
    margin-top:94px!important;
  }
  body.ministry-admin .layout-top-spacing,
  body.ministry-admin .ministry-dashboard-page{
    margin-top:16px!important;
  }
}
