*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, sans-serif;
}

body{
    background:#d7cfb0;
    padding:20px;
}

/* ========================================
   REMOVE NUMBER INPUT SPINNER
======================================== */

/* Chrome, Edge, Safari */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

/* Firefox */
input[type=number]{
    -moz-appearance:textfield;
}

/* ========================================
   INPUT STYLE
======================================== */

input[type=number]{
    width:100%;
    height:100%;

    padding:0 4px;

    /* আগে background:transparent ছিল, সেটাই সাদা না থাকার কারণ হতে পারে */
    background:#ffffff !important;

    border:none;
    outline:none;

    font-size:14px;
    text-align:center;
}
.measure-table td,
.work-table td{
    padding:0;
    height:46px;
}
.measure-table input[type=number]:focus{
    background:#fff8d6;
}

.measure-table input[type=number]:focus{
    background:#ffffff !important;
}

/* ========================================
   MAIN LAYOUT
======================================== */

.wrapper{
    display:grid;
    grid-template-columns:320px 1fr 340px;
    gap:20px;
    align-items:stretch;
}

/* ========================================
   PANELS
======================================== */

.panel{
    background:#c9c19f;
    border:2px solid #222;
    padding:15px;

    display:flex;
    flex-direction:column;
}

/* Left + Center Equal Height */

.left-panel,
.center-panel{
    min-height:600px;
}

/* ========================================
   SECTION TITLE
======================================== */

.section-title{
    background:#111;
    color:#f5d88c;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 6px 0 12px;
    height:48px;

    font-size:20px;
    font-weight:bold;

    margin-bottom:15px;
}

.title-text{
    text-align:left;
}

.add-btn{
    width:48px;
    height:48px;

    background:#0ea500;
    color:#fff;

    border:none;
    cursor:pointer;

    font-size:26px;
    font-weight:bold;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-right:0; /* গ্যাপ না থাকে */
    flex:0 0 auto;
}

.add-btn:hover{
    background:#0b8a00;
}

/* ========================================
   TABLE
======================================== */

table{
    width:100%;
    border-collapse:collapse;
}

th{
    background:#b8ae87;
}

th,
td{
    border:1px solid #555;
    padding:8px;
    text-align:center;
}

/* ========================================
   BUTTON
======================================== */

/* ========================================
   RIGHT SIDE CARDS
======================================== */

.card{
    border:1px solid #444;
    margin-bottom:20px;
    background:#d8cfaa;
}

.card h3{
    background:#111;
    color:#f2d48b;
    padding:10px;
    font-size:18px;
}

.supplier{
    display:block;
    padding:10px;
}

.form-group{
    padding:10px;
}

.print-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:10px;
}

/* ========================================
   GRAND TOTAL
======================================== */

.grand-total{
    margin-top:20px;
    text-align:right;
    font-size:28px;
    font-weight:bold;
}

/* ========================================
   RESPONSIVE
======================================== */

@media(max-width:1200px){

    .wrapper{
        grid-template-columns:1fr;
    }

    .left-panel,
    .center-panel{
        min-height:auto;
    }
}