body { 
    font-family: 'Lexend Deca', sans-serif; 
}
html{
    overflow-x: hidden;
}

/* Prevent auto-zoom on mobile devices */
* {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Ensure form inputs have minimum 16px font size to prevent auto-zoom */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
textarea,
select {
    font-size: 16px !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Specific mobile form input styles */
@media screen and (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="url"],
    input[type="search"],
    input[type="date"],
    input[type="time"],
    input[type="datetime-local"],
    input[type="month"],
    input[type="week"],
    textarea,
    select {
        font-size: 16px !important;
        min-height: 44px; /* Minimum touch target size */
        padding: 12px 16px;
    }
    
    /* Additional mobile zoom prevention */
    .form-input,
    .budget-input,
    input[class*="form-"],
    input[class*="budget-"] {
        font-size: 16px !important;
        min-height: 44px !important;
    }
    
    /* Prevent zoom on focus for all input types */
    input:focus,
    textarea:focus,
    select:focus {
        font-size: 16px !important;
        transform: scale(1);
    }
}
::-webkit-scrollbar {
    display: none;
}
.glass-effect {
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.text-primary {
    color: #1e293b;
}
.text-secondary {
    color: #64748b;
}
.card-hover {
    transition: all 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.08);
}
.transaction-item {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

/* Form styles */
.form-input {
    background-color: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    font-size: 16px !important; /* Prevent auto-zoom on mobile */
    line-height: 1.25rem;
    transition: all 0.2s ease-in-out;
    color: #1e293b;
    min-height: 44px; /* Minimum touch target size */
}

.form-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.btn-primary {
    background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
    color: white;
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #7c3aed 0%, #db2777 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.btn-primary:active {
    transform: translateY(0);
}