:root { 
    --primary: #6c5ce7; 
    --secondary: #00b894; 
    --dark: #2d3436; 
    --light: #f0f2f5; 
}

body { 
    font-family: 'Segoe UI', sans-serif; 
    margin: 0; 
    background: var(--light); 
    color: var(--dark); 
    overflow-x: hidden; 
}

#loginScreen { 
    position: fixed; 
    top:0; 
    left:0; 
    width:100%; 
    height:100%; 
    background: linear-gradient(135deg, var(--primary), #a29bfe); 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    z-index: 1000; 
}

.login-card { 
    background: white; 
    padding: 30px; 
    border-radius: 20px; 
    width: 85%; 
    max-width: 400px; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.2); 
    text-align: center; 
}

.login-card i.logo-icon { 
    font-size: 50px; 
    color: var(--primary); 
    margin-bottom: 10px; 
}

.app-header { 
    background: var(--primary); 
    color: white; 
    padding: 15px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}

.container { 
    padding: 15px; 
    padding-bottom: 80px; 
}

.card { 
    background: white; 
    padding: 15px; 
    border-radius: 12px; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.05); 
    margin-bottom: 15px; 
}

input { 
    width: 100%; 
    padding: 12px; 
    margin: 8px 0; 
    border: 1px solid #ddd; 
    border-radius: 8px; 
    box-sizing: border-box; 
}

button { 
    width: 100%; 
    padding: 12px; 
    border: none; 
    border-radius: 8px; 
    font-weight: bold; 
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    gap: 8px; 
}

.btn-primary { 
    background: var(--primary); 
    color: white; 
}

.btn-secondary { 
    background: var(--secondary); 
    color: white; 
}

#reader { 
    width: 100%; 
    border-radius: 12px; 
    overflow: hidden; 
    display: none; 
    margin: 10px 0; 
    background: #000; 
}

.product-row { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    border-bottom: 1px solid #eee; 
    padding: 12px 0; 
}

.product-price { 
    color: var(--secondary); 
    font-weight: bold; 
}

.hidden { 
    display: none; 
}

.floating-add { 
    position: fixed; 
    bottom: 20px; 
    right: 20px; 
    width: 60px; 
    height: 60px; 
    border-radius: 30px; 
    background: var(--dark); 
    color: white; 
    font-size: 24px; 
    z-index: 99; 
}

@keyframes pulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(108, 92, 231, 0.7); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(108, 92, 231, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(108, 92, 231, 0); }
}