@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-Light.woff2") format("woff2");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-LightItalic.woff2") format("woff2");
    font-style: italic;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-Regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-Italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-Medium.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-MediumItalic.woff2") format("woff2");
    font-style: italic;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-SemiBold.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-SemiBoldItalic.woff2") format("woff2");
    font-style: italic;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-Bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-BoldItalic.woff2") format("woff2");
    font-style: italic;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-ExtraBold.woff2") format("woff2");
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: "ESDMSans";
    src: url("../fonts/esdm-sans/ESDMSans-ExtraBoldItalic.woff2") format("woff2");
    font-style: italic;
    font-weight: 800;
    font-display: swap;
}

:root {
    --esdm-font-sans: "ESDMSans", "Source Sans Pro", Arial, sans-serif;

    --esdm-yellow-energy: #fff500;
    --esdm-yellow-energy-80: #fff733;
    --esdm-yellow-energy-60: #fff966;
    --esdm-yellow-energy-40: #fffb99;

    --esdm-green-sustainability: #00b473;
    --esdm-green-sustainability-80: #33c39a;
    --esdm-green-sustainability-60: #66d2b8;
    --esdm-green-sustainability-40: #99e1d5;

    --esdm-black-mineral: #000000;
    --esdm-black-mineral-80: #333333;
    --esdm-black-mineral-60: #666666;
    --esdm-black-mineral-40: #999999;

    --esdm-blue-cosmos: #233c5a;
    --esdm-blue-cosmos-80: #51657b;
    --esdm-blue-cosmos-60: #7b91a4;
    --esdm-blue-cosmos-40: #a9b6c7;

    --esdm-gold-nusantara: #d5b600;
    --esdm-gold-nusantara-80: #ddc533;
    --esdm-gold-nusantara-60: #e6d366;
    --esdm-gold-nusantara-40: #eee299;

    --esdm-gray-innovation: #e1e6eb;
    --esdm-gray-innovation-80: #e7ebef;
    --esdm-gray-innovation-60: #edf0f3;
    --esdm-gray-innovation-40: #f3f5f7;

    --esdm-white: #ffffff;
    --esdm-danger: #b42318;
    --esdm-danger-soft: #fef3f2;
    --esdm-warning: #b54708;
    --esdm-warning-soft: #fffaeb;
    --esdm-success: #027a48;
    --esdm-success-soft: #ecfdf3;
    --esdm-info: #0b5cab;
    --esdm-info-soft: #eff8ff;

    --esdm-text-primary: var(--esdm-black-mineral);
    --esdm-text-secondary: var(--esdm-blue-cosmos);
    --esdm-text-muted: #5f6b7a;
    --esdm-text-soft: #7b8794;
    --esdm-text-inverse: var(--esdm-white);
    --esdm-text-on-brand: var(--esdm-black-mineral);

    --esdm-surface-page: #f7f8fa;
    --esdm-surface-base: var(--esdm-white);
    --esdm-surface-alt: var(--esdm-gray-innovation);
    --esdm-surface-emphasis: var(--esdm-blue-cosmos);
    --esdm-surface-brand: var(--esdm-yellow-energy);
    --esdm-surface-brand-soft: var(--esdm-yellow-energy-40);

    --esdm-border-subtle: rgba(35, 60, 90, 0.12);
    --esdm-border-default: rgba(35, 60, 90, 0.18);
    --esdm-border-strong: rgba(35, 60, 90, 0.32);
    --esdm-border-brand: rgba(255, 245, 0, 0.7);
    --esdm-border-focus: rgba(35, 60, 90, 0.45);
    --esdm-border-danger: rgba(180, 35, 24, 0.45);
    --esdm-border-success: rgba(2, 122, 72, 0.35);

    --esdm-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.06);
    --esdm-shadow-sm: 0 8px 20px rgba(35, 60, 90, 0.08);
    --esdm-shadow-md: 0 16px 36px rgba(35, 60, 90, 0.12);
    --esdm-shadow-lg: 0 20px 48px rgba(35, 60, 90, 0.18);

    --esdm-radius-sm: 8px;
    --esdm-radius-md: 12px;
    --esdm-radius-lg: 18px;
    --esdm-radius-pill: 999px;

    --esdm-space-1: 4px;
    --esdm-space-2: 8px;
    --esdm-space-3: 12px;
    --esdm-space-4: 16px;
    --esdm-space-5: 20px;
    --esdm-space-6: 24px;
    --esdm-space-8: 32px;
    --esdm-space-10: 40px;
    --esdm-space-12: 48px;
    --esdm-space-16: 64px;

    --esdm-heading-1-size: 81px;
    --esdm-heading-1-line: 81px;
    --esdm-heading-2-size: 36px;
    --esdm-heading-2-line: 48px;
    --esdm-subtitle-size: 27px;
    --esdm-subtitle-line: 32px;
    --esdm-body-lg-size: 18px;
    --esdm-body-lg-line: 28px;
    --esdm-body-size: 16px;
    --esdm-body-line: 26px;
    --esdm-caption-size: 14px;
    --esdm-caption-line: 20px;

    --esdm-button-primary-bg: var(--esdm-yellow-energy);
    --esdm-button-primary-color: var(--esdm-black-mineral);
    --esdm-button-primary-border: var(--esdm-yellow-energy);
    --esdm-button-primary-hover: #f0e400;

    --esdm-button-secondary-bg: var(--esdm-blue-cosmos);
    --esdm-button-secondary-color: var(--esdm-white);
    --esdm-button-secondary-border: var(--esdm-blue-cosmos);
    --esdm-button-secondary-hover: #1a3049;

    --esdm-button-outline-bg: transparent;
    --esdm-button-outline-color: var(--esdm-blue-cosmos);
    --esdm-button-outline-border: var(--esdm-blue-cosmos);
    --esdm-button-outline-hover-bg: rgba(35, 60, 90, 0.06);

    --esdm-button-danger-bg: var(--esdm-danger);
    --esdm-button-danger-color: var(--esdm-white);
    --esdm-button-danger-border: var(--esdm-danger);
    --esdm-button-danger-hover: #912018;

    --esdm-field-bg: var(--esdm-white);
    --esdm-field-color: var(--esdm-text-primary);
    --esdm-field-border: var(--esdm-border-default);
    --esdm-field-border-hover: var(--esdm-border-strong);
    --esdm-field-border-focus: var(--esdm-border-focus);
    --esdm-field-border-error: var(--esdm-border-danger);
    --esdm-field-placeholder: #8d97a3;
    --esdm-field-shadow-focus: 0 0 0 4px rgba(35, 60, 90, 0.08);

    --esdm-badge-default-bg: var(--esdm-gray-innovation);
    --esdm-badge-default-color: var(--esdm-blue-cosmos);
    --esdm-badge-draft-bg: var(--esdm-gray-innovation);
    --esdm-badge-draft-color: var(--esdm-blue-cosmos);
    --esdm-badge-submit-bg: var(--esdm-info-soft);
    --esdm-badge-submit-color: var(--esdm-info);
    --esdm-badge-verified-bg: var(--esdm-success-soft);
    --esdm-badge-verified-color: var(--esdm-success);
    --esdm-badge-cancel-bg: var(--esdm-danger-soft);
    --esdm-badge-cancel-color: var(--esdm-danger);
    --esdm-badge-pleno-bg: rgba(255, 245, 0, 0.28);
    --esdm-badge-pleno-color: #776700;
    --esdm-badge-done-bg: rgba(0, 180, 115, 0.14);
    --esdm-badge-done-color: #006c48;

    --esdm-section-padding-y: var(--esdm-space-10);
    --esdm-section-padding-x: var(--esdm-space-6);
    --esdm-container-max: 1200px;
}

