*{box-sizing:border-box}body{margin:0;font:15px/1.4 system-ui,sans-serif;background:#f4f5f7;color:#1c1f24}
nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#1c1f24;color:#fff;padding:10px 16px}
nav a{color:#cfd6e0;text-decoration:none}nav a:hover{color:#fff}.sp{flex:1}
main{max-width:1000px;margin:0 auto;padding:16px}
h1{font-size:22px}h2{font-size:17px;margin-top:24px}
.card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px #0001}.narrow{max-width:460px;margin:16px auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.big{font-size:26px;font-weight:700;margin:4px 0}
label{display:block;margin:10px 0;font-weight:600}label input,label select{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid #c9ced6;border-radius:6px;font:inherit}
button,.btn{padding:9px 14px;border:0;border-radius:6px;background:#2563eb;color:#fff;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.danger{background:#b91c1c}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters input,.filters select{padding:9px;border:1px solid #c9ced6;border-radius:6px}
.tablewrap{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0001}
table{border-collapse:collapse;width:100%}th,td{padding:8px 10px;border-bottom:1px solid #eceff3;text-align:left;white-space:nowrap}
th{background:#f8f9fb;font-size:13px}.r{text-align:right}tr.low td{background:#fff4f4}.neg{color:#b91c1c}.pos{color:#15803d}
.flash{padding:10px 12px;border-radius:6px;margin:10px 0}.flash.ok{background:#e6f6ec;color:#14532d}.flash.err{background:#fde8e8;color:#7f1d1d}
.muted{color:#6b7280;font-weight:400}form.inline{display:inline-flex;gap:6px;margin:2px 4px 2px 0}form.inline input{padding:6px}
textarea{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid #c9ced6;border-radius:6px;font:inherit}
tr.tot td{font-weight:700;background:#f1f4f9;border-top:2px solid #c9ced6}
