/* Custom styles supplementing Tailwind CDN */

* { box-sizing: border-box; }

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

/* Smooth page transitions */
a { transition: color 0.15s, background-color 0.15s, opacity 0.15s; }

/* File input styling */
input[type="file"]::file-selector-button {
    cursor: pointer;
}

/* Date input icon color */
input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0.6;
    cursor: pointer;
}

/* Table row highlight */
tbody tr:hover { background-color: #f8fafc; }

/* Smooth card hover */
.card-hover {
    transition: box-shadow 0.2s, transform 0.2s;
}
.card-hover:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}

/* Truncate with tooltip support */
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Focus ring consistency */
:focus-visible {
    outline: 2px solid #4f46e5;
    outline-offset: 2px;
}

/* Sidebar active state */
.sidebar-active {
    background-color: #1e293b;
    color: #fff;
}

/* Print styles */
@media print {
    header, footer, .no-print { display: none !important; }
    body { background: white; }
}