body.esdm-brand,
.esdm-brand {
    font-family: var(--esdm-font-sans);
    color: var(--esdm-text-primary);
}

.esdm-brand {
    font-size: var(--esdm-body-size);
    line-height: var(--esdm-body-line);
}

.esdm-brand a {
    color: inherit;
}

.esdm-h1,
.esdm-h2,
.esdm-h3,
.esdm-subtitle,
.esdm-body-lg,
.esdm-body,
.esdm-caption {
    margin: 0;
    letter-spacing: 0;
}

.esdm-h1 {
    font-size: var(--esdm-heading-1-size);
    line-height: var(--esdm-heading-1-line);
    font-weight: 600;
}

.esdm-h1-regular {
    font-weight: 400;
}

.esdm-h2 {
    font-size: var(--esdm-heading-2-size);
    line-height: var(--esdm-heading-2-line);
    font-weight: 400;
}

.esdm-h3 {
    font-size: 24px;
    line-height: 32px;
    font-weight: 600;
}

.esdm-subtitle {
    font-size: var(--esdm-subtitle-size);
    line-height: var(--esdm-subtitle-line);
    font-weight: 300;
}

.esdm-body-lg {
    font-size: var(--esdm-body-lg-size);
    line-height: var(--esdm-body-lg-line);
    font-weight: 400;
}

