/* Main stylesheet - Additional custom styles */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Utility classes */
.container {
    max-width: 1280px;
}

/* Card styles inspired by shadcn */
.card {
    @apply border border-border rounded-lg bg-card text-card-foreground;
}

.card-header {
    @apply px-6 py-4 border-b border-border;
}

.card-body {
    @apply px-6 py-4;
}

.card-footer {
    @apply px-6 py-4 border-t border-border;
}

/* Button styles */
.btn {
    @apply px-4 py-2 rounded-md font-medium transition inline-flex items-center justify-center gap-2;
}

.btn-primary {
    @apply bg-accent text-accent-foreground hover:opacity-90;
}

.btn-secondary {
    @apply bg-muted text-muted-foreground hover:bg-muted/80;
}

.btn-outline {
    @apply border border-border text-foreground hover:bg-muted;
}

/* Form styles */
input, select, textarea {
    @apply w-full px-3 py-2 border border-input rounded-md bg-background text-foreground placeholder-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent transition;
}

/* Table styles */
table {
    @apply w-full border-collapse;
}

th, td {
    @apply px-4 py-2 text-left border-b border-border;
}

th {
    @apply bg-muted font-bold;
}

tr:hover {
    @apply bg-muted/50;
}

/* Responsive utilities */
@media (max-width: 768px) {
    .hidden-mobile {
        display: none;
    }
}

@media (min-width: 769px) {
    .hidden-desktop {
        display: none;
    }
}
