/* 価格改定モジュール（実機 price/*.php と同じ見た目）。2026-10-08（§133）。
   実機の各ページのCSSを、パネルごとのクラス（.rp-top / .rp-pv / .rp-cfg /
   .rp-inv / .rp-lim）の中だけに効くようにしたもの。背景・body指定は除外。 */

/* ===== ダッシュボード（top.php） ===== */
.rp-top { padding:16px; color:#111827; }
.rp-top h1 { margin:0 0 12px; font-size:22px; letter-spacing:.06em; }
.rp-top .pt-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
.rp-top .pt-card { border:1px solid #e5e7eb; border-radius:12px; padding:16px; background:#fff; }
.rp-top .pt-h { font-size:16px; font-weight:700; margin:0 0 12px; }
.rp-top .pt-stats .row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed #e5e7eb; }
.rp-top .pt-stats .row:last-child { border-bottom:none; }
.rp-top .pt-muted { color:#6b7280; font-size:12px; }
.rp-top .pt-badges { display:flex; gap:8px; align-items:center; margin:8px 0 0; }
.rp-top .pt-badge { font-size:12px; padding:2px 8px; border-radius:999px; border:1px solid #e5e7eb; background:#f9fafb; }
.rp-top .pt-badge.run { background:#ecfdf5; border-color:#A7F3D0; color:#065F46; }
.rp-top .pt-badge.stop { background:#FEF2F2; border-color:#FECACA; color:#991B1B; }
.rp-top .pt-btns { display:flex; gap:8px; flex-wrap:wrap; }
.rp-top .pt-btn { cursor:pointer; border:1px solid #d1d5db; background:#fff; padding:10px 14px; border-radius:10px; font-size:14px; }
.rp-top .pt-btn.primary { background:#2563eb; color:#fff; border-color:#1d4ed8; }
.rp-top .pt-btn.danger { background:#dc2626; color:#fff; border-color:#b91c1c; }
.rp-top .pt-log { white-space:pre-wrap; font-family:ui-monospace,Consolas,Menlo,monospace; background:#0b1220; color:#e5edff; padding:12px; border-radius:10px; max-height:320px; overflow:auto; font-size:16px; }
.rp-top .pt-logline { display:block; }
.rp-top .pt-logline.change { color:#facc15; font-weight:800; }
.rp-top .pt-logline .sku a { color:inherit; text-decoration:underline; }
.rp-top .pt-logline.minmax { color:#ff8c00; }
.rp-top .pt-logline.report-ok { color:#22c55e; font-weight:800; }
.rp-top details.pt-card summary { cursor:pointer; }
@media (max-width:960px) {
  .rp-top .pt-grid { grid-template-columns:1fr; }
  .rp-top .pt-log { font-size:11px; line-height:1.25; }
}
@media (max-width:480px) { .rp-top .pt-log { font-size:10px; line-height:1.2; } }

/* ===== 値付けプレビュー（preview_pricing_debug.php） ===== */
.rp-pv { padding:12px; color:#111827; }
.rp-pv h2 { font-size:20px; margin:0 0 10px; }
.rp-pv fieldset { border:1px solid #ccc; padding:10px; }
.rp-pv .debug-section { background:rgba(240,240,240,.92); border-radius:12px; border:1px solid #d8d8d8; box-shadow:0 6px 18px rgba(0,0,0,.08); }
.rp-pv .debug-section legend { font-weight:600; padding:0 6px; }
.rp-pv .row { display:flex; gap:10px; flex-wrap:wrap; }
.rp-pv .col { min-width:220px; flex:1; }
.rp-pv label { display:block; font-size:12px; color:#333; margin-bottom:4px; }
.rp-pv input[type="text"], .rp-pv input[type="number"], .rp-pv select { width:100%; padding:6px; box-sizing:border-box; }
.rp-pv .hint { color:#666; font-size:12px; }
.rp-pv table { border-collapse:collapse; width:100%; margin-top:8px; table-layout:fixed; }
.rp-pv th, .rp-pv td { border:1px solid #ddd; padding:6px; font-size:12px; }
.rp-pv th { background:#f6f6f6; }
.rp-pv .btn { padding:6px 10px; cursor:pointer; }
.rp-pv .btnline { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:8px; }
.rp-pv .actions { display:flex; gap:10px; align-items:center; margin-top:8px; }
.rp-pv .btn-primary { background:#2f6df6; color:#fff; font-size:15px; font-weight:600; padding:10px 18px; border:none; border-radius:8px; cursor:pointer; }
.rp-pv .btn-primary:hover { background:#2458d8; }
.rp-pv .pv-result { margin-top:12px; border:1px solid #bbb; background:#fff; padding:12px; border-radius:4px; }
.rp-pv .pv-result h3 { font-size:15px; margin:14px 0 6px; border-bottom:1px solid #ddd; padding-bottom:4px; }
.rp-pv .pv-kv { display:grid; grid-template-columns:260px 1fr; gap:4px 12px; font-size:13px; }
.rp-pv .pv-kv .k { color:#555; }
.rp-pv .pv-error { color:#b91c1c; font-weight:700; }
.rp-pv tr.strike-red td, .rp-pv tr.strike-blue td, .rp-pv tr.strike-seller-excluded td, .rp-pv tr.strike-peer td { text-decoration:line-through; }
.rp-pv tr.strike-red td { color:#dc2626; }
.rp-pv tr.strike-blue td { color:#2563eb; }
.rp-pv tr.strike-seller-excluded td { color:#6b7280; }
.rp-pv .pv-legend span { display:inline-block; margin-right:10px; font-size:12px; text-decoration:line-through; }
.rp-pv .pv-final { font-size:15px; font-weight:700; }

/* ===== 値付け設定（pricing_config_edit.php） ===== */
.rp-cfg { color:#111827; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Hiragino Kaku Gothic ProN','Noto Sans JP','Yu Gothic','Meiryo',sans-serif; }
.rp-cfg .wrap { max-width:1600px; margin:0 auto; }
.rp-cfg h1 { font-size:20px; margin:0 0 16px; display:flex; align-items:center; justify-content:space-between; }
.rp-cfg h2 { font-size:16px; margin:24px 0 8px; }
.rp-cfg fieldset { border:2px solid #c8c8c8; padding:16px; border-radius:12px; background:#fafafa; }
.rp-cfg .col { display:block; margin:10px 0; }
.rp-cfg label { font-weight:600; display:inline-block; margin:0 8px 6px 0; }
.rp-cfg input[type=text], .rp-cfg input[type=number], .rp-cfg textarea, .rp-cfg select { padding:8px; border:1px solid #ccc; border-radius:8px; }
.rp-cfg input[type=text] { width:100%; box-sizing:border-box; }
.rp-cfg .help { color:#666; font-size:12px; }
.rp-cfg .note { background:#f6ffed; border:1px solid #b7eb8f; padding:10px; border-radius:8px; margin:12px 0; }
.rp-cfg .error { background:#fff1f0; border:1px solid #ffa39e; padding:10px; border-radius:8px; margin:12px 0; }
.rp-cfg .success { background:#e6fffb; border:1px solid #87e8de; padding:10px; border-radius:8px; margin:12px 0; }
.rp-cfg .pattern-card { border:1px solid #ddd; border-radius:12px; padding:12px; margin-bottom:12px; }
.rp-cfg button { padding:10px 16px; border-radius:10px; border:1px solid #555; background:#111; color:#fff; cursor:pointer; }
.rp-cfg .btn-plain { padding:8px 12px; border-radius:8px; border:1px solid #bbb; background:#f8f8f8; color:#111; cursor:pointer; }
.rp-cfg .btn-ghost { padding:8px 12px; border:1px solid #bbb; background:#fff; color:#111; border-radius:8px; }
.rp-cfg table { width:100%; border-collapse:collapse; }
.rp-cfg th, .rp-cfg td { border:1px solid #e5e5e5; padding:8px; text-align:left; vertical-align:middle; }
.rp-cfg th { background:#fafafa; }
.rp-cfg .checkbox-list { display:grid; grid-template-columns:1fr; gap:6px; }
.rp-cfg .checkbox-item { display:flex; align-items:center; gap:10px; }
.rp-cfg .boxed { border:1px solid #ddd; padding:12px; border-radius:10px; background:#fcfcfc; }
.rp-cfg .boxed-thin { border:1px solid #e5e5e5; border-radius:10px; padding:10px; background:#fff; }
.rp-cfg .boxed-title { font-weight:700; margin-bottom:8px; font-size:13px; color:#333; }
.rp-cfg .inline { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rp-cfg .num { width:6.5em; text-align:right; padding:6px; }
.rp-cfg .unit { margin-left:4px; color:#555; }
.rp-cfg .right { float:right; }
.rp-cfg .nowrap { white-space:nowrap; }
.rp-cfg .danger { border-color:#d33 !important; color:#d33 !important; }
.rp-cfg .spacer { margin-left:16px; }
.rp-cfg .muted { color:#666; font-size:12px; }
.rp-cfg .actions { position:fixed; right:18px; bottom:18px; z-index:900; background:rgba(0,102,204,.95); border:1px solid rgba(255,255,255,.18); padding:10px; border-radius:14px; box-shadow:0 10px 30px rgba(0,0,0,.28); }
.rp-cfg .actions .btn-save { padding:10px 18px; border-radius:12px; border:1px solid rgba(255,255,255,.35); background:#0b63ff; color:#fff; font-weight:700; cursor:pointer; }
.rp-cfg .is-error, .rp-cfg .is-warn { background:#fff1f0 !important; border-color:#ff4d4f !important; box-shadow:0 0 0 2px rgba(255,77,79,.12); }
.rp-cfg .period-table-wrap { width:100%; max-width:100%; background:#fff; overflow-x:auto; }
.rp-cfg .period-table { width:100%; border-collapse:collapse; table-layout:auto; }
.rp-cfg .period-table th:first-child { width:180px; min-width:180px; font-size:12px; line-height:1.35; }
.rp-cfg .condition-only-badge { display:inline-block; margin-bottom:4px; padding:2px 6px; border:1px solid #bbb; border-radius:999px; background:#f7f7f7; color:#555; font-size:10px; font-weight:600; line-height:1.2; white-space:nowrap; }
.rp-cfg .th-help { position:relative; }
.rp-cfg .help-icon { display:inline-block; width:18px; height:18px; line-height:18px; text-align:center; border-radius:50%; background:#666; color:#fff; font-size:12px; cursor:help; }
.rp-cfg .help-popup { display:none; position:absolute; left:0; top:100%; z-index:50; width:420px; background:#fff; border:1px solid #ccc; border-radius:8px; padding:10px; font-weight:400; font-size:12px; box-shadow:0 6px 18px rgba(0,0,0,.15); }
.rp-cfg .th-help:hover .help-popup, .rp-cfg .help-icon:focus + .help-popup { display:block; }
@media (max-width:768px) {
  .rp-cfg fieldset, .rp-cfg .pattern-card { padding:8px; }
  .rp-cfg .period-table-wrap { overflow-x:auto; max-height:72vh; border:1px solid #e5e5e5; border-radius:10px; }
  .rp-cfg .period-table { width:720px !important; min-width:720px !important; table-layout:fixed; }
  .rp-cfg .period-table th, .rp-cfg .period-table td { width:88px; min-width:88px; padding:4px; font-size:11px; word-break:break-all; }
  .rp-cfg .period-table th:first-child { width:120px; min-width:120px; position:sticky; left:0; z-index:3; background:#fafafa; }
  .rp-cfg .help-popup { width:260px; }
}

/* ===== 在庫データ（edit_listing_inventory.php） ===== */
.rp-inv { padding:16px; color:#111827; }
.rp-inv h1 { font-size:22px; margin:0 0 12px; letter-spacing:.06em; }
.rp-inv .card { border:1px solid #e5e7eb; border-radius:12px; padding:12px; background:#fff; }
.rp-inv .filters { display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:10px; }
.rp-inv .filters .field { display:flex; flex-direction:column; gap:4px; }
.rp-inv label { font-size:12px; color:#374151; }
.rp-inv input, .rp-inv select { padding:8px 10px; border:1px solid #d1d5db; border-radius:10px; }
.rp-inv .btn { cursor:pointer; border:1px solid #d1d5db; background:#fff; padding:10px 14px; border-radius:10px; }
.rp-inv .btn.primary { background:#2563eb; border-color:#1d4ed8; color:#fff; }
.rp-inv .btn.gray { background:#f3f4f6; border-color:#d1d5db; color:#111827; }
.rp-inv .scrollWrap { margin-top:12px; border:1px solid #e5e7eb; border-radius:12px; overflow:auto; max-height:calc(100vh - 360px); }
.rp-inv table { width:100%; border-collapse:separate; border-spacing:0; }
.rp-inv thead th { position:sticky; top:0; z-index:20; background:#f9fafb; border-bottom:1px solid #e5e7eb; padding:10px; font-size:12px; text-align:left; white-space:nowrap; }
.rp-inv tbody td { border-bottom:1px solid #eef2f7; padding:10px; vertical-align:middle; font-size:13px; background:#fff; }
.rp-inv tbody tr:hover td { background:#fafafa; }
.rp-inv .thumb { width:48px; height:48px; border-radius:10px; object-fit:cover; background:#f3f4f6; border:1px solid #e5e7eb; }
.rp-inv .name { max-width:360px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rp-inv .repricerSel { font-weight:700; }
.rp-inv .rp-on { color:#2563eb; }
.rp-inv .rp-off { color:#dc2626; }
.rp-inv .pp { width:100px; text-align:right; }
.rp-inv .pager { display:flex; align-items:center; gap:10px; margin-top:10px; }
.rp-inv .pager .meta { color:#6b7280; font-size:12px; }
.rp-inv .bar { position:static; background:rgba(255,255,255,.92); border-top:1px solid #e5e7eb; padding:10px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; z-index:50; margin-top:10px; border-radius:0 0 12px 12px; }
.rp-inv .thlink { color:#111827; text-decoration:none; cursor:pointer; }
.rp-inv .thlink:hover { text-decoration:underline; }
.rp-inv .col-sku { width:120px; min-width:120px; }
.rp-inv .col-asin { width:80px; min-width:80px; }
.rp-inv .col-img { width:60px; min-width:60px; }
.rp-inv th.stk1, .rp-inv td.stk1, .rp-inv th.stk2, .rp-inv td.stk2, .rp-inv th.stk3, .rp-inv td.stk3 { position:sticky; box-shadow:1px 0 0 #e5e7eb; }
.rp-inv th.stk1, .rp-inv td.stk1 { left:0; z-index:12; }
.rp-inv th.stk2, .rp-inv td.stk2 { left:140px; z-index:11; }
.rp-inv th.stk3, .rp-inv td.stk3 { left:240px; z-index:10; }
.rp-inv thead th.stk1 { z-index:30; } .rp-inv thead th.stk2 { z-index:29; } .rp-inv thead th.stk3 { z-index:28; }
.rp-inv .flash { margin:10px 0 0; padding:10px 12px; border-radius:10px; background:#f1f5f9; border:1px solid #e2e8f0; }
@media (max-width:1100px) {
  .rp-inv .filters { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .rp-inv .name { max-width:220px; }
}

/* ===== 上限管理（asin_price_limits.php） ===== */
.rp-lim { color:#111827; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.rp-lim .wrap { max-width:1600px; margin:0 auto; padding:16px; }
.rp-lim h1 { margin:0 0 12px; font-size:22px; letter-spacing:.06em; }
.rp-lim h2 { font-size:16px; margin:8px 0; }
.rp-lim .card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:12px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.rp-lim .row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.rp-lim .muted { color:#6b7280; font-size:12px; }
.rp-lim .msg { background:#ecfdf5; border:1px solid #a7f3d0; padding:10px 12px; border-radius:10px; margin:10px 0; }
.rp-lim .err { background:#fef2f2; border:1px solid #fecaca; padding:10px 12px; border-radius:10px; margin:10px 0; }
.rp-lim input[type="text"] { padding:8px 10px; border:1px solid #d1d5db; border-radius:10px; }
.rp-lim button { padding:8px 12px; border:1px solid #d1d5db; border-radius:10px; background:#fff; cursor:pointer; }
.rp-lim button.primary { background:#111827; color:#fff; border-color:#111827; }
.rp-lim button.danger { background:#fff; border-color:#ef4444; color:#b91c1c; }
.rp-lim .toolbar { margin-top:8px; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.rp-lim .sticky-save { position:sticky; top:0; z-index:10; display:flex; justify-content:flex-end; padding:10px; background:rgba(245,246,248,.9); border-bottom:1px solid #e5e7eb; border-top-left-radius:12px; border-top-right-radius:12px; }
.rp-lim .table-wrap { margin-top:10px; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; background:#fff; }
.rp-lim .scroll { max-height:calc(100vh - 320px); overflow:auto; }
.rp-lim table { width:100%; border-collapse:collapse; }
.rp-lim th, .rp-lim td { border-bottom:1px solid #eef2f7; padding:10px; vertical-align:middle; }
.rp-lim th { position:sticky; top:0; z-index:5; background:#f9fafb; text-align:left; font-size:12px; color:#374151; }
.rp-lim td { font-size:13px; }
.rp-lim .img { width:56px; height:56px; border-radius:10px; background:#f3f4f6; object-fit:cover; display:block; border:1px solid #e5e7eb; }
.rp-lim .name { max-width:520px; }
.rp-lim .asin { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }
.rp-lim .yen { width:150px; white-space:nowrap; }
.rp-lim .yen input { width:88px; padding:6px 8px; border:1px solid #d1d5db; border-radius:10px; text-align:right; }
.rp-lim .actions { width:70px; text-align:center; }
.rp-lim .count { font-size:12px; color:#6b7280; }
.rp-lim .topnote { margin-top:6px; }
.rp-lim .section { margin-top:12px; padding-top:10px; border-top:1px dashed #e5e7eb; }
.rp-lim .smalllabel { font-size:12px; color:#6b7280; margin-bottom:4px; }
@media (max-width:768px) {
  .rp-lim .name { max-width:200px; }
  .rp-inv .filters { grid-template-columns:1fr; }
}

.rp-cfg { max-width:100%; overflow-x:hidden; }