.esdm-body {
    font-size: var(--esdm-body-size);
    line-height: var(--esdm-body-line);
    font-weight: 400;
}

.esdm-caption {
    font-size: var(--esdm-caption-size);
    line-height: var(--esdm-caption-line);
    font-weight: 400;
}

.esdm-text-primary {
    color: var(--esdm-text-primary);
}

.esdm-text-secondary {
    color: var(--esdm-text-secondary);
}

.esdm-text-muted {
    color: var(--esdm-text-muted);
}

.esdm-text-soft {
    color: var(--esdm-text-soft);
}

.esdm-text-yellow {
    color: var(--esdm-yellow-energy);
}

.esdm-text-green {
    color: var(--esdm-green-sustainability);
}

.esdm-text-black {
    color: var(--esdm-black-mineral);
}

.esdm-text-blue {
    color: var(--esdm-blue-cosmos);
}

.esdm-text-white {
    color: var(--esdm-white);
}

.esdm-text-gold {
    color: var(--esdm-gold-nusantara);
}

.esdm-bg-page {
    background-color: var(--esdm-surface-page);
}

.esdm-bg-surface {
    background-color: var(--esdm-surface-base);
}

.esdm-bg-surface-alt {
    background-color: var(--esdm-surface-alt);
}

.esdm-bg-brand {
    background-color: var(--esdm-surface-brand);
}

.esdm-bg-brand-soft {
    background-color: var(--esdm-surface-brand-soft);
}

.esdm-bg-emphasis {
    background-color: var(--esdm-surface-emphasis);
}

.esdm-bg-yellow {
    background-color: var(--esdm-yellow-energy);
}

.esdm-bg-green {
    background-color: var(--esdm-green-sustainability);
}

.esdm-bg-black {
    background-color: var(--esdm-black-mineral);
}

.esdm-bg-blue {
    background-color: var(--esdm-blue-cosmos);
}

.esdm-bg-gray {
    background-color: var(--esdm-gray-innovation);
}

.esdm-border-subtle {
    border-color: var(--esdm-border-subtle);
}

.esdm-border-default {
    border-color: var(--esdm-border-default);
}

.esdm-border-strong {
    border-color: var(--esdm-border-strong);
}

.esdm-shadow-sm {
    box-shadow: var(--esdm-shadow-sm);
}

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

.esdm-shadow-lg {
    box-shadow: var(--esdm-shadow-lg);
}

.esdm-radius-sm {
    border-radius: var(--esdm-radius-sm);
}

.esdm-radius-md {
    border-radius: var(--esdm-radius-md);
}

.esdm-radius-lg {
    border-radius: var(--esdm-radius-lg);
}

.esdm-section {
    padding: var(--esdm-section-padding-y) var(--esdm-section-padding-x);
}

.esdm-section-tight {
    padding-top: var(--esdm-space-8);
    padding-bottom: var(--esdm-space-8);
}

.esdm-stack-sm > * + * {
    margin-top: var(--esdm-space-3);
}

.esdm-stack-md > * + * {
    margin-top: var(--esdm-space-4);
}

.esdm-stack-lg > * + * {
    margin-top: var(--esdm-space-6);
}

.esdm-container {
    width: 100%;
    max-width: var(--esdm-container-max);
    margin-right: auto;
    margin-left: auto;
}

.esdm-panel {
    background-color: var(--esdm-surface-base);
    border: 1px solid var(--esdm-border-subtle);
    border-radius: var(--esdm-radius-lg);
    box-shadow: var(--esdm-shadow-sm);
}

.esdm-panel--soft {
    background-color: var(--esdm-surface-alt);
    box-shadow: none;
}

.esdm-panel--brand {
    background-color: var(--esdm-surface-brand-soft);
    border-color: var(--esdm-border-brand);
}

.esdm-public-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(255, 245, 0, 0.16), transparent 26%),
        linear-gradient(180deg, #f8fafc 0%, #eef2f6 100%);
}

