*{box-sizing:border-box}body{font-family:system-ui,sans-serif;margin:0;background:#f4f5f7;color:#1b1f24}
header.top{background:#1d3557;color:#fff;padding:.8rem 1rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
header.top a{color:#fff;text-decoration:none;margin-right:1rem}header.top strong{font-size:1.1rem;margin-right:auto}
main{max-width:900px;margin:1rem auto;padding:0 .8rem}
.card{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 3px #0002}
h1{font-size:1.5rem}h2{font-size:1.1rem;margin-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}
label{display:flex;flex-direction:column;font-size:.85rem;gap:.2rem}
input,select,textarea{font:inherit;padding:.45rem;border:1px solid #bbb;border-radius:5px;width:100%}
button{font:inherit;padding:.5rem .9rem;border:0;border-radius:5px;background:#e63946;color:#fff;cursor:pointer}
button.sec{background:#457b9d}button.x{background:#999;padding:.3rem .6rem}
table{width:100%;border-collapse:collapse}td,th{padding:.3rem;border-bottom:1px solid #ddd;text-align:left;font-size:.9rem}
.totals td{text-align:right}.num{text-align:right}
.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
footer{text-align:center;font-size:.85rem;color:#555;padding:2rem 1rem}
#doc{display:none}
.card{overflow-x:auto}td input{min-width:0}@media(max-width:600px){.items td{padding:.15rem}.items input{padding:.3rem;font-size:.85rem;min-width:52px}table{font-size:.8rem}}
@media print{body{background:#fff}header.top,footer,.noprint,.card.form{display:none!important}#doc{display:block!important}main{max-width:none;margin:0}.card{box-shadow:none}}
