/**
 * Stavo Admin Panel — Custom CSS Overrides
 * Supplements Tailwind CSS with custom animations and components
 */

/* ============================================
   Base & Typography
   ============================================ */
* {
    font-family: 'Outfit', sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   Focus States
   ============================================ */
input:focus,
select:focus,
textarea:focus,
button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

/* ============================================
   Selection Color
   ============================================ */
::selection {
    background: rgba(239, 68, 68, 0.15);
    color: #991b1b;
}

/* ============================================
   Custom Components
   ============================================ */

/* Stat Card Number Animation */
.stat-number {
    transition: all 0.3s ease;
}

/* Table Styles */
table th {
    position: sticky;
    top: 0;
    z-index: 10;
    backdrop-filter: blur(8px);
}

/* Image Loading Fallback */
img[src=""] {
    visibility: hidden;
}

img {
    image-rendering: auto;
}

/* ============================================
   Page Transition
   ============================================ */
main {
    animation: pageIn 0.4s ease-out;
}

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

/* ============================================
   Responsive Fixes
   ============================================ */
@media (max-width: 640px) {
    .stat-card {
        margin-bottom: 0;
    }
    
    table {
        font-size: 0.75rem;
    }
    
    table th,
    table td {
        padding: 0.5rem 0.75rem;
    }
}

/* ============================================
   Print Styles
   ============================================ */
@media print {
    aside,
    header,
    footer,
    button,
    .btn-ripple {
        display: none !important;
    }
    
    main {
        padding: 0 !important;
    }
}
