*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,Segoe UI,Arial,sans-serif;color:#1d2733;background:#f3f5f8}
a{color:#1259a8;text-decoration:none}a:hover{text-decoration:underline}
.side{position:fixed;top:0;left:0;bottom:0;width:220px;background:#16283c;color:#cfd9e4;overflow:auto;padding-bottom:30px}
.side h1{font-size:17px;margin:0;padding:16px;color:#fff;border-bottom:1px solid #2a3f57}
.side h2{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:16px 16px 4px;color:#7f95ad}
.side a{display:block;padding:5px 16px;color:#cfd9e4}.side a:hover{background:#22384f;text-decoration:none}
.main{margin-left:220px;padding:18px 24px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.top h1{font-size:20px;margin:0}.card{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:16px;margin-bottom:16px}
table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:7px 9px;border-bottom:1px solid #e6ebf0;vertical-align:top}
th{font-size:12px;text-transform:uppercase;color:#5b6b7c;background:#f8fafc}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tfoot td{font-weight:600;background:#f8fafc}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #c5ced8;border-radius:5px;width:100%;background:#fff}
textarea{min-height:60px}input[type=checkbox]{width:auto}label{display:block;font-size:12px;color:#5b6b7c;margin-bottom:3px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.btn,button{display:inline-block;font:inherit;padding:7px 14px;border-radius:5px;border:1px solid #1259a8;background:#1259a8;color:#fff;cursor:pointer}
.btn:hover{text-decoration:none;background:#0e4886}.btn.alt,button.alt{background:#fff;color:#1259a8}.btn.red,button.red{background:#b3261e;border-color:#b3261e}
.row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.row>*{flex:0 0 auto;width:auto}
.flash{background:#fff4d6;border:1px solid #e8c56a;padding:9px 12px;border-radius:6px;margin-bottom:12px}
.tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#e6ebf0}.tag.Approved{background:#d6f1dd;color:#14602b}.tag.Void{background:#f6d9d6;color:#8a1c14}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.stat b{display:block;font-size:20px;margin-top:4px}
.login{max-width:360px;margin:8vh auto}.login .card>*{margin-bottom:10px}.totals{max-width:320px;margin-left:auto}.totals td{border:0;padding:4px 8px}
.lines input,.lines select{min-width:70px}.muted{color:#6b7a8a}
@media print{.side,.noprint{display:none!important}.main{margin:0;padding:0}body{background:#fff}.card{border:0}}
@media(max-width:800px){.side{position:static;width:auto}.main{margin-left:0}}
