/* Custom styles to complement Bootstrap */
body {
    background-color: #f8f9fa;
    font-family: 'Inter', sans-serif;
}

.login-container {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
}

.login-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    padding: 2rem;
    width: 100%;
    max-width: 400px;
}

.sidebar {
    height: 100vh;
    background: #343a40;
    color: white;
    width: 250px;
    min-width: 250px;
    transition: all 0.3s;
    overflow-y: auto;
}

@media (max-width: 768px) {
    .sidebar {
        position: fixed;
        left: -250px;
        z-index: 1050;
    }
    .sidebar.show-sidebar {
        left: 0;
        box-shadow: 2px 0 10px rgba(0,0,0,0.5);
    }
    /* Añadir fondo semitransparente cuando el menú está abierto en móvil */
    .sidebar-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0,0,0,0.5);
        z-index: 1040;
    }
    .sidebar-overlay.show-overlay {
        display: block;
    }
}

.sidebar a {
    color: #adb5bd;
    text-decoration: none;
}

.sidebar a:hover, .sidebar a.active {
    color: white;
    background: #495057;
    border-radius: 5px;
}

.main-content {
    height: 100vh;
    overflow-y: auto;
}

.card-stats {
    transition: transform 0.2s;
}

.card-stats:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* POS Receipt Styles */
@media print {
    body * {
        visibility: hidden;
    }
    #receipt-content, #receipt-content * {
        visibility: visible;
    }
    #receipt-content {
        position: absolute;
        left: 0;
        top: 0;
        width: 80mm;
    }
    .no-print {
        display: none !important;
    }
}

.receipt-container {
    width: 80mm;
    margin: 0 auto;
    font-family: monospace;
    font-size: 12px;
}
