/* Reset and Base Styles */
html, body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
    margin: 0;
    padding: 0;
}

/* Utility for line clamping */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Blazor Error Boundary */
#blazor-error-ui {
    display: none;
}

#blazor-error-ui.show {
    display: block;
}

/* Loading States */
@keyframes spin {
    to { transform: rotate(360deg); }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

/* Modal Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Focus states */
button:focus,
input:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

