:root{--blue:#2f7dd1;--deep:#1b5fb0;--ink:#1f2a33}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;background:#f2f7fd;color:var(--ink)}
.admin-wrap{max-width:1200px;margin:auto;padding:24px 16px 60px}
h1{font-size:22px;color:#16324f}
.admin-note{color:#5c7284;font-size:13px;line-height:1.6;margin-bottom:16px}
.admin-actions{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.btn-primary{border:0;border-radius:10px;padding:10px 18px;background:linear-gradient(90deg,#2f7dd1,#5aa9ff);color:#fff;font-weight:800;cursor:pointer}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-sm{border:1px solid #cfe0f2;border-radius:8px;padding:6px 10px;background:#fff;color:#1b5fb0;font-weight:700;cursor:pointer;font-size:12px}
.mapping-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(20,60,100,.08)}
.mapping-table th,.mapping-table td{padding:8px 10px;border-bottom:1px solid #eef3f9;font-size:12.5px;text-align:left;vertical-align:middle}
.mapping-table th{background:#eaf3ff;color:#1b5fb0;font-weight:800;position:sticky;top:0}
.mapping-table img{width:40px;height:56px;object-fit:contain;border-radius:4px;background:#f4f8fd}
.mapping-table input[type="number"]{width:100px;padding:6px;border:1px solid #cfe0f2;border-radius:6px}
.row-status{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px}
.row-status.ok{background:#e4fbf4;color:#008a67}
.row-status.warn{background:#fff4e0;color:#a06a00}
.row-status.err{background:#fde8e8;color:#c73b3b}
