*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:#f4f6f8;color:#222}
a{color:#0056b3;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:16px}
.nav a{margin-right:12px;font-weight:700}
form,table{background:#fff;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
form{padding:16px}
label{display:block;margin:10px 0 6px;font-weight:700}
input,select,textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}
textarea{min-height:90px}
button{padding:8px 16px;border:0;border-radius:4px;background:#2563eb;color:#fff;cursor:pointer}
button:hover{background:#1d4ed8}
.btn2{background:#6b7280}
.btn2:hover{background:#4b5563}
table{width:100%;border-collapse:collapse;margin-top:12px}
th,td{border:1px solid #ddd;padding:8px;vertical-align:top}
th{background:#f1f5f9}
.alert{padding:10px 14px;border-radius:4px;margin:12px 0}
.err{background:#fee2e2;color:#991b1b}
.ok{background:#dcfce7;color:#166534}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#e5e7eb}
.badge.ok{background:#16a34a;color:#fff}
.badge.ng{background:#dc2626;color:#fff}
