:root{
    --green:#3f8f2f;
    --green-dark:#1f5c26;
    --gold:#f2c94c;
    --navy:#10233f;
    --soft:#f6faf4;
    --muted:#6c757d;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(135deg,#f8fff4 0%,#eef6ff 100%);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#14213d;min-height:100vh}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:285px;background:linear-gradient(180deg,#163a28 0%,#0e223d 100%);color:#fff;padding:22px;position:fixed;inset:0 auto 0 0;overflow:auto;box-shadow:18px 0 45px rgba(16,35,63,.18);z-index:10}
.brand-card{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:14px;border-radius:24px;margin-bottom:24px;backdrop-filter:blur(10px)}
.brand-logo{width:60px;height:60px;object-fit:contain;background:#fff;border-radius:18px;padding:4px;box-shadow:0 10px 25px rgba(0,0,0,.22)}
.brand-title{font-size:1.35rem;font-weight:900;letter-spacing:.08em}.brand-subtitle{font-size:.82rem;color:rgba(255,255,255,.76)}
.nav-section{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.58);margin:12px 0}.sidebar .nav-link{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.82);border-radius:16px;padding:12px 13px;font-weight:650}.sidebar .nav-link:hover{background:rgba(255,255,255,.10);color:#fff}.sidebar .nav-link.active{background:linear-gradient(135deg,var(--gold),#fff1a8);color:#12263e;box-shadow:0 12px 24px rgba(242,201,76,.24)}
.sidebar-footer{margin-top:28px;padding:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:18px;color:rgba(255,255,255,.85)}
.main-content{margin-left:285px;flex:1;min-width:0}.topbar{height:92px;padding:20px 32px;background:rgba(255,255,255,.76);backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,33,61,.08);position:sticky;top:0;z-index:5}.top-logo{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:18px;padding:4px;box-shadow:0 10px 25px rgba(31,92,38,.15)}
.content-wrap{padding:30px 32px 44px}.premium-card{background:rgba(255,255,255,.9);border:1px solid rgba(20,33,61,.08);border-radius:26px;box-shadow:0 20px 55px rgba(16,35,63,.08);padding:24px}.stat-card{position:relative;overflow:hidden;border-radius:24px;padding:22px;background:#fff;border:1px solid rgba(20,33,61,.08);box-shadow:0 15px 35px rgba(16,35,63,.07)}.stat-card:after{content:"";position:absolute;right:-35px;top:-35px;width:115px;height:115px;background:linear-gradient(135deg,rgba(63,143,47,.18),rgba(242,201,76,.25));border-radius:999px}.stat-icon{font-size:2rem}.stat-number{font-size:2.1rem;font-weight:900;color:var(--navy)}.stat-label{font-size:.88rem;color:var(--muted);font-weight:650}
.btn-primary{background:linear-gradient(135deg,var(--green),var(--green-dark));border:none;box-shadow:0 10px 22px rgba(63,143,47,.22)}.btn-warning{background:linear-gradient(135deg,var(--gold),#ffe580);border:none;color:#10233f;font-weight:700}.btn-outline-primary{border-color:var(--green);color:var(--green)}.btn-outline-primary:hover{background:var(--green);border-color:var(--green)}
.table{vertical-align:middle}.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#f8fafc}.form-control,.form-select{border-radius:14px;border-color:#dbe4d1;padding:.72rem .9rem}.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .2rem rgba(63,143,47,.13)}.badge{font-weight:700}.section-title{font-weight:900;color:var(--navy)}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,rgba(242,201,76,.23),transparent 35%),linear-gradient(135deg,#143c29,#10233f)}.login-card{width:min(960px,92vw);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.25)}.login-hero{padding:42px;background:linear-gradient(135deg,#1f5c26,#10233f);color:#fff;position:relative}.login-hero img{width:130px;background:#fff;border-radius:30px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.25)}.login-form{padding:42px}.hero-chip{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.10);font-size:.85rem;margin-top:18px}.letter-preview{background:#fff;border:1px solid #e9ecef;border-radius:18px;padding:20px;min-height:240px}.print-letter{max-width:850px;margin:0 auto;background:#fff;color:#000;font-family:"Times New Roman",serif;font-size:12pt}.kop{display:flex;gap:18px;align-items:center;border-bottom:4px double #111;padding-bottom:12px;margin-bottom:28px}.kop img{width:92px;height:92px;object-fit:contain}.kop h2,.kop h3{margin:0;text-align:center}.signature{width:260px;margin-left:auto;margin-top:48px;text-align:left}.signature-space{height:72px}
@media(max-width:991px){.sidebar{position:relative;width:100%;height:auto}.app-shell{display:block}.main-content{margin-left:0}.topbar{height:auto;padding:18px}.content-wrap{padding:20px}.login-card{grid-template-columns:1fr}.login-hero{display:none}}
@media print{body{background:#fff}.no-print{display:none!important}.print-letter{max-width:none}.content-wrap{padding:0}.main-content{margin-left:0}.premium-card{box-shadow:none;border:none}.topbar,.sidebar{display:none}}

/* SIMTU v1.1 - Kop surat custom dan editor surat */
.letter-editor{font-family:"Times New Roman",serif;line-height:1.65;background:#fffdf7}
.kop-preview-wrap{overflow:auto;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:14px}.kop-custom-preview{min-width:620px;background:#fff;padding:12px 16px;color:#000;font-family:Arial,Helvetica,sans-serif;border-bottom:4px double #111;display:grid;grid-template-columns:82px 1fr 82px;align-items:center;gap:12px}.kop-logo-preview{width:72px;height:72px;object-fit:contain}.kop-preview-center{text-align:center;line-height:1.15}.kop-line-1{font-size:14px;text-transform:uppercase}.kop-line-2{font-size:18px;font-weight:800;text-transform:uppercase}.kop-line-3{font-size:28px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.kop-small{font-size:13px}.kop-email{color:#0047b3;font-style:italic;text-decoration:underline}.kop-custom{display:grid;grid-template-columns:96px 1fr 96px;align-items:center;gap:14px;border-bottom:4px double #111;padding-bottom:8px;margin-bottom:28px;font-family:Arial,Helvetica,sans-serif}.kop-logo-box{display:flex;align-items:center;justify-content:center}.kop-logo-box img{max-width:88px;max-height:88px;object-fit:contain}.kop-center{text-align:center;line-height:1.12}.letter-body{white-space:pre-line;line-height:1.65;text-align:justify;font-family:"Times New Roman",serif;font-size:12pt}
@media print{.print-letter{box-shadow:none!important;margin:0!important;padding:0!important}.kop-custom{grid-template-columns:94px 1fr 94px}.kop-logo-box img{max-width:86px;max-height:86px}.kop-line-1{font-size:11pt}.kop-line-2{font-size:14pt}.kop-line-3{font-size:22pt}.kop-small{font-size:10.5pt}}

/* SIMTU v1.2 - penyempurnaan kop surat responsif dan logo tidak mengikuti ukuran file asli */
.print-letter{
    width:min(100%,850px);
    padding:38px 46px!important;
    overflow:hidden;
}
.kop-custom{
    grid-template-columns:78px minmax(0,1fr) 78px;
    gap:10px;
    padding-bottom:7px;
    margin-bottom:24px;
}
.kop-logo-box{
    width:78px;
    height:78px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.kop-logo-box img{
    width:auto!important;
    height:auto!important;
    max-width:68px!important;
    max-height:68px!important;
    object-fit:contain!important;
    display:block;
}
.kop-center{
    min-width:0;
    overflow-wrap:anywhere;
}
.kop-line-1{font-size:12.5px;line-height:1.12;white-space:normal}
.kop-line-2{font-size:17px;line-height:1.08;font-weight:800}
.kop-line-3{font-size:27px;line-height:1.05;font-weight:900;letter-spacing:.02em}
.kop-small{font-size:12.2px;line-height:1.15;white-space:normal}
.letter-body{font-size:12pt;line-height:1.65}

.kop-preview-wrap{max-width:100%;overflow:auto}
.kop-custom-preview{
    min-width:0;
    width:100%;
    grid-template-columns:72px minmax(0,1fr) 72px;
    gap:10px;
    padding:10px 14px 8px;
}
.kop-logo-preview{
    width:auto!important;
    height:auto!important;
    max-width:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    display:block;
    margin:auto;
}
.kop-preview-center{min-width:0;overflow-wrap:anywhere}

@media(max-width:768px){
    .print-letter{
        width:100%;
        padding:20px 14px!important;
        font-size:10pt;
        overflow-x:auto;
    }
    .kop-custom{
        grid-template-columns:52px minmax(0,1fr) 52px;
        gap:6px;
        padding-bottom:6px;
        margin-bottom:18px;
    }
    .kop-logo-box{width:52px;height:52px}
    .kop-logo-box img{max-width:48px!important;max-height:48px!important}
    .kop-line-1{font-size:8.2px;line-height:1.1}
    .kop-line-2{font-size:10.8px;line-height:1.08}
    .kop-line-3{font-size:18px;line-height:1.02}
    .kop-small{font-size:8.2px;line-height:1.1}
    .letter-body{font-size:11pt}
    .signature{width:220px;margin-top:34px}
    .signature-space{height:58px}
}

@media(max-width:520px){
    .kop-custom-preview{
        min-width:560px;
    }
}

@media print{
    @page{size:21.5cm 33cm;margin:1.2cm 1.3cm}
    .print-letter{
        width:100%!important;
        max-width:none!important;
        padding:0!important;
        margin:0!important;
        overflow:visible!important;
        font-size:12pt;
    }
    .kop-custom{
        grid-template-columns:2.25cm minmax(0,1fr) 2.25cm!important;
        gap:.25cm!important;
        padding-bottom:.12cm!important;
        margin-bottom:.72cm!important;
    }
    .kop-logo-box{width:2.25cm!important;height:2.25cm!important}
    .kop-logo-box img{max-width:1.78cm!important;max-height:1.78cm!important}
    .kop-line-1{font-size:9.8pt!important;line-height:1.1!important;white-space:nowrap!important}
    .kop-line-2{font-size:12pt!important;line-height:1.08!important;white-space:nowrap!important}
    .kop-line-3{font-size:20pt!important;line-height:1.03!important;white-space:nowrap!important}
    .kop-small{font-size:9.2pt!important;line-height:1.12!important;white-space:nowrap!important}
    .letter-body{font-size:12pt!important;line-height:1.65!important}
}


/* SIMTU v1.3 - FIX PAKSA LOGO KOP: ukuran logo tidak boleh mengikuti file asli */
.print-letter .kop-custom,
body .print-letter .kop-custom{
    display:grid!important;
    grid-template-columns:78px minmax(0,1fr) 78px!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    overflow:hidden!important;
}
.print-letter .kop-logo-box,
body .print-letter .kop-logo-box{
    width:78px!important;
    height:78px!important;
    min-width:78px!important;
    max-width:78px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.print-letter .kop-logo-box > img,
.print-letter img.kop-logo-img,
body .print-letter .kop-logo-box > img,
body .print-letter img.kop-logo-img{
    width:auto!important;
    height:auto!important;
    max-width:68px!important;
    max-height:68px!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:contain!important;
    display:block!important;
    flex:0 0 auto!important;
}
.kop-custom-preview{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr) 72px!important;
    align-items:center!important;
    overflow:hidden!important;
}
.kop-custom-preview .kop-logo-preview,
img.kop-logo-preview{
    width:auto!important;
    height:auto!important;
    max-width:62px!important;
    max-height:62px!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:contain!important;
    display:block!important;
    margin:auto!important;
}
@media(max-width:768px){
    .print-letter .kop-custom,
    body .print-letter .kop-custom{grid-template-columns:52px minmax(0,1fr) 52px!important;gap:6px!important;}
    .print-letter .kop-logo-box,
    body .print-letter .kop-logo-box{width:52px!important;height:52px!important;min-width:52px!important;max-width:52px!important;}
    .print-letter .kop-logo-box > img,
    .print-letter img.kop-logo-img,
    body .print-letter .kop-logo-box > img{max-width:46px!important;max-height:46px!important;}
}
@media print{
    .print-letter .kop-custom,
    body .print-letter .kop-custom{grid-template-columns:2.15cm minmax(0,1fr) 2.15cm!important;gap:.22cm!important;}
    .print-letter .kop-logo-box,
    body .print-letter .kop-logo-box{width:2.15cm!important;height:2.15cm!important;min-width:2.15cm!important;max-width:2.15cm!important;}
    .print-letter .kop-logo-box > img,
    .print-letter img.kop-logo-img,
    body .print-letter .kop-logo-box > img{max-width:1.72cm!important;max-height:1.72cm!important;width:auto!important;height:auto!important;}
}

/* SIMTU v1.4 - Kop surat premium presisi, responsif, dan siap cetak F4 */
.print-page-body{background:#edf2f7!important;}
.print-letter{
    width:min(100%, 900px)!important;
    max-width:900px!important;
    margin:0 auto!important;
    background:#fff!important;
    color:#050505!important;
    padding:34px 42px 44px!important;
    font-family:"Times New Roman", Times, serif!important;
    font-size:12pt!important;
    line-height:1.55!important;
    overflow:visible!important;
    box-shadow:0 18px 50px rgba(15,23,42,.08)!important;
}
.print-letter .kop-custom,
body .print-letter .kop-custom{
    display:grid!important;
    grid-template-columns:102px minmax(0,1fr) 102px!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    margin:0 0 26px!important;
    padding:0 0 8px!important;
    border-bottom:5px double #111!important;
    overflow:visible!important;
    font-family:Arial, Helvetica, sans-serif!important;
}
.print-letter .kop-logo-box,
body .print-letter .kop-logo-box{
    width:102px!important;
    height:102px!important;
    min-width:102px!important;
    max-width:102px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
}
.print-letter .kop-logo-box > img,
.print-letter img.kop-logo-img,
body .print-letter .kop-logo-box > img,
body .print-letter img.kop-logo-img{
    width:auto!important;
    height:auto!important;
    max-width:90px!important;
    max-height:90px!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:contain!important;
    display:block!important;
    flex:0 0 auto!important;
}
.print-letter .kop-center,
body .print-letter .kop-center{
    min-width:0!important;
    text-align:center!important;
    line-height:1.08!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
}
.print-letter .kop-line-1{font-family:Arial, Helvetica, sans-serif!important;font-size:14px!important;line-height:1.08!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.01em!important;white-space:nowrap!important;}
.print-letter .kop-line-2{font-family:Arial, Helvetica, sans-serif!important;font-size:18px!important;line-height:1.05!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.015em!important;margin-top:4px!important;white-space:nowrap!important;}
.print-letter .kop-line-3{font-family:Arial, Helvetica, sans-serif!important;font-size:30px!important;line-height:1!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.018em!important;margin-top:5px!important;white-space:nowrap!important;}
.print-letter .kop-small{font-family:Arial, Helvetica, sans-serif!important;font-size:13px!important;line-height:1.18!important;font-weight:400!important;white-space:nowrap!important;}
.print-letter .kop-small:first-of-type{margin-top:7px!important;}
.print-letter .kop-email{color:#0645ad!important;font-style:italic!important;text-decoration:underline!important;font-weight:600!important;}
.print-letter .letter-title-block{margin-top:26px!important;margin-bottom:26px!important;text-align:center!important;}
.print-letter .letter-title-block .letter-subject{font-family:"Times New Roman", Times, serif!important;font-size:12.5pt!important;font-weight:700!important;text-decoration:underline!important;text-transform:uppercase!important;}
.print-letter .letter-title-block .letter-number{font-size:12pt!important;margin-top:2px!important;}
.print-letter .letter-body{font-family:"Times New Roman", Times, serif!important;font-size:12pt!important;line-height:1.68!important;text-align:justify!important;white-space:pre-line!important;}
.print-letter .signature{width:280px!important;margin-left:auto!important;margin-top:54px!important;text-align:left!important;font-family:"Times New Roman", Times, serif!important;font-size:12pt!important;}
.print-letter .signature-space{height:78px!important;}
.clean-print-tip{border-left:4px solid var(--green);background:#f6fff4;border-radius:14px;padding:10px 14px;font-size:.9rem;color:#334155;}
.kop-preview-wrap{max-width:100%!important;overflow:auto!important;background:#f8fafc!important;border:1px dashed #cbd5e1!important;border-radius:18px!important;padding:14px!important;}
.kop-custom-preview{
    width:100%!important;
    min-width:640px!important;
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr) 92px!important;
    align-items:center!important;
    gap:12px!important;
    overflow:hidden!important;
    background:#fff!important;
    padding:10px 14px 8px!important;
    border-bottom:5px double #111!important;
    font-family:Arial, Helvetica, sans-serif!important;
}
.kop-custom-preview .kop-logo-preview,
img.kop-logo-preview{
    width:auto!important;
    height:auto!important;
    max-width:82px!important;
    max-height:82px!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:contain!important;
    display:block!important;
    margin:auto!important;
}
.kop-custom-preview .kop-line-1{font-size:12px!important;font-weight:500!important;white-space:nowrap!important;}
.kop-custom-preview .kop-line-2{font-size:16px!important;font-weight:800!important;white-space:nowrap!important;}
.kop-custom-preview .kop-line-3{font-size:25px!important;font-weight:900!important;white-space:nowrap!important;}
.kop-custom-preview .kop-small{font-size:11.5px!important;white-space:nowrap!important;}

@media(max-width:768px){
    .print-letter{width:100%!important;padding:20px 12px 28px!important;box-shadow:none!important;overflow-x:auto!important;}
    .print-letter .kop-custom,
    body .print-letter .kop-custom{grid-template-columns:62px minmax(430px,1fr) 62px!important;gap:8px!important;min-width:570px!important;}
    .print-letter .kop-logo-box,
    body .print-letter .kop-logo-box{width:62px!important;height:62px!important;min-width:62px!important;max-width:62px!important;}
    .print-letter .kop-logo-box > img,
    .print-letter img.kop-logo-img,
    body .print-letter .kop-logo-box > img{max-width:56px!important;max-height:56px!important;}
    .print-letter .kop-line-1{font-size:9px!important;}
    .print-letter .kop-line-2{font-size:12px!important;}
    .print-letter .kop-line-3{font-size:20px!important;}
    .print-letter .kop-small{font-size:8.8px!important;}
}

@media print{
    @page{size:215mm 330mm;margin:0;}
    html,body{width:215mm!important;min-height:330mm!important;background:#fff!important;margin:0!important;padding:0!important;}
    body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
    .no-print{display:none!important;}
    .print-letter{
        width:215mm!important;
        max-width:none!important;
        min-height:330mm!important;
        margin:0!important;
        padding:13mm 14mm 15mm!important;
        box-shadow:none!important;
        overflow:visible!important;
        font-size:12pt!important;
    }
    .print-letter .kop-custom,
    body .print-letter .kop-custom{
        grid-template-columns:25mm minmax(0,1fr) 25mm!important;
        gap:3mm!important;
        margin-bottom:8mm!important;
        padding-bottom:2.2mm!important;
        border-bottom:1.6mm double #111!important;
    }
    .print-letter .kop-logo-box,
    body .print-letter .kop-logo-box{width:25mm!important;height:25mm!important;min-width:25mm!important;max-width:25mm!important;}
    .print-letter .kop-logo-box > img,
    .print-letter img.kop-logo-img,
    body .print-letter .kop-logo-box > img{max-width:22.5mm!important;max-height:22.5mm!important;width:auto!important;height:auto!important;}
    .print-letter .kop-line-1{font-size:10pt!important;line-height:1.08!important;font-weight:500!important;white-space:nowrap!important;}
    .print-letter .kop-line-2{font-size:14pt!important;line-height:1.05!important;font-weight:800!important;margin-top:1.2mm!important;white-space:nowrap!important;}
    .print-letter .kop-line-3{font-size:24pt!important;line-height:.98!important;font-weight:900!important;margin-top:1.3mm!important;white-space:nowrap!important;}
    .print-letter .kop-small{font-size:9.5pt!important;line-height:1.13!important;white-space:nowrap!important;}
    .print-letter .kop-small:first-of-type{margin-top:2mm!important;}
    .print-letter .letter-title-block{margin-top:8mm!important;margin-bottom:8mm!important;}
    .print-letter .letter-body{font-size:12pt!important;line-height:1.68!important;}
    .print-letter .signature{width:72mm!important;margin-top:14mm!important;font-size:12pt!important;}
    .print-letter .signature-space{height:22mm!important;}
}

/* SIMTU v1.5 - Kop surat dapat diatur dari halaman Settings: ukuran logo, font, ketebalan, dan anti-bentrok */
.print-letter .kop-custom,
body .print-letter .kop-custom,
.kop-custom-preview{
    display:grid!important;
    grid-template-columns:var(--kop-logo-box,110px) minmax(0,1fr) var(--kop-logo-box,110px)!important;
    align-items:center!important;
    gap:var(--kop-logo-gap,12px)!important;
    width:100%!important;
    overflow:visible!important;
    font-family:Arial, Helvetica, sans-serif!important;
}
.print-letter .kop-custom,
body .print-letter .kop-custom{
    margin:0 0 26px!important;
    padding:0 0 8px!important;
    border-bottom:5px double #111!important;
}
.print-letter .kop-logo-box,
body .print-letter .kop-logo-box,
.kop-custom-preview .kop-logo-box{
    width:var(--kop-logo-box,110px)!important;
    height:var(--kop-logo-box,110px)!important;
    min-width:var(--kop-logo-box,110px)!important;
    max-width:var(--kop-logo-box,110px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
}
.print-letter .kop-logo-box > img,
.print-letter img.kop-logo-img,
body .print-letter .kop-logo-box > img,
body .print-letter img.kop-logo-img,
.kop-custom-preview .kop-logo-preview,
img.kop-logo-preview{
    width:auto!important;
    height:auto!important;
    max-width:var(--kop-logo-img,102px)!important;
    max-height:var(--kop-logo-img,102px)!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:contain!important;
    display:block!important;
    margin:auto!important;
    flex:0 0 auto!important;
}
.print-letter .kop-center,
body .print-letter .kop-center,
.kop-custom-preview .kop-center,
.kop-preview-center{
    min-width:0!important;
    text-align:center!important;
    line-height:var(--kop-line-height,1.08)!important;
    overflow:visible!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
}
.print-letter .kop-line-1,
.kop-custom-preview .kop-line-1{
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:var(--kop-line1-size,14px)!important;
    line-height:var(--kop-line-height,1.08)!important;
    font-weight:var(--kop-line1-weight,600)!important;
    text-transform:uppercase!important;
    letter-spacing:.01em!important;
    white-space:normal!important;
}
.print-letter .kop-line-2,
.kop-custom-preview .kop-line-2{
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:var(--kop-line2-size,18px)!important;
    line-height:var(--kop-line-height,1.08)!important;
    font-weight:var(--kop-line2-weight,800)!important;
    text-transform:uppercase!important;
    letter-spacing:.015em!important;
    margin-top:4px!important;
    white-space:normal!important;
}
.print-letter .kop-line-3,
.kop-custom-preview .kop-line-3{
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:var(--kop-line3-size,30px)!important;
    line-height:.98!important;
    font-weight:var(--kop-line3-weight,900)!important;
    text-transform:uppercase!important;
    letter-spacing:.018em!important;
    margin-top:5px!important;
    white-space:normal!important;
}
.print-letter .kop-small,
.kop-custom-preview .kop-small{
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:var(--kop-small-size,13px)!important;
    line-height:1.16!important;
    font-weight:var(--kop-small-weight,500)!important;
    white-space:normal!important;
}
.print-letter .kop-small:first-of-type,
.kop-custom-preview .kop-small:first-of-type{margin-top:7px!important;}
.kop-custom-preview{
    min-width:700px!important;
    background:#fff!important;
    padding:12px 16px 9px!important;
    border-bottom:5px double #111!important;
}
@media(max-width:768px){
    .print-letter{overflow-x:auto!important;}
    .print-letter .kop-custom,
    body .print-letter .kop-custom{min-width:620px!important;}
}
@media print{
    .print-letter .kop-custom,
    body .print-letter .kop-custom{
        grid-template-columns:var(--kop-logo-box-print,29mm) minmax(0,1fr) var(--kop-logo-box-print,29mm)!important;
        gap:var(--kop-logo-gap-print,3.2mm)!important;
        margin-bottom:8mm!important;
        padding-bottom:2.2mm!important;
        border-bottom:1.6mm double #111!important;
    }
    .print-letter .kop-logo-box,
    body .print-letter .kop-logo-box{
        width:var(--kop-logo-box-print,29mm)!important;
        height:var(--kop-logo-box-print,29mm)!important;
        min-width:var(--kop-logo-box-print,29mm)!important;
        max-width:var(--kop-logo-box-print,29mm)!important;
    }
    .print-letter .kop-logo-box > img,
    .print-letter img.kop-logo-img,
    body .print-letter .kop-logo-box > img,
    body .print-letter img.kop-logo-img{
        max-width:var(--kop-logo-img-print,27mm)!important;
        max-height:var(--kop-logo-img-print,27mm)!important;
        width:auto!important;
        height:auto!important;
    }
    .print-letter .kop-line-1{font-size:var(--kop-line1-size-print,10.5pt)!important;font-weight:var(--kop-line1-weight,600)!important;line-height:var(--kop-line-height,1.08)!important;white-space:normal!important;}
    .print-letter .kop-line-2{font-size:var(--kop-line2-size-print,13.5pt)!important;font-weight:var(--kop-line2-weight,800)!important;line-height:var(--kop-line-height,1.08)!important;white-space:normal!important;}
    .print-letter .kop-line-3{font-size:var(--kop-line3-size-print,22.5pt)!important;font-weight:var(--kop-line3-weight,900)!important;line-height:.98!important;white-space:normal!important;}
    .print-letter .kop-small{font-size:var(--kop-small-size-print,9.75pt)!important;font-weight:var(--kop-small-weight,500)!important;line-height:1.16!important;white-space:normal!important;}
}

/* SIMTU v1.6 - Kop cetak sama dengan preview, anti enter, dan tanda tangan/barcode */
.print-letter .kop-center,
body .print-letter .kop-center,
.kop-custom-preview .kop-center,
.kop-preview-center{
    overflow:hidden!important;
}
.print-letter .kop-line-1,
.print-letter .kop-line-2,
.print-letter .kop-line-3,
.print-letter .kop-small,
.kop-custom-preview .kop-line-1,
.kop-custom-preview .kop-line-2,
.kop-custom-preview .kop-line-3,
.kop-custom-preview .kop-small{
    white-space:nowrap!important;
    overflow:visible!important;
    text-align:center!important;
    width:100%!important;
}
.print-letter .kop-fit-text,
.kop-custom-preview .kop-fit-text{
    display:inline-block!important;
    white-space:nowrap!important;
    transform:scaleX(var(--fit-scale,1))!important;
    transform-origin:center center!important;
    max-width:none!important;
}
.print-letter .kop-line-1 .kop-fit-text,
.print-letter .kop-line-2 .kop-fit-text,
.print-letter .kop-line-3 .kop-fit-text,
.print-letter .kop-small .kop-fit-text{
    will-change:transform;
}
.signature-mark-row{
    height:78px!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:12px!important;
    margin:2px 0 4px!important;
    overflow:hidden!important;
}
.signature-img{
    width:auto!important;
    height:auto!important;
    max-width:150px!important;
    max-height:72px!important;
    object-fit:contain!important;
    display:block!important;
}
.signature-barcode{
    width:auto!important;
    height:auto!important;
    max-width:68px!important;
    max-height:68px!important;
    object-fit:contain!important;
    display:block!important;
    margin-left:auto!important;
}
@media print{
    .print-letter .kop-center,
    body .print-letter .kop-center{
        overflow:hidden!important;
    }
    .print-letter .kop-line-1,
    .print-letter .kop-line-2,
    .print-letter .kop-line-3,
    .print-letter .kop-small{
        white-space:nowrap!important;
        overflow:visible!important;
        width:100%!important;
        text-align:center!important;
    }
    .print-letter .kop-fit-text{
        display:inline-block!important;
        white-space:nowrap!important;
        transform:scaleX(var(--fit-scale,1))!important;
        transform-origin:center center!important;
        max-width:none!important;
    }
    .signature-mark-row{
        height:22mm!important;
        gap:4mm!important;
        margin:1mm 0!important;
    }
    .signature-img{max-width:42mm!important;max-height:20mm!important;}
    .signature-barcode{max-width:18mm!important;max-height:18mm!important;}
}


/* SIMTU v1.7 - Fix baris pertama kop hilang saat print/PDF
   Penyebab umum: @page margin 0 dan overflow center saat render print browser.
   Versi ini memberi safe margin, ruang atas kop, dan overflow vertikal dibuat visible. */
@media print{
    @page{
        size:215mm 330mm;
        margin:12mm 13mm 14mm 13mm;
    }
    html,
    body{
        width:auto!important;
        min-height:auto!important;
        margin:0!important;
        padding:0!important;
        background:#fff!important;
    }
    body{
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }
    .no-print{display:none!important;}
    .print-page-body{
        background:#fff!important;
    }
    .print-letter{
        width:100%!important;
        max-width:none!important;
        min-height:auto!important;
        margin:0!important;
        padding:0!important;
        box-shadow:none!important;
        overflow:visible!important;
        font-size:12pt!important;
        position:relative!important;
    }
    .print-letter .kop-custom,
    body .print-letter .kop-custom{
        display:grid!important;
        grid-template-columns:var(--kop-logo-box-print,29mm) minmax(0,1fr) var(--kop-logo-box-print,29mm)!important;
        gap:var(--kop-logo-gap-print,3.2mm)!important;
        align-items:center!important;
        margin:0 0 8mm 0!important;
        padding:1.8mm 0 2.4mm 0!important;
        border-bottom:1.4mm double #111!important;
        page-break-inside:avoid!important;
        break-inside:avoid!important;
        overflow:visible!important;
    }
    .print-letter .kop-center,
    body .print-letter .kop-center{
        min-width:0!important;
        overflow:visible!important;
        padding-top:.8mm!important;
        padding-bottom:.4mm!important;
        line-height:var(--kop-line-height,1.08)!important;
    }
    .print-letter .kop-line-1,
    .print-letter .kop-line-2,
    .print-letter .kop-line-3,
    .print-letter .kop-small{
        display:block!important;
        width:100%!important;
        white-space:nowrap!important;
        overflow:visible!important;
        text-align:center!important;
        page-break-inside:avoid!important;
        break-inside:avoid!important;
    }
    .print-letter .kop-line-1{
        padding-top:.5mm!important;
        line-height:1.18!important;
    }
    .print-letter .kop-fit-text{
        display:inline-block!important;
        white-space:nowrap!important;
        transform:scaleX(var(--fit-scale,1))!important;
        transform-origin:center center!important;
        max-width:none!important;
        overflow:visible!important;
    }
    .print-letter .kop-logo-box,
    body .print-letter .kop-logo-box{
        width:var(--kop-logo-box-print,29mm)!important;
        height:var(--kop-logo-box-print,29mm)!important;
        min-width:var(--kop-logo-box-print,29mm)!important;
        max-width:var(--kop-logo-box-print,29mm)!important;
        overflow:hidden!important;
    }
    .print-letter .kop-logo-box > img,
    .print-letter img.kop-logo-img,
    body .print-letter .kop-logo-box > img,
    body .print-letter img.kop-logo-img{
        max-width:var(--kop-logo-img-print,27mm)!important;
        max-height:var(--kop-logo-img-print,27mm)!important;
        width:auto!important;
        height:auto!important;
        object-fit:contain!important;
    }
}