.esdm-public-navbar {
    border-bottom: 1px solid var(--esdm-border-default);
    background-color: rgba(255, 255, 255, 0.92);
    box-shadow: var(--esdm-shadow-xs);
}

.esdm-public-navbar__inner {
    min-height: 108px;
    align-items: center;
}

.esdm-public-navbar__brand {
    display: inline-flex;
    align-items: center;
    margin-right: var(--esdm-space-5);
}

.esdm-public-navbar__logo {
    width: auto;
}

.esdm-public-navbar__logo--desktop {
    height: 60px;
}

.esdm-public-navbar__logo--mobile {
    height: 40px;
}

.esdm-public-navbar__meta {
    display: flex;
    align-items: center;
    min-width: 0;
}

.esdm-public-navbar__identity {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    color: var(--esdm-text-primary);
}

.esdm-public-navbar__identity:hover,
.esdm-public-navbar__identity:focus {
    color: var(--esdm-text-primary);
}

.esdm-public-navbar__title {
    font-size: 22px;
    line-height: 1.15;
    font-weight: 700;
}

.esdm-public-navbar__title--mobile {
    font-size: 14px;
}

.esdm-public-navbar__subtitle {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--esdm-text-secondary);
}

.esdm-public-navbar__subtitle--mobile {
    font-size: 12px;
}

.esdm-public-navbar__tagline {
    font-size: 14px;
    line-height: 1.3;
    font-style: italic;
    color: var(--esdm-text-muted);
}

.esdm-public-navbar__tagline--mobile {
    font-size: 11px;
}

.esdm-public-content-wrapper {
    background: transparent;
}

.esdm-public-content {
    padding-top: var(--esdm-space-10);
    padding-bottom: var(--esdm-space-12);
}

.esdm-public-footer {
    margin-top: auto;
    border-top: 4px solid var(--esdm-yellow-energy);
    background-color: var(--esdm-blue-cosmos);
    color: rgba(255, 255, 255, 0.88);
}

.esdm-public-footer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--esdm-space-4);
    padding-top: var(--esdm-space-6);
    padding-bottom: var(--esdm-space-6);
    text-align: center;
}

.esdm-public-footer__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--esdm-space-3);
}

.esdm-public-footer__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--esdm-white);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.esdm-public-footer__action:hover,
.esdm-public-footer__action:focus {
    background-color: var(--esdm-yellow-energy);
    border-color: var(--esdm-yellow-energy);
    color: var(--esdm-black-mineral);
    transform: translateY(-1px);
}

.esdm-public-footer__copy,
.esdm-public-footer__ministry {
    font-size: 15px;
    line-height: 1.5;
}

.esdm-public-footer__link {
    color: var(--esdm-white);
    font-weight: 600;
}

.esdm-public-footer__link:hover,
.esdm-public-footer__link:focus {
    color: var(--esdm-yellow-energy);
}

.esdm-app-shell {
    min-height: 100vh;
}

.esdm-app-navbar {
    border-bottom: 1px solid var(--esdm-border-subtle);
    background-color: rgba(255, 255, 255, 0.94);
    box-shadow: var(--esdm-shadow-xs);
}

.esdm-app-navbar__nav {
    align-items: center;
}

.esdm-app-navbar__toggle,
.esdm-app-navbar__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 14px;
    border-radius: var(--esdm-radius-pill);
    color: var(--esdm-text-secondary);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.esdm-app-navbar__toggle:hover,
.esdm-app-navbar__toggle:focus,
.esdm-app-navbar__action:hover,
.esdm-app-navbar__action:focus {
    background-color: rgba(35, 60, 90, 0.06);
    color: var(--esdm-text-primary);
}

.esdm-app-navbar__user {
    gap: 10px;
    font-weight: 600;
}

.esdm-app-navbar__user-copy {
    display: flex;
    min-width: 0;
    max-width: 280px;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.1;
}

