*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;
}

body{
    background:#dce6f2;
    padding:20px;
}

.container{
    width:100%;
    max-width:1500px;
    margin:auto;
    background:#fff;
    border:2px solid #4a89dc;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,.25);
}

header{
    background:linear-gradient(#2d89ef,#0057b8);
    color:#fff;
    padding:18px;
}

header h1{
    font-size:30px;
}

.top{
    display:grid;
    grid-template-columns:1fr 1fr 350px;
    gap:15px;
    padding:20px;
}

.card{
    background:#f8fbff;
    border:1px solid #bcd3ef;
    border-radius:8px;
    padding:15px;
}

.card h2{
    color:#0057b8;
    margin-bottom:12px;
    font-size:20px;
}

.card input,
.card textarea,
.card select{
    width:100%;
    padding:10px;
    margin-bottom:10px;
    border:1px solid #c7d7ea;
    border-radius:5px;
    font-size:15px;
}

.card textarea{
    height:110px;
    resize:none;
}

.invoice label{
    display:block;
    margin-top:5px;
    font-weight:600;
    color:#444;
}

.table-card{
    margin:0 20px 20px;
    border:1px solid #bcd3ef;
    border-radius:8px;
    overflow:hidden;
}

.table-card h2{
    background:#2d89ef;
    color:#fff;
    padding:12px;
}

table{
    width:100%;
    border-collapse:collapse;
}

th{
    background:#dbeeff;
    padding:12px;
    border:1px solid #cbd9ea;
}

td{
    border:1px solid #d9e5f3;
    padding:8px;
    text-align:center;
}

td input{
    width:100%;
    padding:8px;
    border:none;
    outline:none;
}

tbody tr:nth-child(even){
    background:#f8fbff;
}

tbody tr:hover{
    background:#edf5ff;
}

#addRow{
    margin:15px;
    padding:12px 25px;
    background:#28a745;
    color:white;
    border:none;
    border-radius:6px;
    cursor:pointer;
    font-size:16px;
}

.delete{
    background:#dc3545;
    color:white;
    border:none;
    padding:8px 12px;
    border-radius:5px;
    cursor:pointer;
}

.bottom{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:20px;
    padding:20px;
}

.notes{
    border:1px solid #bcd3ef;
    border-radius:8px;
    padding:15px;
}

.notes h2{
    color:#0057b8;
    margin-bottom:10px;
}

.notes textarea{
    width:100%;
    height:180px;
    resize:none;
    padding:10px;
}

.summary{
    border:1px solid #bcd3ef;
    border-radius:8px;
    padding:20px;
    background:#f7fbff;
}

.summary h2{
    color:#0057b8;
    margin-bottom:20px;
}

.row{
    display:flex;
    justify-content:space-between;
    margin-bottom:15px;
    font-size:18px;
}

.row input{
    width:100px;
    padding:5px;
    text-align:right;
}

.totalRow{
    border-top:2px solid #ccc;
    padding-top:15px;
    font-size:24px;
    font-weight:bold;
    color:#0066cc;
}

.buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    padding:25px;
    background:#edf4ff;
}

.buttons button{
    padding:12px 30px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    font-size:17px;
    color:white;
}

#save{
    background:#28a745;
}

.buttons button:nth-child(2){
    background:#007bff;
}

#clear{
    background:#dc3545;
}

.buttons button:hover,
#addRow:hover,
.delete:hover{
    opacity:.9;
    transform:scale(1.03);
    transition:.2s;
}

@media(max-width:1100px){

.top{
grid-template-columns:1fr;
}

.bottom{
grid-template-columns:1fr;
}

.buttons{
flex-wrap:wrap;
}

table{
font-size:14px;
}
}