/* Material Icons Configuration */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.icon-filled {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Scrollbar Customization */
::-webkit-scrollbar {
    width: 0px;
    background: transparent;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Base Styles */
body {
    min-height: 100dvh;
}

@media (min-height: 884px) {
    body {
        min-height: 884px;
    }
}

/* Animations */
@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slide-up {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.animate-fade-in {
    animation: fade-in 0.3s ease-out;
}

.animate-slide-up {
    animation: slide-up 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Input Focus Styles */
.form-input:focus, .form-textarea:focus, .form-select:focus {
    box-shadow: 0 0 0 2px rgba(19, 91, 236, 0.5);
}

/* Selection Styles */
::selection {
    background-color: rgba(19, 91, 236, 0.3);
    color: #135bec;
}

.dark ::selection {
    background-color: #135bec;
    color: white;
}

/* Screen Transitions */
#app > div {
    width: 100%;
    max-width: 448px; /* max-w-md equivalent */
    min-height: 100dvh;
    margin: 0 auto;
}

/* Layout Helpers */
.screen-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100vh;
}
