:root{--ink:#222;--muted:#666;--line:#ccc;--bg:#f7f5ef;--card:#fff;--accent:#7a5a1e;--warn:#9a3b00;--ok:#2f6b3a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;line-height:1.7}
main{max-width:1000px;margin:0 auto;padding:16px}
main.doc{max-width:760px}
h1{font-size:1.6rem;line-height:1.35;margin:.4em 0}
h2{font-size:1.2rem;margin-top:1.6em}
.box h2:first-child{margin-top:0}
a{color:#2b5d8f;word-wrap:break-word}
.small{font-size:.85rem;color:var(--muted)}
.pr-notice{font-size:.8rem;color:var(--muted);margin:0}
.box{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;margin:14px 0;min-width:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.grp{border:1px solid #e2dccd;border-radius:8px;padding:8px 10px;background:#fffdf7;min-width:0}
.grp b{display:block;margin-bottom:2px}
label.f{display:block;font-size:.88rem;font-weight:700;min-width:0;margin:4px 0}
.u{display:flex;align-items:center;gap:4px;font-weight:400}
input[type=number],input[type=date],select{display:block;width:100%;min-width:0;font:inherit;font-size:1rem;padding:8px;border:1px solid #bbb;border-radius:6px;background:#fff;color:var(--ink);margin-top:2px}
.u input{flex:1}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
button{font:inherit;font-size:.95rem;padding:8px 14px;border:1px solid var(--accent);border-radius:8px;background:#fff;color:var(--accent);cursor:pointer}
button.main{background:var(--accent);color:#fff;font-weight:700}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
.card b{display:block;font-size:1.3rem;line-height:1.3}
.card span{display:block;font-size:.8rem;color:var(--muted)}
.card.alert{border-color:var(--warn)}
.card.alert b{color:var(--warn)}
.warn{color:var(--warn);font-size:.92rem}
.warn p{margin:.3em 0}
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:#fff;font-size:.92rem}
th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:middle}
td.n,th.n{text-align:right;white-space:nowrap}
tr.best td{background:#fff6e0}
tr.ok td:last-child{color:var(--ok);font-weight:700}
tr.mid td:last-child{color:#8a6d00;font-weight:700}
tr.ng td:last-child{color:var(--warn);font-weight:700}
.bar{height:6px;background:#eee;border-radius:3px;margin-top:3px;margin-left:auto;max-width:120px}
.bar i{display:block;height:6px;background:var(--accent);border-radius:3px}
.tag{display:inline-block;font-size:.75rem;border:1px solid var(--accent);color:var(--accent);border-radius:4px;padding:0 4px;white-space:nowrap}
.empty{color:var(--muted);text-align:center;padding:18px}
.pr{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:20px 0}
.pr-label{margin:0;font-size:.85rem;color:var(--muted)}
.pr ul{margin:.3em 0;padding-left:1.2em}
footer{max-width:1000px;margin:30px auto 0;padding:16px;border-top:1px solid var(--line);font-size:.85rem;display:flex;flex-wrap:wrap;gap:12px}
footer p{width:100%;margin:0;color:var(--muted)}
#sheet{display:none}
@media print{
  @page{size:A4 portrait;margin:12mm}
  body{background:#fff}
  footer,.noprint,.np,.pr,h1,.pr-notice,#cards,#warn{display:none!important}
  main{padding:0;max-width:none}
  #sheet{display:block;font-size:10pt}
  #sheet h2{font-size:14pt;margin:0 0 4pt}
  #sheet h3{font-size:12pt;margin:12pt 0 4pt}
  #sheet th,#sheet td{padding:4pt 5pt}
  #sheet tbody th{width:32%;background:#f3f3f3}
  #sheet .rec td{height:11mm}
}
.mt td input,.mt td select{margin:0;padding:6px;font-size:.92rem}
.mt td{min-width:90px}
.mt td.nm{min-width:130px}
.chk li{list-style:none;margin:.2em 0}
.chk{padding-left:.4em}
