/* Custom styles to complement Tailwind CSS */

/* CSS Variables for theming */
:root {
    --primary-color: #3b82f6;
    --primary-dark: #2563eb;
    --primary-light: #93c5fd;
}

/* Dialog backdrop styling */
dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

/* Main app layout */
#app {
    min-height: 100vh;
    display: flex;
}

/* Stripe Card Element styling */
.StripeElement {
    padding: 12px;
    background: white;
}

.StripeElement--focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.StripeElement--invalid {
    border-color: #ef4444;
}

/* Loading states */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.animate-spin {
    animation: spin 1s linear infinite;
}


/* Screen reader only - for accessibility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Custom scrollbar for webkit browsers */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f3f4f6;
}

::-webkit-scrollbar-thumb {
    background: #9ca3af;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #6b7280;
}