.esdm-app-navbar__user-copy strong,
.esdm-app-navbar__user-copy small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.esdm-app-navbar__user-copy small {
    margin-top: 3px;
    color: var(--esdm-text-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.esdm-app-navbar__menu {
    margin-top: 10px;
    border: 1px solid var(--esdm-border-subtle);
    border-radius: var(--esdm-radius-md);
    box-shadow: var(--esdm-shadow-md);
    overflow: hidden;
}

.esdm-app-navbar__menu-header {
    background-color: var(--esdm-blue-cosmos);
    color: var(--esdm-white);
}

.esdm-app-navbar__menu-header a {
    color: var(--esdm-white);
}

.esdm-app-navbar__context-summary {
    display: flex;
    padding: 12px 16px;
    flex-direction: column;
}

.esdm-app-navbar__context-summary span {
    color: var(--esdm-text-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.esdm-app-navbar__context-summary strong {
    margin-top: 3px;
    color: var(--esdm-text-primary);
    font-size: 13px;
}

.esdm-app-navbar__context-option {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    white-space: normal;
}

.esdm-app-navbar__context-option i {
    margin-top: 3px;
    color: var(--esdm-text-muted);
}

.esdm-app-navbar__context-option.is-active {
    background: rgba(20, 125, 98, 0.08);
    color: #0f6d56;
    font-weight: 700;
}

.esdm-app-navbar__context-option.is-active i {
    color: #14936f;
}

.esdm-app-sidebar {
    background: linear-gradient(180deg, #233c5a 0%, #17283d 100%);
}

.esdm-app-sidebar__brand {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(90deg, rgba(255, 245, 0, 0.16) 0%, rgba(255, 245, 0, 0) 100%);
    color: var(--esdm-white);
}

.esdm-app-sidebar__brand:hover,
.esdm-app-sidebar__brand:focus {
    color: var(--esdm-white);
}

.esdm-app-sidebar__brand-text {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.15;
    vertical-align: middle;
}

.esdm-app-sidebar__brand-text strong {
    color: var(--esdm-white);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.esdm-app-sidebar__brand-text small {
    color: rgba(255, 245, 0, 0.7);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.esdm-app-sidebar__body {
    padding-bottom: var(--esdm-space-6);
}

.esdm-app-sidebar__user {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.esdm-app-sidebar .user-panel a,
.esdm-app-sidebar .user-panel span {
    color: rgba(255, 255, 255, 0.88);
}

.esdm-app-sidebar .user-panel hr {
    border-color: rgba(255, 255, 255, 0.12);
}

.esdm-app-sidebar__context-list {
    margin: -4px 12px 16px;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
}

.esdm-app-sidebar__context-list > span {
    display: block;
    margin: 0 6px 7px;
    color: rgba(255, 245, 0, 0.72);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.esdm-app-sidebar__context-list button {
    display: flex;
    width: 100%;
    gap: 8px;
    align-items: flex-start;
    padding: 8px 9px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    text-align: left;
}

.esdm-app-sidebar__context-list button.is-active {
    background: rgba(255, 245, 0, 0.12);
    color: var(--esdm-white);
}

.esdm-app-sidebar__context-list button span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.akreditasi-context-hero {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 22px;
    padding: 24px;
    border-radius: 18px;
    background: linear-gradient(125deg, #123a50 0%, #126957 72%, #a88816 130%);
    box-shadow: var(--esdm-shadow-md);
    color: var(--esdm-white);
}

.akreditasi-context-hero__icon {
    display: inline-flex;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 22px;
}

.akreditasi-context-hero__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: rgba(255, 245, 0, 0.82);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.akreditasi-context-hero h1 {
    margin: 0;
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 800;
}

.akreditasi-context-hero p {
    max-width: 720px;
    margin: 7px 0 0;
    color: rgba(255, 255, 255, 0.78);
}

.akreditasi-context-card {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 18px;
    border: 1px solid var(--esdm-border-subtle);
    border-radius: 16px;
    background: var(--esdm-white);
    box-shadow: var(--esdm-shadow-xs);
    color: var(--esdm-text-primary);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.akreditasi-context-card:hover,
.akreditasi-context-card:focus {
    border-color: rgba(20, 147, 111, 0.45);
    box-shadow: var(--esdm-shadow-md);
    color: var(--esdm-text-primary);
    outline: none;
    transform: translateY(-2px);
}

.akreditasi-context-card__mark {
    display: inline-flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #eaf5f1;
    color: #126957;
    font-weight: 800;
}

.akreditasi-context-card__copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
}

.akreditasi-context-card__copy strong {
    font-size: 14px;
    line-height: 1.35;
}

.akreditasi-context-card__copy small {
    margin-top: 4px;
    overflow: hidden;
    color: var(--esdm-text-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.akreditasi-context-card__arrow {
    color: #14936f;
}

/* Sidebar navigation: section labels, soft pills, accent bar on the active item */
.esdm-app-sidebar .nav-header {
    padding: 1.1rem 1.2rem 0.4rem;
    color: rgba(255, 245, 0, 0.62);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.esdm-app-sidebar .nav-sidebar > .nav-header:first-child {
    padding-top: 0.5rem;
}

.esdm-app-sidebar .nav-sidebar > .nav-item {
    margin: 2px 0.5rem;
}

.esdm-app-sidebar .nav-sidebar .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0.55rem 0.7rem;
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    /* AdminLTE sidebar-mini pins a fixed px width that ignores our margins */
    width: auto !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.esdm-app-sidebar .nav-sidebar .nav-link > p {
    flex: 1;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.esdm-app-sidebar .nav-sidebar .has-treeview > .nav-link > p {
    padding-right: 1.1rem;
}

.esdm-app-sidebar .nav-sidebar .nav-link > p > .right {
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}

.esdm-app-sidebar .nav-sidebar .menu-open > .nav-link > p > .right {
    transform: translateY(-50%) rotate(-90deg);
}

.esdm-app-sidebar .nav-sidebar .nav-icon {
    flex: 0 0 1.6rem;
    width: 1.6rem;
    margin-right: 0.55rem;
    color: rgba(255, 255, 255, 0.55);
    font-size: 15px;
    text-align: center;
    transition: color 0.15s ease;
}

.esdm-app-sidebar .nav-sidebar .nav-link:hover,
.esdm-app-sidebar .nav-sidebar .nav-link:focus {
    background-color: rgba(255, 255, 255, 0.07);
    color: var(--esdm-white);
}

.esdm-app-sidebar .nav-sidebar .nav-link:hover .nav-icon,
.esdm-app-sidebar .nav-sidebar .nav-link:focus .nav-icon {
    color: var(--esdm-yellow-energy);
}

/* Top-level page link that is the current page */
.esdm-app-sidebar .nav-sidebar > .nav-item:not(.has-treeview) > .nav-link.active {
    background-color: var(--esdm-yellow-energy);
    color: var(--esdm-black-mineral);
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(255, 245, 0, 0.18);
}

.esdm-app-sidebar .nav-sidebar > .nav-item:not(.has-treeview) > .nav-link.active .nav-icon {
    color: var(--esdm-black-mineral);
}

/* Group root that contains the current page: tinted, not filled */
.esdm-app-sidebar .nav-sidebar > .nav-item.has-treeview > .nav-link.active,
.esdm-app-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--esdm-white);
    box-shadow: none;
}

.esdm-app-sidebar .nav-sidebar > .nav-item.has-treeview > .nav-link.active .nav-icon,
.esdm-app-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link .nav-icon {
    color: var(--esdm-yellow-energy);
}

/* Sub menu: guide line + compact items */
.esdm-app-sidebar .nav-treeview {
    position: relative;
    margin: 4px 0 6px 1.1rem;
    padding: 0 0 0 0.5rem;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.esdm-app-sidebar.main-sidebar .nav-child-indent .nav-treeview {
    padding-left: 0.5rem;
}

.esdm-app-sidebar .nav-treeview > .nav-item {
    margin: 1px 0;
}

.esdm-app-sidebar .nav-treeview > .nav-item > .nav-link {
    padding: 0.45rem 0.6rem;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.7);
}

.esdm-app-sidebar .nav-treeview > .nav-item > .nav-link .nav-icon {
    flex-basis: 1.3rem;
    width: 1.3rem;
    margin-right: 0.5rem;
    font-size: 13px;
}

.esdm-app-sidebar .nav-treeview > .nav-item > .nav-link.active {
    background-color: rgba(255, 245, 0, 0.14);
    color: var(--esdm-white);
    font-weight: 600;
    box-shadow: none;
}

.esdm-app-sidebar .nav-treeview > .nav-item > .nav-link.active::before {
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: calc(-0.5rem - 2px);
    width: 3px;
    border-radius: 3px;
    background: var(--esdm-yellow-energy);
    content: "";
}

.esdm-app-sidebar .nav-treeview > .nav-item > .nav-link.active .nav-icon {
    color: var(--esdm-yellow-energy);
}

/* Collapsed mini sidebar: keep icons centred, hide guide line */
.sidebar-mini.sidebar-collapse .esdm-app-sidebar:not(:hover) .nav-sidebar > .nav-item {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
}

.sidebar-mini.sidebar-collapse .esdm-app-sidebar:not(:hover) .nav-treeview {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}

.sidebar-mini.sidebar-collapse .esdm-app-sidebar:not(:hover) .nav-sidebar .nav-icon {
    margin-right: 0;
}

.sidebar-mini.sidebar-collapse .esdm-app-sidebar:not(:hover) .nav-sidebar .nav-link {
    width: calc(4.6rem - 1rem) !important;
}

.sidebar-mini.sidebar-collapse .esdm-app-sidebar:not(:hover) .nav-sidebar .nav-link > p {
    flex: 0 0 0;
}

.esdm-app-content-wrapper {
    background:
        radial-gradient(circle at top right, rgba(255, 245, 0, 0.08), transparent 22%),
        linear-gradient(180deg, #f8fafc 0%, #eef2f6 100%);
}

.esdm-app-content-header {
    padding-top: var(--esdm-space-6);
    padding-bottom: var(--esdm-space-2);
}

.esdm-app-content-header__inner {
    min-height: 16px;
}

.esdm-app-content-wrapper .content {
    padding-bottom: var(--esdm-space-8);
}

.esdm-app-footer {
    border-top: 1px solid var(--esdm-border-subtle);
    background-color: rgba(255, 255, 255, 0.9);
    color: var(--esdm-text-secondary);
}

.esdm-app-footer__link {
    color: var(--esdm-text-primary);
    font-weight: 600;
}

.esdm-app-footer__link:hover,
.esdm-app-footer__link:focus {
    color: var(--esdm-blue-cosmos);
}

.esdm-app-footer__meta {
    color: var(--esdm-text-muted);
}

.esdm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--esdm-space-2);
    min-height: 44px;
    padding: 0 var(--esdm-space-5);
    border: 1px solid transparent;
    border-radius: var(--esdm-radius-pill);
    font-family: var(--esdm-font-sans);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.esdm-btn:hover,
.esdm-btn:focus {
    text-decoration: none;
}

.esdm-btn:focus {
    outline: 0;
    box-shadow: 0 0 0 4px rgba(35, 60, 90, 0.12);
}

.esdm-btn:disabled,
.esdm-btn.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.esdm-btn-primary {
    background-color: var(--esdm-button-primary-bg);
    border-color: var(--esdm-button-primary-border);
    color: var(--esdm-button-primary-color);
}

.esdm-btn-primary:hover,
.esdm-btn-primary:focus {
    background-color: var(--esdm-button-primary-hover);
    border-color: var(--esdm-button-primary-hover);
    color: var(--esdm-button-primary-color);
}

.esdm-btn-secondary {
    background-color: var(--esdm-button-secondary-bg);
    border-color: var(--esdm-button-secondary-border);
    color: var(--esdm-button-secondary-color);
}

.esdm-btn-secondary:hover,
.esdm-btn-secondary:focus {
    background-color: var(--esdm-button-secondary-hover);
    border-color: var(--esdm-button-secondary-hover);
    color: var(--esdm-button-secondary-color);
}

.esdm-btn-outline {
    background-color: var(--esdm-button-outline-bg);
    border-color: var(--esdm-button-outline-border);
    color: var(--esdm-button-outline-color);
}

.esdm-btn-outline:hover,
.esdm-btn-outline:focus {
    background-color: var(--esdm-button-outline-hover-bg);
    border-color: var(--esdm-button-outline-border);
    color: var(--esdm-button-outline-color);
}

.esdm-btn-danger {
    background-color: var(--esdm-button-danger-bg);
    border-color: var(--esdm-button-danger-border);
    color: var(--esdm-button-danger-color);
}

.esdm-btn-danger:hover,
.esdm-btn-danger:focus {
    background-color: var(--esdm-button-danger-hover);
    border-color: var(--esdm-button-danger-hover);
    color: var(--esdm-button-danger-color);
}

.esdm-field,
.esdm-select,
.esdm-textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid var(--esdm-field-border);
    border-radius: var(--esdm-radius-md);
    background-color: var(--esdm-field-bg);
    color: var(--esdm-field-color);
    font-family: var(--esdm-font-sans);
    font-size: var(--esdm-body-size);
    line-height: 1.4;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.esdm-textarea {
    min-height: 120px;
    resize: vertical;
}

.esdm-field::placeholder,
.esdm-textarea::placeholder {
    color: var(--esdm-field-placeholder);
}

.esdm-field:hover,
.esdm-select:hover,
.esdm-textarea:hover {
    border-color: var(--esdm-field-border-hover);
}

.esdm-field:focus,
.esdm-select:focus,
.esdm-textarea:focus {
    outline: 0;
    border-color: var(--esdm-field-border-focus);
    box-shadow: var(--esdm-field-shadow-focus);
}

.esdm-field.is-invalid,
.esdm-select.is-invalid,
.esdm-textarea.is-invalid {
    border-color: var(--esdm-field-border-error);
}

.esdm-label {
    display: inline-block;
    margin-bottom: var(--esdm-space-2);
    color: var(--esdm-text-secondary);
    font-size: var(--esdm-caption-size);
    font-weight: 600;
    line-height: 1.4;
}

.esdm-helper-text {
    margin-top: var(--esdm-space-2);
    color: var(--esdm-text-muted);
    font-size: var(--esdm-caption-size);
    line-height: var(--esdm-caption-line);
}

.esdm-helper-text.is-error {
    color: var(--esdm-danger);
}

.esdm-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: var(--esdm-radius-pill);
    font-family: var(--esdm-font-sans);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.esdm-badge-default {
    background-color: var(--esdm-badge-default-bg);
    color: var(--esdm-badge-default-color);
}

.esdm-badge-draft {
    background-color: var(--esdm-badge-draft-bg);
    color: var(--esdm-badge-draft-color);
}

.esdm-badge-submit {
    background-color: var(--esdm-badge-submit-bg);
    color: var(--esdm-badge-submit-color);
}

.esdm-badge-verified {
    background-color: var(--esdm-badge-verified-bg);
    color: var(--esdm-badge-verified-color);
}

.esdm-badge-cancel {
    background-color: var(--esdm-badge-cancel-bg);
    color: var(--esdm-badge-cancel-color);
}

.esdm-badge-pleno {
    background-color: var(--esdm-badge-pleno-bg);
    color: var(--esdm-badge-pleno-color);
}

.esdm-badge-done {
    background-color: var(--esdm-badge-done-bg);
    color: var(--esdm-badge-done-color);
}

@media (max-width: 991.98px) {
    :root {
        --esdm-heading-1-size: 44px;
        --esdm-heading-1-line: 48px;
        --esdm-heading-2-size: 28px;
        --esdm-heading-2-line: 36px;
        --esdm-subtitle-size: 22px;
        --esdm-subtitle-line: 28px;
        --esdm-section-padding-y: var(--esdm-space-8);
    }

    .esdm-public-navbar__inner {
        min-height: 96px;
    }

    .esdm-public-navbar__title {
        font-size: 18px;
    }

    .esdm-public-navbar__subtitle {
        font-size: 15px;
    }

    .esdm-app-sidebar {
        box-shadow: none;
    }
}

@media (max-width: 575.98px) {
    :root {
        --esdm-heading-1-size: 34px;
        --esdm-heading-1-line: 38px;
        --esdm-heading-2-size: 24px;
        --esdm-heading-2-line: 32px;
        --esdm-subtitle-size: 20px;
        --esdm-subtitle-line: 26px;
        --esdm-body-lg-size: 17px;
        --esdm-body-lg-line: 26px;
        --esdm-section-padding-x: var(--esdm-space-4);
    }

    .esdm-public-navbar__inner {
        min-height: 82px;
    }

    .esdm-public-navbar__brand {
        margin-right: var(--esdm-space-3);
    }

    .esdm-public-content {
        padding-top: var(--esdm-space-8);
        padding-bottom: var(--esdm-space-10);
    }

    .esdm-public-footer__inner {
        padding-top: var(--esdm-space-5);
        padding-bottom: var(--esdm-space-5);
    }

    .esdm-public-footer__copy,
    .esdm-public-footer__ministry {
        font-size: 14px;
    }

    .esdm-app-navbar__toggle,
    .esdm-app-navbar__action {
        min-height: 38px;
        padding: 0 10px;
    }
}
