:root{--navy:#1f3864;--grey:#595959;--lg:#f2f2f2;--line:#d9d9d9;--yellow:#fff2a8;--green:#2e7d32;--red:#c00000}
*{box-sizing:border-box}body{margin:0;font:14px/1.4 Arial,Helvetica,sans-serif;color:#111;background:#f7f8fa}
.top{background:var(--navy);color:#fff;display:flex;align-items:center;gap:16px;padding:0 16px;flex-wrap:wrap}
.brand{font-weight:bold;font-size:16px;padding:12px 0}.top nav{display:flex;flex-wrap:wrap;flex:1}
.top a{color:#dbe4f5;text-decoration:none;padding:12px 10px}.top a:hover,.top a.on{background:#2b4a85;color:#fff}.logout{margin-left:auto}
main{padding:16px;max-width:1400px;margin:0 auto}footer{text-align:center;color:#888;padding:20px;font-size:12px}
h1{font-size:20px;color:var(--navy);margin:0 0 12px}h2{font-size:14px;margin:0 0 8px;color:#fff;background:var(--grey);padding:7px 10px}
.panel{background:#fff;border:1px solid var(--line);margin-bottom:16px}.panel .in{padding:10px}
.flash{padding:10px 14px;margin-bottom:12px;border:1px solid}.flash.ok{background:#e2efda;border-color:#a9d18e}.flash.warn{background:#fff2cc;border-color:#ffd966}.flash.err{background:#f8cbad;border-color:#e69a6e}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px;background:#fff;padding:10px;border:1px solid var(--line)}
.filters label,.form label{display:flex;flex-direction:column;font-size:12px;font-weight:bold;gap:3px}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #b5b5b5;background:#fff;min-width:0}
input.y,select.y{background:var(--yellow);font-weight:bold}
button,.btn{font:inherit;background:var(--navy);color:#fff;border:0;padding:7px 14px;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:#7f7f7f}button.del{background:#b03030;padding:3px 8px;font-size:12px}
.form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#fff;border:1px solid var(--line);padding:12px;margin-bottom:14px}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.cards{grid-template-columns:repeat(2,1fr)}}
.card{background:#fff;border:1px solid var(--line);text-align:center}.card .l{background:var(--lg);color:var(--grey);font-size:11px;font-weight:bold;padding:5px;min-height:30px;display:flex;align-items:center;justify-content:center}
.card .v{font-size:19px;font-weight:bold;color:var(--navy);padding:9px 4px}.card .v.g{color:var(--green)}.card .v.r{color:var(--red)}
table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid var(--line);padding:5px 8px;text-align:left;vertical-align:middle}
th{background:var(--lg);font-size:12px;text-align:center}td.n,th.n{text-align:right}tr.tot td{background:var(--lg);font-weight:bold}
tr.day td{background:#e2efda}.tablewrap{overflow-x:auto}
.neg{color:var(--red)}.zero{color:#aaa}.muted{color:#777;font-size:12px}
.st-ok{background:#c6e0b4;color:#375623}.st-low{background:#ffe699;color:#7f6000}.st-out{background:#f8cbad;color:var(--red)}.st-rate{background:#bdd7ee;color:#1f4e79}
.chk{background:#f8cbad;color:var(--red);font-weight:bold}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.grid2{grid-template-columns:1fr}}
.bars .bar-row{display:flex;align-items:center;gap:8px;padding:2px 0}.bar-l{width:62px;font-size:12px}.bar-t{flex:1;background:var(--lg);height:14px}.bar{display:block;height:14px;background:var(--navy)}.bar-neg{background:var(--red)}.bar-v{width:80px;text-align:right;font-size:12px}
.login{max-width:340px;margin:80px auto;background:#fff;border:1px solid var(--line);padding:24px}.login label{display:block;margin-bottom:12px;font-weight:bold;font-size:12px}.login input{width:100%}
.small{font-size:12px}.right{text-align:right}
.printhead{display:none}
@media print{.top,.filters,.form,footer,.noprint,button,.btn,.flash{display:none!important}main{padding:0;max-width:none}body{background:#fff}.panel{border:0}h2{background:#fff;color:#000;border-bottom:2px solid #000;padding-left:0}
 .printhead{display:block;margin-bottom:10px}.printhead b{font-size:18px}tr{page-break-inside:avoid}}
details.quick{background:#fff;border:1px solid var(--line);padding:8px 12px;margin-bottom:14px}details.quick summary{cursor:pointer;font-weight:bold;color:var(--navy)}
.tabs a{display:inline-block;margin:0 6px 6px 0}.chip{display:inline-block;background:var(--lg);padding:2px 8px;font-size:12px;border:1px solid var(--line)}
.badge-open{background:#ffe699;color:#7f6000;padding:2px 8px;font-size:12px;font-weight:bold}.badge-done{background:#c6e0b4;color:#375623;padding:2px 8px;font-size:12px;font-weight:bold}
