:root {
    --aman-navy: #082b5f;
    --aman-blue: #0879ef;
    --aman-cyan: #08c3d2;
    --aman-ink: #10233f;
    --aman-muted: #66768d;
    --aman-bg: #eef6ff;
    --aman-card: #ffffff;
    --aman-line: #dce9f7;
}

@font-face {
    font-family: 'AmanSans';
    src: url('/assets/fonts/nunito/Nunito-VariableFont_wght.ttf') format('truetype');
    font-style: normal;
    font-weight: 200 900;
}

html, body, button, input, select, textarea { font-family: 'AmanSans', system-ui, sans-serif !important; }
body { background: radial-gradient(circle at 85% 5%, #d8fbff 0, transparent 28%), var(--aman-bg) !important; color: var(--aman-ink); }
body.layout-boxed .header-container, body.layout-boxed .main-container, body.layout-boxed #content { max-width: none !important; }
.header-container { padding: 10px 18px !important; background: var(--aman-bg) !important; }
.header-container .header { min-height: 64px; padding: 0 20px !important; display: flex !important; align-items: center !important; border: 1px solid var(--aman-line); border-radius: 12px; background: #ffffff !important; box-shadow: 0 4px 14px rgba(8,43,95,.08) !important; backdrop-filter: none !important; }
.header-container .header > span { display: inline-flex !important; align-items: center; min-height: 44px; margin: 0 !important; line-height: 1.25 !important; }
.header-container .header .navbar-item { min-height: 44px; display: flex !important; align-items: center !important; gap: 10px; }
.header-container .header .navbar-item .nav-item { display: inline-flex; align-items: center; justify-content: center; margin: 0 !important; }
.header-container .aman-theme-button { width: 42px; height: 42px; display: inline-flex !important; align-items: center; justify-content: center; border: 1px solid #cfe2f7; border-radius: 12px; background: #edf6ff !important; color: var(--aman-blue) !important; }
.header-container .aman-theme-button:hover { background: #dceeff !important; color: var(--aman-navy) !important; }
.header-container .user-profile-dropdown .nav-link.user { width: 44px; height: 44px; margin: 0 !important; padding: 2px !important; display: inline-flex !important; align-items: center; justify-content: center; border: 1px solid #cfe2f7; border-radius: 12px; background: #edf6ff !important; }
.header-container .avatar.avatar-sm { width: 40px !important; height: 40px !important; }
.header-container .aman-profile-logo { width: 40px !important; height: 40px !important; padding: 3px; object-fit: contain; border: 0 !important; background: #fff; }
.header-container .user-profile-dropdown .dropdown-menu { min-width: 245px !important; margin-top: 12px !important; padding: 8px !important; border: 1px solid #d7e7f7 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 16px 38px rgba(8,43,95,.16) !important; }
.header-container .aman-user-profile-section { margin: 0 !important; padding: 13px !important; border-radius: 12px; background: #edf6ff !important; }
.header-container .aman-profile-badge { width: 40px; height: 40px; flex: 0 0 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg,var(--aman-blue),var(--aman-cyan)); }
.header-container .aman-profile-name { margin: 0 0 3px !important; color: var(--aman-ink) !important; font-weight: 800 !important; }
.header-container .aman-profile-role { margin: 0 !important; color: var(--aman-blue) !important; font-weight: 700 !important; text-transform: none !important; }
.header-container .user-profile-dropdown .dropdown-item { margin-top: 6px; border-radius: 10px; }
.header-container .user-profile-dropdown .dropdown-item:hover { background: #edf6ff !important; }
#sidebar { top: 18px !important; bottom: 18px; left: 18px !important; height: calc(100vh - 36px) !important; border-radius: 24px !important; overflow: hidden; background: linear-gradient(165deg, #061f48 0%, #073d80 70%, #0879ef 100%) !important; box-shadow: 0 20px 50px rgba(6,31,72,.25) !important; }
#sidebar .theme-brand { background: transparent !important; border: 0 !important; padding: 20px 16px !important; }
#sidebar .theme-logo img { width: 48px !important; height: 48px !important; object-fit: contain; border-radius: 14px; background: #fff; padding: 3px; }
#sidebar .theme-brand .theme-text .nav-link,
#sidebar .theme-brand .theme-text .aman-sidebar-brand,
#sidebar .nav-logo .theme-text a { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; opacity: 1 !important; font-size: 20px !important; font-weight: 800 !important; letter-spacing: .04em; text-shadow: 0 1px 2px rgba(0,0,0,.2); }
#sidebar .theme-brand .aman-sidebar-collapse,
#sidebar .theme-brand .aman-sidebar-collapse svg { color: #9ed8ff !important; stroke: #9ed8ff !important; opacity: 1 !important; }
#sidebar .profile-info { margin: 0 14px 16px !important; border-radius: 16px; background: rgba(255,255,255,.1) !important; border: 1px solid rgba(255,255,255,.13); }
#sidebar .profile-info .user-info { padding: 12px !important; background: #dcecff !important; border: 0 !important; box-shadow: none !important; }
#sidebar .profile-info .profile-img { padding-right: 10px !important; }
#sidebar .profile-info .profile-img img { width: 38px !important; height: 38px !important; padding: 2px; object-fit: contain; background: #fff; border: 1px solid #bcd7f5; box-shadow: none !important; }
#sidebar .profile-info .profile-content h6 { color: #082b5f !important; }
#sidebar .profile-info .profile-content p { color: #0879ef !important; font-weight: 700 !important; }
#sidebar .shadow-bottom, .sidebar-wrapper .shadow-bottom { display: none !important; filter: none !important; background: none !important; }
#sidebar .menu-categories { padding: 4px 12px 24px !important; }
#sidebar ul.menu-categories li.menu > .dropdown-toggle { margin: 5px 0 !important; padding: 12px 14px !important; border-radius: 13px !important; color: rgba(255,255,255,.78) !important; }
#sidebar ul.menu-categories li.menu > .dropdown-toggle:hover,
#sidebar ul.menu-categories li.menu > .dropdown-toggle.active { color: #063168 !important; background: #fff !important; box-shadow: 0 8px 20px rgba(0,0,0,.14); }
#sidebar ul.menu-categories li.menu > .dropdown-toggle.active span,
#sidebar ul.menu-categories li.menu > .dropdown-toggle.active svg,
#sidebar ul.menu-categories li.menu > .dropdown-toggle:hover span,
#sidebar ul.menu-categories li.menu > .dropdown-toggle:hover svg { color: #063168 !important; opacity: 1 !important; }
#sidebar ul.menu-categories li.menu > .dropdown-toggle svg { color: currentColor !important; }
#sidebar .submenu a { color: rgba(255,255,255,.72) !important; border-radius: 10px; padding: 9px 12px 9px 46px !important; }
#sidebar .submenu a:hover, #sidebar .submenu a.active { color: #fff !important; background: #126dd1 !important; opacity: 1 !important; }
.main-container #content { margin-top: 104px !important; margin-left: 284px !important; width: calc(100% - 284px) !important; }
.layout-px-spacing { padding: 0 24px 28px !important; }
.card, .widget, .modal-content { border: 1px solid var(--aman-line) !important; border-radius: 20px !important; box-shadow: 0 12px 34px rgba(8,43,95,.07) !important; }
.btn { border-radius: 11px !important; font-weight: 700 !important; }
.btn-primary, .btn-secondary { border-color: var(--aman-blue) !important; background: linear-gradient(135deg, var(--aman-blue), #0756bd) !important; }
.bg-primary, .badge.bg-primary, .page-item.active .page-link { background-color: var(--aman-blue) !important; border-color: var(--aman-blue) !important; }
.bg-gradient-primary { background: linear-gradient(135deg, #0756bd, #08a9d8) !important; color: #fff !important; }
.text-primary, a.text-primary { color: var(--aman-blue) !important; }
.nav-pills .nav-link.active, .nav-tabs .nav-link.active { border-color: var(--aman-blue) !important; background-color: var(--aman-blue) !important; color: #fff !important; }
.progress-bar { background-color: var(--aman-blue) !important; }
.btn-outline-primary { color: var(--aman-blue) !important; border-color: var(--aman-blue) !important; }
.btn-outline-primary:hover { color: #fff !important; background: var(--aman-blue) !important; }
.form-control, .form-select { border-color: var(--aman-line) !important; border-radius: 12px !important; background-color: #f9fcff !important; }
.form-control:focus, .form-select:focus { border-color: var(--aman-cyan) !important; box-shadow: 0 0 0 4px rgba(8,195,210,.14) !important; }
.table thead th { color: #4d6380 !important; background: #f1f7fe !important; border: 0 !important; }
.table tbody tr { border-color: #edf3f9 !important; }
.page-title, h1, h2, h3, h4, h5, h6 { color: var(--aman-ink); letter-spacing: -.02em; }
.enable-secondaryNav .header-container { padding: 12px 24px !important; }
.enable-secondaryNav .header-container .header { background: linear-gradient(120deg,#062654,#0879ef) !important; border-color: transparent !important; }
.enable-secondaryNav .theme-text .nav-link, .enable-secondaryNav .header a { color:#fff !important; }
.enable-secondaryNav .main-container #content { margin-left:0 !important; width:100% !important; }
.enable-secondaryNav .navbar-logo { width:50px !important; height:50px !important; object-fit:contain; padding:3px; background:#fff; border-radius:14px; }
body.dark { --aman-bg:#071526; --aman-card:#0d2138; --aman-ink:#edf7ff; --aman-muted:#9bb1ca; --aman-line:#1c3855; }
body.dark .header-container .header, body.dark .card, body.dark .widget, body.dark .modal-content { background: var(--aman-card) !important; }

/* Respons menu terasa lebih cepat tanpa animasi panjang bawaan tema. */
#sidebar, .sidebar-wrapper, #sidebar .profile-info .user-info,
#sidebar ul.menu-categories li.menu > .dropdown-toggle,
#sidebar .submenu a { transition-duration: .15s !important; }

@media (max-width: 991px) {
    .header-container { padding: 10px 12px !important; }
    .header-container .header {
        min-height: 62px !important;
        height: 62px !important;
        padding: 8px 12px !important;
        flex-flow: row nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        overflow: visible !important;
    }
    /* Judul aplikasi/sekolah hanya diperlukan di desktop. Menyembunyikannya
       di layar kecil mencegah header membesar dan menimpa kartu tanggal/jam. */
    .header-container .header > span { display: none !important; }
    .header-container .header > .sidebarCollapse {
        flex: 0 0 42px !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .header-container .header .navbar-item {
        flex: 0 0 auto !important;
        min-height: 42px !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        flex-wrap: nowrap !important;
    }
    .header-container .aman-theme-button,
    .header-container .user-profile-dropdown .nav-link.user {
        width: 42px !important;
        height: 42px !important;
    }
    #sidebar { left: -310px !important; top: 10px !important; bottom: 10px; height: calc(100vh - 20px) !important; }
    body.sidebar-noneoverflow #sidebar, body.alt-menu.sidebar-noneoverflow #sidebar { left: 10px !important; }
    .main-container #content { margin-top: 92px !important; margin-left: 0 !important; width: 100% !important; }
    .layout-px-spacing { padding: 0 12px 24px !important; }
}

body.aman-login { min-height: 100vh; background: linear-gradient(125deg, #052b63 0 48%, #eef8ff 48% 100%) !important; }
.aman-login .auth-container { min-height: 100vh; }
.aman-login .login-card { border: 0 !important; border-radius: 28px !important; box-shadow: 0 28px 70px rgba(3,28,65,.2) !important; }
.aman-login .login-card::before { display: none !important; content: none !important; }
.aman-login .cbt-aman-login-logo { width: 150px; height: 150px; object-fit: contain; background:#fff; border-radius: 28px; padding: 8px; box-shadow:0 16px 40px rgba(8,121,239,.18); }
.aman-login .aman-form-logo { display: inline-block !important; width: 88px !important; height: 88px !important; border-radius: 20px !important; padding: 5px !important; box-shadow: 0 10px 26px rgba(8,121,239,.18) !important; }
.aman-login .auth-overlay { display: block !important; background-image: linear-gradient(145deg, #031f49 0%, #0756bd 52%, #08a9d8 100%) !important; }
.aman-login .auth-cover-bg-image, .aman-login .bubbles, .aman-login .bg-watermark, .aman-login .circle-1, .aman-login .circle-2 { display:none !important; }
.aman-login .btn-gradient { background: linear-gradient(135deg,var(--aman-blue),var(--aman-cyan)) !important; color:#fff !important; border:0; }
@media (max-width: 991px) { body.aman-login { background: linear-gradient(160deg,#dff8ff,#f7fbff 55%,#dfeeff) !important; } }
