:root{color:#1a1a1a;background:#f4f6f8;font-family:Segoe UI,Yu Gothic UI,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0}.app{max-width:1400px;margin:0 auto;padding:24px}header h1{margin:0 0 8px;font-size:1.6rem}header p{margin:0;color:#555}nav{display:flex;gap:8px;margin:20px 0}nav button,.toolbar button,.master-form button,table button{border:1px solid #cbd5e1;background:#fff;padding:8px 14px;border-radius:8px;cursor:pointer}nav button.active,button.primary{background:#2563eb;color:#fff;border-color:#2563eb}button.danger{color:#b91c1c}.message{background:#eff6ff;border:1px solid #bfdbfe;padding:12px 16px;border-radius:8px;margin-bottom:16px}.panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.upload-box{border:2px dashed #cbd5e1;border-radius:12px;padding:32px;text-align:center}.upload-label input{display:block;margin:12px auto 0}.toolbar{display:flex;gap:8px;margin:16px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{border-bottom:1px solid #e2e8f0;padding:8px;text-align:left;white-space:nowrap}th{background:#f8fafc;position:sticky;top:0}tr.warn{background:#fff7ed}.num,td.num{text-align:right}.num-input{width:72px}.master-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.master-form input{padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px}
