* {
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif
}


.page {
    max-width: 800px;
    margin: 0 auto;
    background: #fff;
    padding: 28px;
    /* border: 1px solid #e3e3e3; */

    .top{
        display:flex;
        justify-content:space-between;
        h1{
            font-size:2.5em;
        }
        img{
            width:150px;
        }
    }
    h3{
        text-align:center;
    }
    .heading{
        display:flex;
        justify-content:space-between;
        section{
            flex: 1;
        }
    }
}

.company h2 {
    margin: 0;
    font-size: 18px
}

@media print {
    .no-print{
        display: none;
    }
}

.meta {
    display: flex;
    justify-content: space-between;
    margin: 12px 0
}

.meta .left label,
.meta .right label {
    display: block;
    margin-bottom: 6px
}

.meta input {
    border: none;
    border-bottom: 1px solid #ccc;
    padding: 4px;
    width: 220px
}

.items table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 8px
}

.items th,
.items td {
    border: 1px solid #bbb;
    padding: 6px;
    text-align: left
}

.items th {
    background: #f3f3f3
}

.items input[type="number"],
.items input[type="text"] {
    width: 100%;
    border: 0;
    padding: 4px
}

.items-actions {
    margin-top: 8px;
    display: flex;
    gap: 8px
}

button {
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid #999;
    background: #fff;
    cursor: pointer
}

.totals {
    margin-top: 14px;
    width: 320px;
    float: right
}

.totals .row {
    display: flex;
    justify-content: space-between;
    /* Updated styles */
    body {
        background: #f7f7f7;
        padding: 18px;
    }
    .page {
        max-width: 820px;
        margin: 0 auto;
        background: #fff;
        padding: 24px;
        border: 1px solid #e6e6e6;
    }

    /* Header */
    .top {
        display: flex;
        gap: 16px;
        align-items: flex-start;
        margin-bottom: 6px;
    }
    .left-col {
        width: 90px;
    }
    .logo.big {
        width: 84px;
        height: 84px;
        background: #d9b27c;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        border-radius: 6px;
        font-size: 28px;
    }
    .logo-caption{
        margin-top:6px;
        font-size:11px;
        color:#666;
        text-align:left;
        line-height:1;
    }
    .center-col {
        flex: 1;
        text-align: center;
    }
    .company-name {
        font-size: 20px;
        font-weight: 600;
        margin-bottom: 4px;
    }
    .contact-row {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        font-size: 13px;
        color: #222;
    }
    .contact-left {
        width: 48%;
        text-align: left;
    }
    .contact-right {
        width: 48%;
        text-align: left;
        padding-left: 12px;
    }
    .contact-row{border-bottom:2px solid #cfe8ff;padding-bottom:8px}
    .contact-left .email span{color:#2b7bbf}
    .right-col {
        width: 160px;
        text-align: right;
        display:flex;
        align-items:flex-start;
        justify-content:flex-end;
    }
    .invoice-title {
        font-size: 34px;
        font-weight: 600;
        margin-top:6px;
    }

    /* Meta lines */
    .meta {
        margin-top: 8px;
        margin-bottom: 6px;
    }
    .name-line,
    .address-line {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 6px 0;
    }
    .name-line .line,
    .address-line .line {
        flex: 1;
        border-bottom: 1px solid #000;
        padding-left: 8px;
    }
    .name-line input,
    .address-line input {
        width: 100%;
        border: 0;
        outline: none;
        padding: 6px;
    }
    .invoice-no,
    .date {
        width: 180px;
        text-align: right;
    }
    .vatno {
        text-align: left;
        margin: 8px 0;
        font-weight: 600;
    }

    /* Table */
    .items {
        margin-top: 6px;
    }
    .invoice-table {
        width: 100%;
        border-collapse: collapse;
        border: 2px solid #999;
    }
    .invoice-table thead th {
        border: 1px solid #999;
        padding: 8px;
        background: #fff;
        font-weight: 700;
    }
    .invoice-table td {
        border: 1px solid #ddd;
        padding: 8px;
        height: 26px;
    }
    .col-qty {
        width: 6%;
        text-align: center;
    }
    .col-desc {
        width: 64%;
        padding-left: 12px;
    }
    .col-euro {
        width: 8%;
        text-align: center;
    }
    .col-amount {
        width: 12%;
        text-align: right;
        padding-right: 12px;
    }
    .col-p {
        width: 6%;
        text-align: center;
    }
    .invoice-table input {
        width: 100%;
        border: 0;
        padding: 2px;
    }

    /* Totals and terms */
    .totals-block {
        display: flex;
        justify-content: space-between;
        margin-top: 8px;
        gap: 12px;
    }
    .terms {
        flex: 1;
    }
    .small-terms {
        font-size: 11px;
        color: #333;
    }
    .small-terms ol {
        padding-left: 16px;
        margin: 6px 0;
    }
    .totals {
        width: 260px;
        border: 1px solid #999;
    }
    .tot-row {
        display: flex;
        justify-content: space-between;
        padding: 8px 12px;
        border-bottom: 1px solid #ddd;
    }
    .tot-row.grand {
        font-weight: 800;
        font-size: 16px;
    }

    .notes {
        margin-top: 18px;
        text-align: center;
        color: #111;
    }

    @media print {
        body {
            padding: 0;
        }
        .page {
            border: none;
            padding: 0;
        }
    }
    padding: 6px 8px;
    border-bottom: 1px solid #eee
}

.totals .grand {
    font-weight: 700
}

.notes {
    clear: both;
    margin-top: 50px;
    text-align: center;
    color: #333
}

.remove-btn {
    background: #ffefef;
    border-color: #ff9b9b
}

@media print{
    .no-print{
        display:none;
    }
}

