/* ---------- General ---------- */

body{
    background:#f5f5f5;
    font-family:Arial, Helvetica, sans-serif;
}

.card{
    border:none;
}

.card-header h2{
    font-weight:bold;
    letter-spacing:1px;
}

.form-control,
.form-select{
    height:45px;
    font-size:18px;
}

.btn{
    height:45px;
    font-size:18px;
}

/* ---------- Table ---------- */

#billTable th{
    text-align:center;
    vertical-align:middle;
}

#billTable td{
    text-align:center;
    vertical-align:middle;
    font-size:18px;
}

#billTable tbody tr:hover{
    background:#f8f9fa;
}

.remove{
    width:35px;
    height:35px;
    border:none;
    border-radius:4px;
    background:#dc3545;
    color:#fff;
    cursor:pointer;
}

.remove:hover{
    background:#bb2d3b;
}

/* ---------- Grand Total ---------- */

#grandTotal{
    color:#198754;
    font-weight:bold;
    font-size:40px;
}

/* ---------- Print Area ---------- */

#printArea{
    display:none;
}

/* ---------- Thermal Printer ---------- */

@media print{

    body{
        margin:0;
        padding:0;
        background:#fff;
        width:110mm;
    }

    .container-fluid{
        display:none !important;
    }

    #printArea{
        display:block !important;
        width:110mm;
        max-width:110mm;
        min-width:110mm;
        margin:0 auto;
        padding:0;
        font-family:monospace;
        font-size:12px;
        color:#000;
    }

    #printArea h3{
        margin:0;
        padding:0;
        font-size:18px;
    }

    #printArea table{
        width:100%;
        border-collapse:collapse;
    }

    #printArea th{
        border-bottom:1px dashed #000;
        padding:2px;
        font-size:12px;
    }

    #printArea td{
        padding:2px;
        font-size:12px;
    }

    #printArea hr{
        border:none;
        border-top:1px dashed #000;
        margin:5px 0;
    }

    @page{
        size:110mm auto;
        margin:0;
    }

}
