*{box-sizing:border-box}body{font-family:-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;margin:0;background:#f6f3ee;color:#333}
header{background:#6b4f3a;color:#fff;padding:12px 16px;font-weight:bold;display:flex;justify-content:space-between;align-items:center}header a{color:#fff;font-size:13px}
#app{max-width:900px;margin:auto;padding:12px}.card{background:#fff;border-radius:10px;padding:14px;margin-bottom:12px;box-shadow:0 1px 3px #0001}
label{display:block;font-size:13px;margin:8px 0 4px;color:#666}input,select,textarea{font-size:16px;padding:8px;border:1px solid #ccc;border-radius:6px;width:100%}
button{font-size:16px;padding:10px 16px;border:0;border-radius:8px;background:#6b4f3a;color:#fff;margin-top:10px;cursor:pointer}button.sub{background:#999}button.del{background:#b33}
.grid{width:100%;border-collapse:collapse}.grid th,.grid td{border-bottom:1px solid #eee;padding:3px;text-align:center;font-size:13px}.grid tbody th{text-align:left;white-space:nowrap}
.grid input{padding:6px;text-align:center;width:100%;min-width:48px}.err{color:#b33}.ok{color:#2a7}.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1;min-width:140px}
.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th,.tbl td{border:1px solid #ddd;padding:4px 6px}.tbl td.n{text-align:right}.scroll{overflow-x:auto}
