@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap');

/* PENGATURAN UMUM */
:root { --color-primary: #2563eb; } /* Warna default, akan ditimpa oleh JS Pengaturan */
body { 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    -webkit-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
    overscroll-behavior: none; 
    transition: zoom 0.3s ease; 
}
input, textarea, select { 
    -webkit-user-select: auto !important; 
    -ms-user-select: auto !important; 
    user-select: auto !important; 
}

/* WARNA BRAND DINAMIS */
.bg-brand { background-color: var(--color-primary) !important; }
.text-brand { color: var(--color-primary) !important; }
.border-brand { border-color: var(--color-primary) !important; }
.focus-brand:focus { 
    border-color: var(--color-primary) !important; 
    outline: none; 
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15); 
}

/* KUSTOMISASI SCROLLBAR */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-track { background: transparent; }

/* ANIMASI & EFEK SPESIAL */
button, a { touch-action: manipulation; }

@keyframes slideUp { 
    from { opacity: 0; transform: translateY(20px); } 
    to { opacity: 1; transform: translateY(0); } 
}
.animate-slide-up { animation: slideUp 0.3s ease-out forwards; }

@keyframes float { 
    0% { transform: translateY(0px); } 
    50% { transform: translateY(-5px); } 
    100% { transform: translateY(0px); } 
}
.animate-float { animation: float 3s ease-in-out infinite; }

.glass-effect { 
    background: rgba(255, 255, 255, 0.15); 
    backdrop-filter: blur(12px); 
    -webkit-backdrop-filter: blur(12px); 
    border: 1px solid rgba(255, 255, 255, 0.3); 
}

/* ANIMASI MESIN TIK AI (TAROBOT) */
.typing-dot { animation: typing 1.4s infinite ease-in-out; fill: currentColor; }
.typing-dot:nth-child(1) { animation-delay: 0s; }
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes typing { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }

/* TAMPILAN SPESIFIK KASIR (PWA) */
.header-logo-img { max-height: 32px; width: auto; object-fit: contain; border-radius: 4px; }
@media (min-width: 768px) { .header-logo-img { max-height: 42px; } }
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }

/* PENGATURAN MODE CETAK (PRINT) */
@media print {
    body { margin: 0 !important; padding: 0 !important; width: 100% !important; -webkit-print-color-adjust: exact; }
    #app-container, #panel-tarobot, #btn-tarobot { display: none !important; }
    #print-area { display: block !important; width: 100% !important; margin: 0 auto !important; background: white !important; color: black !important; page-break-after: auto; }
    .no-print { display: none !important; }
    @page { margin: 0 !important; size: auto; } /* Untuk Kasir */
}
