/* * Siskeudes Tax Helper - Ultimate Pro Stylesheet
 * ---------------------------------------------
 * Custom CSS untuk meningkatkan UX dan Visual
 */

/* --- 1. Global & Typography --- */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

::selection {
    background-color: #0ea5e9;
    color: white;
}

/* --- 2. Custom Scrollbar --- */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
    transition: background 0.3s ease;
}
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
* {
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

/* --- 3. Animations --- */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}
.page-enter {
    animation: fadeInUp 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}
.hover-card {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.hover-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.1);
}

/* --- 4. Utilities --- */
.glass-effect {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.sidebar-transition {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- 5. PRINT STYLES (DIPERBAIKI UNTUK 1 HALAMAN) --- */
@media print {
    /* 1. Pengaturan Halaman Kertas */
    @page {
        margin: 1cm; /* Margin kertas tipis 1cm rata */
        size: auto;  /* Otomatis A4/Letter */
    }

    /* 2. Paksa Warna Background Tercetak */
    body {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        background-color: white !important;
        color: black !important;
        font-size: 12pt; /* Ukuran font standar surat */
    }

    /* 3. Sembunyikan Elemen Tidak Perlu */
    .no-print, 
    aside, 
    header, 
    footer, 
    button,
    #sidebar,
    #sidebar-overlay,
    .hidden-print,
    /* Sembunyikan Header Judul Halaman saat print agar hemat tempat */
    .w-full.space-y-6 > div:first-child { 
        display: none !important; 
    }

    /* 4. Reset Layout Utama */
    main {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        display: block !important;
        overflow: visible !important;
    }

    /* Reset Grid menjadi Block lurus ke bawah */
    .grid, .flex {
        display: block !important;
        width: 100% !important;
    }

    /* 5. Pengaturan Area Cetak (Kartu Hasil) */
    .print-area { 
        display: block !important; 
        width: 100% !important; 
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Styling Kartu Hasil saat Print agar Kompak */
    #hasil-card {
        border: 1px solid #000 !important; /* Ganti border halus dengan hitam tegas */
        box-shadow: none !important;
        margin: 0 !important;
        padding: 0 !important;
        page-break-inside: avoid; /* Mencegah kartu terpotong di tengah */
        height: auto !important; /* Reset height: full */
    }

    /* Kurangi Padding/Spacing berlebih di dalam kartu */
    #hasil-card .p-6, 
    #hasil-card .md\:p-8 {
        padding: 1.5rem !important; /* Padding lebih kecil (sekitar 24px) */
    }
    
    #hasil-card .space-y-8 > :not([hidden]) ~ :not([hidden]) {
        margin-top: 1.5rem !important; /* Kurangi jarak antar elemen vertikal */
    }
    
    /* Perkecil Judul Besar agar tidak makan tempat */
    #hasil-card h3.text-4xl, 
    #hasil-card h3.md\:text-5xl {
        font-size: 2rem !important; /* Sekitar 32px */
        line-height: 1.2 !important;
    }

    /* 6. Penataan Tanda Tangan */
    /* Pastikan area tanda tangan muncul dan rapi */
    .hidden.print-area {
        display: block !important;
        margin-top: 2rem !important; /* Jarak dari total bayar ke tanda tangan */
        padding-top: 1rem !important;
        border-top: 1px solid #000 !important;
    }

    /* Layout Flex untuk Tanda Tangan (Kiri & Kanan sejajar) */
    .hidden.print-area .flex {
        display: flex !important; /* Aktifkan flexbox khusus di area ini */
        flex-direction: row !important;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .hidden.print-area .w-5\/12 {
        width: 40% !important; /* Lebar kolom tanda tangan */
    }

    /* Jarak Tanda Tangan (Space untuk tanda tangan basah) */
    .h-24 {
        height: 6rem !important; /* Pastikan tinggi area kosong tetap terjaga */
    }

    /* 7. Warna Text Fix */
    p, h1, h2, h3, h4, h5, h6, span, div {
        color: black !important;
    }
    
    /* PENGECUALIAN: Header Background Gelap tetap Teks Putih */
    .bg-slate-800, .bg-desa-600, .bg-orange-600, .bg-purple-600, .bg-teal-600 {
        color: white !important;
        background-color: #1e293b !important; /* Paksa warna gelap saat print */
    }
    .bg-slate-800 *, .bg-desa-600 *, .bg-orange-600 *, .bg-purple-600 *, .bg-teal-600 * {
        color: white !important;
    }

    /* Sembunyikan scrollbar */
    ::-webkit-scrollbar { display: none; }
}