/* =========================================================
    RESET & BASE (TIMES NEW ROMAN UNTUK SEMUA)
========================================================= */
* {
    box-sizing: border-box;
    font-family: "Times New Roman", Times, serif !important;
    font-size: 9.5pt;
}

html, body {
    margin: 0;
    padding: 0;
}

body {
    background: #525659;
    padding: 20px 0 80px 0;
    color: #000;
}

/* =========================================================
    A4 PAGE & FLEKSIBEL ADAPTIF (MARGIN: Kiri 2cm, Atas 2cm, Kanan 1.5cm, Bawah 1.5cm)
========================================================= */
.page {
    width: 210mm;
    min-height: 297mm;
    padding: 2cm 1.5cm 1.5cm 2cm !important;
    margin: 0 auto 15px;
    background: #ffffff !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    position: relative;
    page-break-after: always;
    page-break-inside: avoid;
    box-sizing: border-box;
    overflow: hidden;
}

.page-bounded {
    max-height: 297mm !important;
    overflow: hidden !important;
}

.cover-page {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 257mm;
    box-sizing: border-box;
}

.watermark-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.08 !important;
    width: 620px;
    height: auto;
    z-index: 1;
    pointer-events: none;
}

.page-number {
    position: absolute;
    bottom: 12mm;
    right: 15mm;
    font-size: 8.5pt;
    font-weight: bold;
    color: #333;
    z-index: 10;
}

.page-content {
    position: relative;
    z-index: 2;
    background: transparent !important;
}

/* =========================================================
    HEADER SURAT (KOP) & IDENTITAS LEMBAR 3 DST
========================================================= */
.header-kop {
    width: 100%;
    text-align: center;
    margin-bottom: 5px;
    background: transparent !important;
}

.img-header-kop {
    width: 100%;
    height: auto;
    display: block;
}

.patient-identity-block {
    margin-top: 8px;
    margin-bottom: 12px;
    margin-left: 7.0cm;
    font-size: 10pt !important;
    background: transparent !important;
}

.patient-identity-block table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10pt !important;
    background: transparent !important;
}

.patient-identity-block td {
    padding: 1px 2px;
    vertical-align: top;
    font-size: 10pt !important;
    background: transparent !important;
}

.patient-identity-block td:first-child {
    text-align: right;
    white-space: nowrap;
    padding-right: 8px;
    font-weight: bold;
}

.patient-identity-block input {
    font-size: 10pt !important;
    padding: 0 !important;
    height: 16px;
    border: none !important;
    border-bottom: 1px solid #000 !important;
    background: transparent !important;
    outline: none;
    width: 100%;
}

/* =========================================================
    FORM INPUT STYLING
========================================================= */
input[type="text"],
input[type="number"],
input[type="date"],
select,
textarea {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 9pt;
    padding: 1px 3px;
    border: none;
    border-bottom: 1px solid #000 !important;
    background-color: transparent !important;
    outline: none;
    width: 100%;
}

