*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;color:#1f2937;background:#f8fafc}
header,main,footer{max-width:1000px;margin:0 auto;padding:16px}header h1{margin:0;font-size:24px}header p{margin:4px 0 0;color:#475569}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
label{display:block;font-size:13px;color:#334155}input,select,textarea{width:100%;padding:7px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;margin-top:3px}
textarea{font-family:ui-monospace,Consolas,monospace;font-size:12px}button{padding:9px 14px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font:inherit}
button.primary{background:#2563eb;color:#fff;border-color:#2563eb}table{border-collapse:collapse;width:100%;font-size:12px}th,td{border:1px solid #e2e8f0;padding:4px 6px;text-align:left}
tr.bad td{background:#fef2f2}td.err{color:#b91c1c}.msg{padding:8px;border-radius:6px;margin-top:8px;white-space:pre-wrap}.ok{background:#ecfdf5;color:#065f46}.errbox{background:#fef2f2;color:#991b1b}
.warn{background:#fffbeb;color:#92400e}.hide{display:none}.small{font-size:12px;color:#64748b}.badge{display:inline-block;background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:9px;font-size:11px}
nav a{margin-right:12px}footer{font-size:12px;color:#64748b}
.tablewrap{overflow:auto;max-height:420px;margin-top:10px}td.num{text-align:right;font-variant-numeric:tabular-nums}table{border-collapse:collapse;font-size:12px}th,td{border:1px solid #e2e8f0;padding:3px 6px;white-space:nowrap}
.inv{cursor:default}.inv td.act{white-space:nowrap}.st-ok{color:#065f46}.st-round{color:#92400e}.st-warn{color:#b91c1c;font-weight:600}.st-na{color:#64748b}
#printArea{display:none}.pv h2{margin:0 0 4px}.pv .two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:10px 0}.pv table{width:100%}.pv td,.pv th{white-space:normal}
.pv .tot{text-align:right;font-size:15px;margin-top:8px}.pv .note{font-size:11px;color:#64748b;margin-top:12px}
@media print{body>*:not(#printArea){display:none!important}#printArea{display:block!important}body{background:#fff}.pv{max-width:none;padding:0}}
