body{margin:0;font-family:Meiryo,"Yu Gothic",sans-serif;background:#f4f7fb;color:#1f2937}
.wrap{max-width:1180px;margin:0 auto;padding:22px}.card{background:#fff;border:1px solid #dce3ea;border-radius:12px;padding:20px;margin:16px 0;box-shadow:0 2px 8px rgba(0,0,0,.04)}
h1{font-size:26px}h2{font-size:20px}.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.btn,button{display:inline-block;background:#0b5cab;color:#fff;border:0;border-radius:7px;padding:9px 14px;text-decoration:none;cursor:pointer}
.btn.gray{background:#64748b}.btn.red{background:#b42318}.notice{background:#e8f5ea;border-left:5px solid #2e7d32;padding:12px;margin:12px 0}
.error{background:#fdecec;border-left:5px solid #b42318;padding:12px;margin:12px 0}label{display:block;font-weight:bold;margin-top:12px}
input,select,textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cbd5e1;border-radius:7px;margin-top:5px}
table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e5e7eb;padding:10px;text-align:left;vertical-align:top}.table-wrap{overflow:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.kpi{background:#fff;border:1px solid #dce3ea;border-radius:10px;padding:16px}
.small{font-size:13px;color:#64748b}.secret{font-weight:bold;background:#fff8d8;padding:5px 9px;border-radius:5px}
@media(max-width:720px){.wrap{padding:12px}h1{font-size:22px}table{min-width:850px}}