/* Custom Scrollbar */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Base Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.4s ease-out forwards;
}

/* Glassmorphism Utilities */
.glass {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.glass-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.glass-nav {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

/* Progress Bar Stripes Animation */
.progress-stripes {
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-size: 1rem 1rem;
}

/* Print Overrides */
@media print {
    @page {
        margin: 1cm;
        size: portrait;
    }
    body {
        background-color: white !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        font-size: 12px;
    }
    
    .no-print, header button, .shadow-xl, .bg-amber-50\/80, #sidebar-panel, #sidebar-overlay {
        display: none !important;
    }

    .print-only {
        display: block !important;
    }
    
    main {
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
    }
    
    #list-view-container {
        display: block !important;
    }
    
    .md\:block {
        display: block !important;
    }
    .md\:hidden {
        display: none !important;
    }
    
    #chart-view-container {
        display: none !important;
    }

    table {
        width: 100% !important;
        border-collapse: collapse;
    }
    thead {
        display: table-header-group;
    }
    tr {
        break-inside: avoid;
        page-break-inside: avoid;
        background: transparent !important;
        box-shadow: none !important;
        border-bottom: 1px solid #ddd !important;
        margin: 0 !important;
    }
    th, td {
        padding: 8px 4px !important;
    }
    
    .tyctw-watermark {
        position: fixed;
        top: 40%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-30deg);
        font-size: 5rem;
        font-weight: 900;
        color: rgba(0, 0, 0, 0.03) !important;
        white-space: nowrap;
        pointer-events: none;
        z-index: 0;
    }
}

.print-only {
    display: none;
}

.sort-icon svg {
    display: inline-block;
    vertical-align: middle;
}