.cover-page input[type="text"],
.cover-page input[type="number"],
.cover-page select {
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus {
    background-color: transparent !important;
    border-bottom: 1px solid #0d6efd !important;
}

.cover-page input:focus,
.cover-page select:focus {
    background-color: transparent !important;
    border-bottom: none !important;
}

.inline-input {
    width: auto !important;
    display: inline-block;
}

textarea {
    border: 1px solid #ccc;
    resize: vertical;
    border-radius: 2px;
    width: 100%;
    max-height: 120px;
    background: transparent !important;
}

input[type="checkbox"] {
    cursor: pointer;
    vertical-align: middle;
    margin: 0 3px 0 0;
    background: transparent !important;
}

/* =========================================================
    STYLING KHUSUS LEMBAR 3 (HASIL PEMERIKSAAN KESEHATAN)
========================================================= */
.page-lembar-3, 
.page-lembar-3 * {
    font-size: 11pt !important;
}

.page-lembar-3 {
    background: #ffffff !important;
}

.page-lembar-3 .page-content {
    background: rgba(255, 255, 255, 0.95) !important;
    padding: 5px;
    border-radius: 4px;
}

.page-lembar-3 .text-size-12,
.page-lembar-3 .text-size-12 * {
    font-size: 12pt !important;
}

.btn-action-row {
    border: none;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 11px !important;
    line-height: 1;
    cursor: pointer;
    margin-left: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
    color: #fff;
    font-weight: bold;
}

.btn-add-row { background: #198754; }
.btn-add-row:hover { background: #146c43; }

.btn-del-row { background: #dc3545; }
.btn-del-row:hover { background: #bb2d3b; }

.bullet-input-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 3px;
    width: calc(100% - 0.63cm);
    margin-left: 0.63cm;
    background: transparent !important;
}

/* =========================================================
    PENYESUAIAN KHUSUS LEMBAR 5
========================================================= */
.page-lembar-5 {
    font-size: 9.5pt !important;
    line-height: 1.0 !important;
}

.page-lembar-5 * {
    font-size: 9.5pt !important;
    line-height: 1.0 !important;
}

.page-lembar-5 .title-header-main {
    font-size: 14pt !important;
    font-weight: bold;
    text-align: center;
    margin-top: 2pt;
    margin-bottom: 1px;
    line-height: 1.15 !important;
}

.page-lembar-5 .title-header-sub {
    font-size: 11pt !important;
    font-weight: normal;
    font-style: italic;
    text-align: center;
    margin-bottom: 6px;
    line-height: 1.15 !important;
}

.page-lembar-5 .sub-title-clean {
    margin-top: 10px !important;
    margin-bottom: 3px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 9.5pt !important;
    font-weight: bold;
}

.page-lembar-5 .sub-title-en {
    font-style: italic;
    font-weight: normal;
}

.page-lembar-5 p.small-text {
    margin-top: 6px !important;
    margin-bottom: 2px !important;
    font-size: 9.5pt !important;
}

.page-lembar-5 input[type="checkbox"] {
    width: 10px !important;
    height: 10px !important;
    cursor: pointer;
    vertical-align: middle;
    margin: 0 2px 0 0;
    background: transparent !important;
}

.page-lembar-5 input[type="text"],
.page-lembar-5 input[type="number"],
.page-lembar-5 select,
.page-lembar-5 textarea {
    font-size: 9.5pt !important;
    font-family: "Times New Roman", Times, serif !important;
    line-height: 1.0 !important;
    background: transparent !important;
}

.page-lembar-5 .mcu-table-polos {
    width: 100%;
    border-collapse: collapse;
    margin-top: 2px;
    margin-bottom: 8px !important;
    background: transparent !important;
}

.page-lembar-5 .mcu-table-polos th,
.page-lembar-5 .mcu-table-polos td {
    padding: 1px 3px !important;
    vertical-align: middle !important;
    border: none !important;
    border-top: 1px solid #000 !important;
    border-bottom: 1px solid #000 !important;
    background: transparent !important;
    font-size: 9.5pt !important;
}

.page-lembar-5 .mcu-table-polos th {
    background: transparent !important;
    font-weight: bold;
    text-align: center;
    font-size: 9.5pt !important;
}

.page-lembar-5 .mcu-table-polos tr.last-row td {
    border-bottom: 1px solid #000 !important;
    background: transparent !important;
}

.page-lembar-5 .mcu-table-polos input[type="text"] {
    border: none !important;
    border-bottom: none !important;
    background: transparent !important;
    font-size: 9.5pt !important;
}

.page-lembar-5 .table-wanita {
    width: 100%;
    border-collapse: collapse;
    margin-top: 2px;
    background: transparent !important;
}

.page-lembar-5 .table-wanita td {
    padding: 1px 2px;
    vertical-align: top;
    font-size: 9.5pt !important;
    background: transparent !important;
}

.page-lembar-5 .table-wanita td.label-wanita {
    width: 38%;
    font-weight: bold;
    text-align: right;
    padding-right: 6px;
    white-space: nowrap;
}

/* =========================================================
    RADIOLOGY PHOTO UPLOAD STYLING
========================================================= */
.radiology-upload-box {
    border: 2px dashed #0d6efd;
    background-color: transparent !important;
    border-radius: 4px;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    padding: 8px;
    text-align: center;
}

.radiology-upload-box:hover {
    background-color: rgba(13, 110, 253, 0.05);
}

.radiology-upload-box input[type="file"] {
    display: none;
}

.radiology-preview-img {
    max-width: 100%;
    max-height: 320px;
    object-fit: contain;
    display: none;
}

.upload-instruction {
    color: #0d6efd;
    font-weight: bold;
}

.upload-subinstruction {
    color: #6c757d;
    font-size: 8pt;
    margin-top: 4px;
}

/* =========================================================
    FLOATING TOOLBAR & CONTROLS
========================================================= */
.no-print-bar {
    position: fixed;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99999;
    background: rgba(33, 37, 41, 0.95);
    padding: 8px 14px;
    border-radius: 40px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45);
    display: flex;
    gap: 8px;
    align-items: center;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    max-width: 96vw;
    flex-wrap: wrap;
    justify-content: center;
}

.brand-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(25, 135, 84, 0.25);
    color: #48d597;
    border: 1px solid rgba(72, 213, 151, 0.4);
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.page-jump-select {
    background: #1e2227 !important;
    color: #ffffff !important;
    border: 1px solid #495057;
    border-radius: 16px;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    outline: none;
    transition: all 0.2s;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.page-jump-select option {
    background: #212529 !important;
    color: #ffffff !important;
    padding: 10px 14px;
    font-size: 12.5px;
    font-weight: 500;
}

.page-jump-select:hover,
.page-jump-select:focus {
    background: #2b3035 !important;
    border-color: #0d6efd;
}

.zoom-group {
    display: flex;
    align-items: center;
    background: #2b3035;
    border: 1px solid #495057;
    border-radius: 16px;
    overflow: hidden;
}

.btn-zoom {
    background: transparent;
    border: none;
    color: #e9ecef;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-zoom:hover {
    background: rgba(255, 255, 255, 0.15);
}

.zoom-level-text {
    font-size: 11px;
    font-weight: 600;
    color: #adb5bd;
    padding: 0 4px;
    min-width: 36px;
    text-align: center;
}

.autosave-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #ced4da;
    background: rgba(255, 255, 255, 0.08);
    padding: 4px 10px;
    border-radius: 16px;
    white-space: nowrap;
}

.pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #20c997;
    box-shadow: 0 0 8px #20c997;
    animation: pulseAnimation 2s infinite;
}

@keyframes pulseAnimation {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(0.85); }
    100% { opacity: 1; transform: scale(1); }
}

.btn {
    border: 0;
    border-radius: 20px;
    padding: 6px 13px;
    color: #fff;
    font-size: 11.5px;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
    white-space: nowrap;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.btn:active {
    transform: translateY(1px);
}

.btn-print { background: #0d6efd; }
.btn-print:hover { background: #0b5ed7; }

.btn-docx { background: #198754; }
.btn-docx:hover { background: #157347; }

.btn-save-draft { background: #fd7e14; color: #fff; }
.btn-save-draft:hover { background: #e8590c; }

.btn-load-draft { background: #6c757d; }
.btn-load-draft:hover { background: #5c636a; }

.btn-demo { background: #6f42c1; }
.btn-demo:hover { background: #59359a; }

.btn-reset { background: #dc3545; }
.btn-reset:hover { background: #bb2d3b; }

/* Clinical Quickbar on Pages */
.clinical-quickbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 4px 0 6px;
    gap: 8px;
}

.btn-clinical {
    background: #f0f7ff;
    color: #0b5ed7;
    border: 1px solid #9ec5fe;
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 9pt;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    font-family: Arial, sans-serif;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.btn-clinical:hover {
    background: #cfe2ff;
    color: #084298;
    border-color: #6ea8fe;
}

.btn-clinical-sm {
    background: #f8f9fa;
    color: #212529;
    border: 1px solid #ced4da;
    border-radius: 4px;
    padding: 3px 8px;
    font-size: 8.5pt;
    cursor: pointer;
    font-family: Arial, sans-serif;
}

.btn-clinical-sm:hover {
    background: #e9ecef;
}

.btn-clinical-danger {
    color: #dc3545;
    border-color: #f5c2c7;
    background: #fff5f5;
}

.btn-clinical-danger:hover {
    background: #f8d7da;
    color: #842029;
}

/* Document Stage & Pages Wrapper for Zoom */
.document-stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 40px;
    transition: transform 0.2s ease-out;
    transform-origin: top center;
}

/* Toast Notifications */
.mcu-toast-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.mcu-toast {
    pointer-events: auto;
    background: #212529;
    color: #fff;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 12.5px;
    font-family: Arial, sans-serif;
    font-weight: 500;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 260px;
    max-width: 380px;
    animation: toastSlideIn 0.3s ease-out;
    border-left: 4px solid #0d6efd;
}

.mcu-toast.toast-success { border-left-color: #198754; }
.mcu-toast.toast-warning { border-left-color: #fd7e14; }
.mcu-toast.toast-danger { border-left-color: #dc3545; }
.mcu-toast.toast-info { border-left-color: #0dcaf0; }

@keyframes toastSlideIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.mcu-toast.toast-fadeout {
    animation: toastSlideOut 0.3s ease-in forwards;
}

@keyframes toastSlideOut {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(20px); }
}

/* Health badges */
.mcu-badge {
    display: inline-block;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 8pt !important;
    font-weight: bold;
    font-family: Arial, sans-serif;
    margin-left: 4px;
    vertical-align: middle;
}
.mcu-badge-normal { background: #d1e7dd; color: #0f5132; }
.mcu-badge-under { background: #fff3cd; color: #664d03; }
.mcu-badge-over { background: #ffe5d0; color: #984c0c; }
.mcu-badge-obese { background: #f8d7da; color: #842029; }

.radiology-upload-box.dragover {
    border-color: #198754;
    background-color: rgba(25, 135, 84, 0.1) !important;
}

/* =========================================================
    GENERAL LAYOUT
========================================================= */
table {
    width: 100%;
    border-collapse: collapse;
    background: transparent !important;
}

td {
    vertical-align: middle;
    padding: 2px 2px;
    background: transparent !important;
}

th {
    background: transparent !important;
}

.title-header {
    margin: 6px 0;
    text-align: center;
    font-size: 11pt;
    font-weight: bold;
    background: transparent !important;
}

.page:nth-child(n+2) .title-header {
    margin-bottom: 12pt !important;
}

.sub-title {
    margin: 6px 0 4px;
    padding: 2px 5px;
    border: 1px solid #000;
    background: transparent !important;
    font-size: 9pt;
    font-weight: bold;
}

.sub-title-en {
    font-style: italic;
    font-weight: normal;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

input[type="date"] {
    -moz-appearance: textfield;
}

.label-bold {
    font-weight: bold;
}

.small-text {
    font-size: 8.5pt;
}

.justify {
    text-align: justify;
    line-height: 1.35;
}

/* =========================================================
    PRINT OPTIMIZATION
========================================================= */
@media print {
    @page {
        size: A4 portrait;
        margin: 0;
    }

    html, body {
        background: #ffffff !important;
        padding: 0;
        margin: 0;
    }

    .no-print,
    .no-print-bar,
    .btn-action-row,
    .clinical-quickbar,
    .radiology-controls,
    .mcu-toast-container,
    .mcu-badge {
        display: none !important;
    }

    .document-stage {
        margin: 0 !important;
        transform: none !important;
    }

    .page {
        width: 210mm !important;
        margin: 0 !important;
        padding: 2cm 1.5cm 1.5cm 2cm !important;
        box-shadow: none !important;
        background: #ffffff !important;
        page-break-after: always !important;
        page-break-inside: avoid !important;
    }

    .page:last-child {
        page-break-after: auto !important;
    }

    input[type="text"],
    input[type="number"],
    input[type="date"],
    select,
    textarea {
        background-color: transparent !important;
        border: none !important;
        border-bottom: 1px solid #000 !important;
        padding: 0 !important;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    .page-lembar-5 .mcu-table-polos input[type="text"] {
        border-bottom: none !important;
    }

    textarea {
        border: none !important;
        resize: none !important;
        outline: none !important;
    }

    .cover-page input,
    .cover-page select {
        border: none !important;
        border-bottom: none !important;
        box-shadow: none !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
    }

    .radiology-upload-box {
        border: 1px solid #000 !important;
        background-color: transparent !important;
        padding: 0 !important;
    }

    .upload-instruction,
    .upload-subinstruction {
        display: none !important;
    }
}

.page:nth-child(n+3) {
  line-height: 1.15 !important;
}

.page:nth-child(n+3) p,
.page:nth-child(n+3) table,
.page:nth-child(n+3) td,
.page:nth-child(n+3) div,
.page:nth-child(n+3) label,
.page:nth-child(n+3) textarea {
  line-height: 1.15 !important;
  background: transparent !important;
}

.page-lembar-6 .sub-title,
.page-lembar-7 .sub-title {
    background: transparent !important;
    border: 1px solid #000 !important;
}

.page-lembar-6 input[type="text"],
.page-lembar-6 input[type="number"],
.page-lembar-7 input[type="text"],
.page-lembar-7 input[type="number"] {
    background-color: transparent !important;
}

.table-vital-outer {
    background: transparent !important;
}

.table-vital-outer td {
    background: transparent !important;
}

.table-form-check, 
.table-form-check td,
.table-organ-check,
.table-organ-check td,
.table-organ-check-7,
.table-organ-check-7 td {
    background: transparent !important;
}

/* Lembar 4 Specific Styles */
.lembar4-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12pt !important;
    margin-bottom: 2px;
    background: transparent !important;
}
.lembar4-table td {
    vertical-align: top;
    padding: 1px 0;
    font-size: 12pt !important;
    background: transparent !important;
}
.lembar4-label {
    width: 195px;
    white-space: nowrap;
    font-weight: bold;
}
.lembar4-col {
    width: 12px;
    text-align: center;
    font-weight: bold;
}
.lembar4-input-cell {
    padding-right: 11px;
}
.lembar4-input-cell input[type="text"] {
    font-size: 12pt !important;
    border: none !important;
    border-bottom: 1px solid #000 !important;
    background: transparent !important;
    outline: none;
    width: 100%;
    padding: 0 !important;
    height: 18px;
}
.sub-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px 10px;
    font-size: 10pt !important;
    background: transparent !important;
}
.sub-grid-2col .checkbox-item {
    font-size: 10pt !important;
    min-height: 16px;
    background: transparent !important;
}
.sub-grid-2col .checkbox-item input[type="checkbox"] {
    font-size: 10pt !important;
    background: transparent !important;
}
.table-keluarga-1col {
    width: 100%;
    border-collapse: collapse;
    font-size: 10pt !important;
    background: transparent !important;
}
.table-keluarga-1col td {
    padding: 1px 4px;
    font-size: 10pt !important;
    vertical-align: middle;
    background: transparent !important;
}
.section-spacer {
    height: 12pt;
    font-size: 12pt;
    line-height: 12pt;
}

/* Lembar 6 & 7 Specific Styles */
.page-lembar-6 table.small-text td, 
.page-lembar-6 table.small-text label,
.page-lembar-7 table.small-text td, 
.page-lembar-7 table.small-text label {
    font-size: 9.5pt !important;
    line-height: 1.25 !important;
    background: transparent !important;
}

.page-lembar-6 .sub-title {
    margin: 6px 0 3px !important;
    padding: 1px 4px !important;
    font-size: 9.5pt !important;
    font-weight: bold;
    background: transparent !important;
}

.table-vital-outer {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #000 !important;
    margin-bottom: 8px;
    background: transparent !important;
}

.table-vital-outer td {
    padding: 4px 6px !important;
    vertical-align: middle !important;
    font-size: 9.5pt !important;
    border: none !important;
    background: transparent !important;
}

.table-vital-outer input[type="text"],
.table-vital-outer input[type="number"] {
    font-size: 9.5pt !important;
    border: none !important;
    border-bottom: 1px solid #000 !important;
    background: transparent !important;
    text-align: center !important;
    padding: 0 2px !important;
    height: 18px !important;
    display: inline-block !important;
    outline: none !important;
}

.table-vital-outer input[type=number]::-webkit-inner-spin-button, 
.table-vital-outer input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
}
.table-vital-outer input[type=number] {
    -moz-appearance: textfield;
}

.table-form-check {
    width: 100%;
    border-collapse: collapse;
    background: transparent !important;
}
.table-form-check td {
    padding: 2px 3px !important;
    vertical-align: middle !important;
    background: transparent !important;
}
.col-label { width: 26%; }
.col-opt-1 { width: 24%; }
.col-opt-2 { width: 25%; }
.col-opt-3 { width: 25%; }

.table-organ-check,
.table-organ-check-7 {
    width: 100%;
    border-collapse: collapse;
    background: transparent !important;
}
.table-organ-check td,
.table-organ-check-7 td {
    padding: 2px 3px !important;
    vertical-align: middle !important;
    white-space: nowrap;
    background: transparent !important;
}
.col-org-name, .col-org7-name { width: 26%; }
.col-org-opt1, .col-org7-opt1 { width: 24%; }
.col-org-opt2, .col-org7-opt2 { width: 50%; }

.inline-input-organ,
.inline-input-organ-7 {
    border: none !important;
    border-bottom: 1px solid #000 !important;
    background: transparent !important;
    height: 16px !important;
    padding: 0 2px !important;
    font-size: 9.5pt !important;
    outline: none !important;
    display: inline-block !important;
    width: 200px !important;
    vertical-align: baseline;
}

.btn-gas {
    background-color: #1a73e8 !important;
    color: white !important;
}
.btn-gas:hover {
    background-color: #1557b0 !important;
}

/* Modal Google Drive GAS */
.gas-modal-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999;
}
.gas-modal-content {
    background: #fff;
    width: 90%;
    max-width: 650px;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    font-family: Arial, sans-serif !important;
    max-height: 90vh;
    overflow-y: auto;
}
.gas-modal-content * {
    font-family: Arial, sans-serif !important;
}
.gas-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding-bottom: 12px;
    margin-bottom: 16px;
}
.gas-modal-header h3 {
    margin: 0;
    font-size: 18px;
    color: #202124;
}
.gas-close-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #5f6368;
}
.gas-section {
    margin-bottom: 16px;
}
.gas-section label {
    display: block;
    font-weight: bold;
    margin-bottom: 6px;
    color: #3c4043;
    font-size: 13px;
}
.gas-section input[type="text"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #bdc1c6;
    border-radius: 4px;
    font-size: 13px;
    box-sizing: border-box;
}
.gas-section textarea {
    width: 100%;
    height: 120px;
    font-family: monospace !important;
    font-size: 11px;
    background: #f8f9fa !important;
    border: 1px solid #bdc1c6;
    border-radius: 4px;
    padding: 8px;
    resize: vertical;
}
.gas-btn-row {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}
.gas-action-btn {
    padding: 8px 16px;
    border-radius: 4px;
    border: none;
    font-weight: bold;
    cursor: pointer;
    font-size: 13px;
}
.gas-primary { background: #1a73e8; color: white; }
.gas-primary:hover { background: #1557b0; }
.gas-secondary { background: #f1f3f4; color: #3c4043; }
.gas-secondary:hover { background: #e8eaed; }

/* =========================================================
    PENYESUAIAN KHUSUS LEMBAR 2
========================================================= */
.page-lembar-2 {
    font-size: 11pt !important;
}
.page-lembar-2 .title-header div:nth-child(1) {
    font-size: 18pt !important;
    font-weight: bold !important;
    line-height: 1.1 !important;
}
.page-lembar-2 .title-header div:nth-child(2) {
    font-size: 14pt !important;
    font-style: italic !important;
    line-height: 1.1 !important;
}
.page-lembar-2 table,
.page-lembar-2 table td,
.page-lembar-2 table th,
.page-lembar-2 table input {
    font-size: 11pt !important;
    line-height: 1.5 !important;
}


