:root{--ac:#d9480f;--ac-d:#b83a08;--ac-l:#fde8dc;--ac-ll:#fff6f1;--bd:#e3e3e3;--bg:#f3f3f3;--tx:#222;--sub:#777;
 --red:#d32f2f;--grn:#2e8b57;--blu:#1f6fd6;--yel:#b7791f;--yel-l:#fff4d6}
*{box-sizing:border-box}
body{margin:0;font-family:"Noto Sans JP",system-ui,sans-serif;font-size:16px;line-height:1.5;color:var(--tx);background:var(--bg)}
a{color:var(--blu);text-decoration:none}a:hover{text-decoration:underline}
header.top{background:#fff;border-top:4px solid var(--ac);min-height:60px;display:flex;align-items:center;padding:0 20px;gap:22px;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--bd);flex-wrap:wrap}
.logo{font-weight:700;font-size:21px;color:var(--ac);white-space:nowrap;display:flex;align-items:center;gap:8px}.logo:hover{text-decoration:none}
.logo small{font-size:13px;color:var(--sub);font-weight:500;letter-spacing:1px}
nav.main{display:flex;gap:4px;flex:1;flex-wrap:wrap}
nav.main a{font-weight:700;color:var(--tx);padding:8px 12px;border-radius:8px;white-space:nowrap}nav.main a:hover{background:var(--ac-ll);text-decoration:none}nav.main a.cur{color:var(--ac);background:var(--ac-l)}
.hdr-right{display:flex;align-items:center;gap:12px;color:var(--sub);font-size:15px}.hdr-right a{color:var(--sub)}
main{padding:0 20px 60px;max-width:1500px;margin:0 auto}
.page-head{display:flex;align-items:center;gap:14px;padding:18px 0 12px;flex-wrap:wrap}
.page-head h1{font-size:24px;margin:0}.page-head .sp{flex:1}
.btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--ac);background:#fff;color:var(--ac);border-radius:7px;padding:8px 16px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;font-size:15px}
.btn:hover{background:var(--ac-ll);text-decoration:none}.btn.pri{background:var(--ac);color:#fff}.btn.pri:hover{background:var(--ac-d)}
.btn.sm{padding:4px 10px;font-size:15px}.btn.gray{border-color:#bbb;color:#555}.btn.gray:hover{background:#f5f5f5}.btn.grn{border-color:var(--grn);color:var(--grn)}.btn.grn.on,.btn.grn:hover{background:#e6f4ea}
.btn.red{border-color:var(--red);color:var(--red)}.btn.red.on,.btn.red:hover{background:#fdecea}.btn.yel{border-color:var(--yel);color:var(--yel)}.btn.yel.on,.btn.yel:hover{background:var(--yel-l)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.card{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:16px 18px;margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}
.chip{border:1px solid var(--bd);background:#fff;border-radius:999px;padding:5px 13px;font-size:15px;color:var(--tx);white-space:nowrap}
.chip:hover{text-decoration:none;border-color:var(--ac)}.chip.on{background:var(--ac-l);border-color:var(--ac);color:var(--ac-d);font-weight:700}
.chips .sep{width:1px;height:20px;background:var(--bd);margin:0 4px}
input[type=text],input[type=password],textarea,select{border:1px solid #ccc;border-radius:7px;padding:8px 10px;font:inherit;font-size:16px;background:#fff}
textarea{width:100%;min-height:120px}
.tbl-wrap{overflow:auto;background:#fff;border:1px solid var(--bd);border-radius:10px}
table.t{border-collapse:collapse;width:100%}
table.t th{background:#f7f7f7;font-size:14px;font-weight:600;color:#555;text-align:left;padding:9px 8px;border-bottom:1px solid var(--bd);white-space:nowrap;position:sticky;top:0}
table.t td{padding:10px 8px;border-bottom:1px solid #eee;vertical-align:top}
table.t tr:hover td{background:#fffaf7}
.r{text-align:right}.c{text-align:center}.nw{white-space:nowrap}
.st{display:inline-block;font-weight:700;font-size:14px;border-radius:5px;padding:2px 8px;white-space:nowrap}
.st.未作成{background:#eee;color:#555}.st.作成待ち{background:#e9f2fd;color:var(--blu)}.st.作成中{background:#e9f2fd;color:var(--blu)}
.st.確認待ち{background:var(--yel-l);color:var(--yel)}.st.反映済み{background:#e6f4ea;color:var(--grn)}.st.見送り{background:#eee;color:#888}.st.エラー{background:#fdecea;color:var(--red)}
.tag{display:inline-block;font-size:13px;border-radius:4px;padding:1px 6px;white-space:nowrap}.tag.warn{background:var(--yel-l);color:var(--yel)}.tag.err{background:#fdecea;color:var(--red)}.tag.ok{background:#e6f4ea;color:var(--grn)}.tag.info{background:#e9f2fd;color:var(--blu)}.tag.gray{background:#eee;color:#666}
.prod{display:flex;gap:10px;min-width:300px}.prod img{width:60px;height:60px;object-fit:contain;border:1px solid #eee;border-radius:6px;background:#fff;flex:none}
.prod .ttl{font-size:15px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.small{font-size:14px;color:var(--sub)}.big{font-size:18px;font-weight:700}
.notice{background:var(--yel-l);border:1px solid #f2d99a;border-radius:8px;padding:10px 14px;margin:0 0 14px;color:#6b4a00}
.notice.err{background:#fdecea;border-color:#f3b9b3;color:#8a1c14}.notice.ok{background:#e6f4ea;border-color:#b7dfc4;color:#1d5a35}
.err{color:var(--red);font-weight:700;margin:8px 0}
.login{max-width:420px;margin:80px auto;padding:28px}.login input{width:100%;margin-bottom:12px}.login .logo{justify-content:center;margin-bottom:12px}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#333;color:#fff;padding:10px 20px;border-radius:8px;opacity:0;transition:.2s;pointer-events:none;z-index:50;font-size:15px}.toast.show{opacity:1}
.sum{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px}.sum .card{padding:10px 16px;margin:0;min-width:150px}.sum .k{font-size:13px;color:var(--sub)}.sum .v{font-size:20px;font-weight:700}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.grid2{grid-template-columns:1fr}}
.title-box{font-size:17px;line-height:1.6;background:#fafafa;border:1px solid var(--bd);border-radius:8px;padding:10px 12px;word-break:break-word}
.title-box.new{background:#fff8f3;border-color:#f3c8b1}
.cnt{font-size:14px;color:var(--sub)}.cnt.over{color:var(--red);font-weight:700}
.kw{display:inline-block;background:#f0f0f0;border-radius:4px;padding:1px 7px;font-size:14px;margin:2px}
.imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.slot{border:1px solid var(--bd);border-radius:10px;background:#fff;padding:10px;display:flex;flex-direction:column;gap:6px}
.slot img{width:100%;aspect-ratio:1;object-fit:contain;background:#fafafa;border-radius:6px;cursor:zoom-in}
.slot .cap{font-weight:700;font-size:15px}.slot .texts{font-size:13px;color:var(--sub);white-space:pre-wrap}
.slot.ok{border-color:var(--grn);box-shadow:0 0 0 2px #e6f4ea}.slot.redo{border-color:var(--yel);box-shadow:0 0 0 2px var(--yel-l)}.slot.reject{opacity:.55}
.now-imgs{display:flex;gap:6px;flex-wrap:wrap}.now-imgs img{width:100px;height:100px;object-fit:contain;border:1px solid #eee;border-radius:6px;background:#fff;cursor:zoom-in}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:100;cursor:zoom-out}.lightbox img{max-width:92vw;max-height:92vh}
details summary{cursor:pointer;color:var(--blu);font-size:15px}
pre{white-space:pre-wrap;font-size:13px;background:#f7f7f7;padding:8px;border-radius:6px}
.form-row{display:grid;grid-template-columns:420px 1fr;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #eee}
@media(max-width:800px){.form-row{grid-template-columns:1fr}}
