/* ============================================================
   HEADER / SECTION TITLES
   ============================================================ */
.c-header-dark {
    color: white;
    font-weight: 700;
    font-family: "Calibri Light", sans-serif;
    text-align: center;
    vertical-align: middle;
    background: #5A5A5A;
    white-space: nowrap;
    padding: 0;
}
.c-section-blue {
    color: white;
    font-weight: 700;
    text-align: left;
    vertical-align: middle;
    background: #016EB7;
    white-space: nowrap;
    padding: 0;
}
.c-section-blue-center {
    color: white;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    background: #016EB7;
    white-space: nowrap;
    padding: 0;
}
.c-subsection {
    color: windowtext;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    background: #D9D9D9;
    white-space: nowrap;
    padding: 0;
}
.c-subsection-left {
    color: windowtext;
    font-weight: 700;
    text-align: left;
    vertical-align: middle;
    background: #D9D9D9;
    white-space: nowrap;
    padding: 0;
}
.c-highlight-orange {
    color: windowtext;
    font-weight: 700;
    text-align: left;
    vertical-align: middle;
    background: #ED7D31;
    white-space: nowrap;
    padding-left: 9px;
}

/* ============================================================
   GENERAL CELL CLASSES
   ============================================================ */
.c-cell {
    color: windowtext;
    font-size: 10pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: Calibri, sans-serif;
    white-space: nowrap;
    padding: 0;
}
.c-cell-center {
    text-align: center;
    vertical-align: middle;
}
.c-cell-right {
    text-align: right;
    vertical-align: middle;
}
.c-cell-left {
    text-align: left;
    vertical-align: middle;
}
.c-cell-general {
    text-align: general;
    vertical-align: middle;
}
.c-cell-bottom {
    text-align: center;
    vertical-align: bottom;
}
.c-cell-top {
    text-align: left;
    vertical-align: top;
}
.c-text-left {
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

/* Borders for cells */
.c-bdr {
    border: .5pt solid #BFBFBF;
}
.c-bdr-top {
    border-top: .5pt solid #BFBFBF;
}
.c-bdr-bottom {
    border-bottom: .5pt solid #BFBFBF;
}
.c-bdr-left {
    border-left: .5pt solid #BFBFBF;
}
.c-bdr-right {
    border-right: .5pt solid #BFBFBF;
}
.c-bdr-top-bot {
    border-top: .5pt solid #BFBFBF;
    border-bottom: .5pt solid #BFBFBF;
}
.c-bdr-top-left {
    border-top: .5pt solid #BFBFBF;
    border-left: .5pt solid #BFBFBF;
}
.c-bdr-top-right {
    border-top: .5pt solid #BFBFBF;
    border-right: .5pt solid #BFBFBF;
}
.c-bdr-bot-left {
    border-bottom: .5pt solid #BFBFBF;
    border-left: .5pt solid #BFBFBF;
}
.c-bdr-bot-right {
    border-bottom: .5pt solid #BFBFBF;
    border-right: .5pt solid #BFBFBF;
}
.c-bdr-all-ex-top {
    border-right: .5pt solid #BFBFBF;
    border-bottom: .5pt solid #BFBFBF;
    border-left: .5pt solid #BFBFBF;
}
.c-bdr-all-ex-bottom {
    border-top: .5pt solid #BFBFBF;
    border-right: .5pt solid #BFBFBF;
    border-left: .5pt solid #BFBFBF;
}
.c-bdr-horiz {
    border-top: .5pt solid #BFBFBF;
    border-bottom: .5pt solid #BFBFBF;
}

/* Backgrounds */
.c-bg-lightblue {
    background: #DDEBF7;
}
.c-bg-lightgray {
    background: #F2F2F2;
}
.c-bg-lightyellow {
    background: #FFF2CC;
}
.c-bg-softgray {
    background: #F8F8F8;
}
.c-bg-mediumgray {
    background: #D9D9D9;
}
.c-bg-darkgray {
    background: #5A5A5A;
}
.c-bg-blue {
    background: #016EB7;
}

/* Font variants */
.c-bold {
    font-weight: 700;
}
.c-italic {
    font-style: italic;
}
.c-bold-italic {
    font-weight: 700;
    font-style: italic;
}
.c-color-blue {
    color: #203764;
}
.c-color-white {
    color: white;
}
.c-color-black {
    color: black;
}

/* Number format indicators (visual only) */
.c-num-3dec {
    text-align: center;
}
.c-num-4dec {
    text-align: center;
}
.c-num-int {
    text-align: center;
}
.c-num-fixed {
    text-align: center;
}
.c-num-1dec {
    text-align: center;
}

/* Special padding / indent */
.c-pad-left9 {
    padding-left: 9px;
}
.c-pad-left18 {
    padding-left: 18px;
}
.c-pad-left27 {
    padding-left: 27px;
}
.c-pad-right9 {
    padding-right: 9px;
}
.c-pad-right18 {
    padding-right: 18px;
}

/* Specific row heights */
tr { height: 25px; }

/* ============================================================
   SPECIFIC STYLE CLASSES (consolidated from original)
   ============================================================ */
.c-hdr {
    color: white;
    font-weight: 700;
    font-family: "Calibri Light", sans-serif;
    text-align: center;
    vertical-align: middle;
    background: #5A5A5A;
    white-space: nowrap;
    padding: 0;
    border: .5pt solid #BFBFBF;
}
.c-hdr2 {
    color: white;
    font-weight: 700;
    font-family: "Calibri Light", sans-serif;
    text-align: center;
    vertical-align: middle;
    background: #5A5A5A;
    white-space: normal;
    padding: 0;
    border: .5pt solid #BFBFBF;
}
.c-bdr-cell {
    color: windowtext;
    font-size: 10pt;
    font-weight: 400;
    font-family: Calibri, sans-serif;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    padding: 0;
    border: .5pt solid #BFBFBF;
}
.c-bdr-cell-blue {
    color: #203764;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    padding: 0;
    border: .5pt solid #BFBFBF;
    background: #F8F8F8;
}
.c-bdr-cell-yellow {
    color: windowtext;
    font-weight: 700;
    text-align: right;
    vertical-align: middle;
    white-space: nowrap;
    padding: 0 10px 0 0;
    border: .5pt solid #BFBFBF;
    background: #FFF2CC;
}
.c-bdr-cell-yellow-center {
    color: windowtext;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    padding: 0;
    border: .5pt solid #BFBFBF;
    background: #FFF2CC;
}
.c-bdr-cell-gray {
    background: #F2F2F2;
}
.c-bdr-cell-darkgray {
    background: #D9D9D9;
}

/* VML replacement placeholder */
.vml-placeholder {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    font-style: italic;
    color: #888;
    background: #f9f9f9;
    border: 1px dashed #ccc;
    padding: 4px 8px;
    margin: 4px;
}

/* Row double height */
.tr-h50 { height: 50px; }
.tr-h200 { height: 200px; }
.tr-h250 { height: 250px; }
.tr-h274 { height: 274px; }
.tr-h40 { height: 40px; }

/* Cell containing gambar di sini */
.c-gambar {
    text-align: center;
    vertical-align: middle;
    font-style: italic;
    color: #555;
    white-space: normal;
    padding: 8px;
}

/* Specific variant for header-row with border */
.c-hdr-border {
    color: white;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    padding: 0;
    border: .5pt solid #BFBFBF;
    background: #5A5A5A;
}
.c-hdr-border-top {
    border-top: .5pt solid #BFBFBF;
    border-right: .5pt solid #BFBFBF;
    border-left: .5pt solid #BFBFBF;
}
.c-hdr-border-bottom {
    border-right: .5pt solid #BFBFBF;
    border-bottom: .5pt solid #BFBFBF;
    border-left: .5pt solid #BFBFBF;
}

/* Extra classes for the complex table at the bottom */
.c-extra-left {
    color: windowtext;
    font-size: 10pt;
    font-weight: 400;
    font-family: Calibri, sans-serif;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}
.c-extra-right {
    color: windowtext;
    font-size: 10pt;
    font-weight: 400;
    font-family: Calibri, sans-serif;
    text-align: right;
    vertical-align: middle;
    white-space: nowrap;
    padding-right: 9px;
}
.c-extra-center {
    color: windowtext;
    font-size: 10pt;
    font-weight: 400;
    font-family: Calibri, sans-serif;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

		/* === TAMBAHAN CSS UNTUK INPUT DAN SELECT === */		
		td input, td select {
		  width: 100%;
		  box-sizing: border-box;
		  border: none;
		  background: transparent;
		  font-family: inherit;
		  font-size: inherit;
		  font-weight: inherit;
		  color: inherit;
		  text-align: center;
		  padding: 0;
		  margin: 0;
		}

		/* Style untuk tombol */
		.button-row td {
		  text-align: center;
		  padding: 10px 0;
		}
		
		button {
		  padding: 6px 30px;
		  margin: 6px 4px;
		  font-family: Calibri, sans-serif;
		  font-size: 11pt;
		  font-weight: 700;
		  border: 1px solid #BFBFBF;
		  background: #DDEBF7;
		  cursor: pointer;
		  border-radius: 4px;
		}
		
		button:hover {
		  background: #BDD6EE;
		}

        
        /* === GAYA GAMBAR === */
        .gambar-hover-expand {
            width: 65%;           /* Memaksa gambar selebar wadahnya */
            height: auto;          /* Menjaga proporsi gambar agar tidak gepeng */
            display: block;
            margin: auto;
            transition: transform 0.4s ease-in-out; /* Mengganti transisi ke transform */
        }

        .gambar-hover-expand:hover {
            transform: scale(1.05); /* Memperbesar gambar sebesar 5% secara mulus */
        }