/* POPBridge 共通スタイル（旧Chrome対応のため色は hex/rgb のみ使用） */
:root{
  --pb-navy:#142048;
  --pb-navy-light:#1f2f6b;
  --pb-orange:#ee7128;
  --pb-orange-dark:#d35f19;
  --pb-bg:#f3f5f9;
  --pb-line:#dde2ec;
  --pb-text:#222;
  --pb-muted:#6b7280;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
  background:#f3f5f9 url("../img/bg.jpg") no-repeat center top;
  background-size:cover;background-attachment:fixed;
  color:#222;font-size:14px;line-height:1.5;
}
/* iOS Safari は fixed 非対応のため scroll にフォールバック */
@supports (-webkit-touch-callout:none){ body{background-attachment:scroll} }
a{color:#142048}
button,input,select,textarea{font-family:inherit;font-size:inherit}

/* ===== ヘッダー ===== */
.pb-header{
  background:#fff;border-bottom:3px solid #ee7128;
  position:sticky;top:0;z-index:50;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.pb-header-inner{
  max-width:1100px;margin:0 auto;padding:8px 16px;
  display:flex;align-items:center;gap:16px;
}
.pb-logo img{height:40px;display:block}
.pb-nav{display:flex;gap:4px;margin-left:8px}
.pb-nav a{
  text-decoration:none;color:#142048;font-weight:700;
  padding:8px 12px;border-radius:8px;white-space:nowrap;
}
.pb-nav a:hover,.pb-nav a.active{background:#eef1f8}
.pb-user{margin-left:auto;font-size:12px;color:#6b7280;text-align:right;white-space:nowrap}
.pb-user b{color:#142048;font-size:13px}
.pb-user a{color:#ee7128;margin-left:8px}

/* ===== レイアウト ===== */
.pb-main{max-width:1100px;margin:0 auto;padding:20px 16px 60px}
.pb-card{
  background:rgba(255,255,255,.92);border-radius:12px;padding:18px 18px 20px;
  box-shadow:0 2px 10px rgba(20,32,72,.06);margin-bottom:20px;
}
.pb-card h2{
  font-size:17px;color:#142048;margin-bottom:12px;
  padding-left:10px;border-left:5px solid #ee7128;line-height:1.3;
}
.pb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:860px){.pb-grid2{grid-template-columns:1fr}}

/* ===== ボタン ===== */
.pb-btn{
  display:inline-block;border:none;cursor:pointer;border-radius:8px;
  padding:9px 18px;font-weight:700;color:#fff;background:#142048;
  text-decoration:none;line-height:1.3;
}
.pb-btn:hover{background:#1f2f6b}
.pb-btn.orange{background:#ee7128}
.pb-btn.orange:hover{background:#d35f19}
.pb-btn.gray{background:#8a93a6}
.pb-btn.gray:hover{background:#6b7280}
.pb-btn.sm{padding:5px 10px;font-size:12px;border-radius:6px}
.pb-btn.lg{padding:12px 26px;font-size:16px}
.pb-btn:disabled{opacity:.45;cursor:not-allowed}

/* ===== フォーム ===== */
.pb-input,.pb-select{
  border:1px solid #c9d0de;border-radius:8px;padding:9px 10px;background:#fff;width:100%;
}
.pb-input:focus,.pb-select:focus{outline:none;border-color:#ee7128;box-shadow:0 0 0 3px rgba(238,113,40,.18)}
.pb-form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pb-help{font-size:12px;color:#6b7280;margin-top:6px}

/* ===== メッセージ ===== */
.pb-msg{padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}
.pb-msg.ok{background:#e9f8ef;color:#1d6b3a;border:1px solid #b7e5c6}
.pb-msg.err{background:#fdecec;color:#b42318;border:1px solid #f5b5b1}

/* ===== 企画一覧 ===== */
.pb-kikaku-list{list-style:none}
.pb-kikaku-list li{border-bottom:1px solid #eef0f5}
.pb-kikaku-list a{
  display:flex;align-items:center;gap:10px;padding:10px 8px;text-decoration:none;color:#222;border-radius:8px;
}
.pb-kikaku-list a:hover{background:#f7f8fb}
.pb-kikaku-list .d{font-weight:700;color:#142048;min-width:86px}
.pb-kikaku-list .n{flex:1}
.pb-kikaku-list .c{font-size:12px;color:#fff;background:#ee7128;border-radius:999px;padding:2px 10px}
.pb-kikaku-list li.past a{color:#9aa1b1}
.pb-kikaku-list li.past .d{color:#9aa1b1}
.pb-kikaku-list li.past .c{background:#c3c8d4}
.pb-kikaku-list li.today a{background:#fff6ef}
.pb-empty{color:#6b7280;font-size:13px;padding:10px 4px}

/* ===== カレンダー ===== */
.pb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pb-cal-head .ym{font-weight:700;font-size:16px;color:#142048}
.pb-cal-head a{text-decoration:none;padding:4px 10px;border-radius:6px;background:#eef1f8;color:#142048;font-weight:700}
.pb-cal{width:100%;border-collapse:collapse;table-layout:fixed}
.pb-cal th{font-size:12px;color:#6b7280;padding:4px 0;font-weight:700}
.pb-cal th.sun,.pb-cal td.sun .dn{color:#d9341f}
.pb-cal th.sat,.pb-cal td.sat .dn{color:#1d4ed8}
.pb-cal td{border:1px solid #eef0f5;height:58px;vertical-align:top;padding:0}
.pb-cal td.out{background:#fafbfd}
.pb-cal td a,.pb-cal td .cell{display:block;height:100%;padding:4px 6px;text-decoration:none;color:#222}
.pb-cal td a:hover{background:#fff6ef}
.pb-cal td.today .cell,.pb-cal td.today a{background:#fff1e6;outline:2px solid #ee7128;outline-offset:-2px}
.pb-cal .dn{font-size:12px;font-weight:700}
.pb-cal .cnt{
  display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:#fff;
  background:#142048;border-radius:999px;padding:1px 8px;
}

/* ===== テーブル ===== */
.pb-table-wrap{overflow-x:auto}
.pb-table{width:100%;border-collapse:collapse;font-size:13px}
.pb-table th,.pb-table td{border-bottom:1px solid #eef0f5;padding:7px 8px;text-align:left;white-space:nowrap}
.pb-table th{background:#f4f6fa;color:#142048;font-size:12px}
.pb-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.pb-table td.name{white-space:normal;min-width:220px}
.pb-table tr:hover td{background:#fbfcfe}
.pb-table .qty{width:64px;text-align:center;padding:4px}
.pb-table .tax{width:70px;padding:4px}
.pb-table .baika{width:90px;text-align:right;padding:4px}
.pb-src{font-size:11px;color:#6b7280;margin-left:4px}

/* ===== 印刷バー ===== */
.pb-printbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:12px 0 0;border-top:1px dashed #dde2ec;margin-top:10px;
}
.pb-printbar .sel{font-size:13px;color:#6b7280}

@media (max-width:640px){
  .pb-nav a{padding:6px 8px;font-size:13px}
  .pb-user{display:none}
  .pb-logo img{height:32px}
  .pb-main{padding:12px 10px 60px}
  .pb-card{padding:14px 12px 16px;border-radius:10px}
  .pb-cal td{height:46px}
}

/* ===== 追加パーツ ===== */
.pb-badge{display:inline-block;min-width:18px;margin-left:4px;padding:0 5px;border-radius:999px;
  background:#ee7128;color:#fff;font-size:11px;line-height:18px;text-align:center;vertical-align:1px}
.pb-chip{display:inline-block;padding:2px 10px;margin:2px 4px 2px 0;border-radius:999px;
  background:#eef1f8;color:#142048;font-size:12px;font-weight:700}
.pb-chip.orange{background:#fff1e6;color:#d35f19}
.pb-label{display:block;font-size:12px;font-weight:700;color:#142048;margin-bottom:3px}
.pb-field{margin-bottom:10px}

/* 店舗チェックボックス */
.pb-stores{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 10px;
  max-height:240px;overflow:auto;border:1px solid #dde2ec;border-radius:8px;padding:8px 10px;background:#fff}
.pb-stores label{display:flex;align-items:center;gap:6px;font-size:13px;padding:3px 2px;cursor:pointer;border-radius:4px}
.pb-stores label:hover{background:#f7f8fb}
.pb-stores input{width:16px;height:16px;accent-color:#ee7128}
.pb-stores .me{font-weight:700;color:#d35f19}

/* 商品追加（企画編集） */
.pb-addbox{display:grid;grid-template-columns:220px 1fr;gap:10px 14px;align-items:start}
@media (max-width:760px){.pb-addbox{grid-template-columns:1fr}}
.pb-code-input{font-size:18px;font-weight:700;letter-spacing:.04em}
.pb-lookup{min-height:84px;border:2px dashed #dde2ec;border-radius:10px;padding:10px 12px;background:#fbfcfe}
.pb-lookup.hit{border-style:solid;border-color:#ee7128;background:#fff}
.pb-lookup.miss{border-color:#f5b5b1;background:#fffafa}
.pb-lookup .ph{color:#9aa1b1;font-size:13px}
.pb-lookup .meta{font-size:12px;color:#6b7280;margin-bottom:6px}
.pb-lookup .row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:6px}
.pb-cands{list-style:none;margin-top:4px;max-height:200px;overflow:auto}
.pb-cands li{padding:6px 8px;border-bottom:1px solid #eef0f5;cursor:pointer;font-size:13px}
.pb-cands li:hover{background:#fff6ef}
.pb-cands li b{color:#142048;margin-right:6px}

/* トースト */
.pb-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:100;
  background:#142048;color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:700;
  box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:0;transition:opacity .2s;pointer-events:none}
.pb-toast.show{opacity:1}
.pb-toast.err{background:#b42318}

/* ===== 商品検索（search.php）===== */
.pb-main.pb-wide{max-width:none;padding:0}
.pb-steps{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  background:#fff;border-bottom:1px solid #dde2ec;padding:12px 16px}
.pb-step{display:flex;align-items:center;gap:8px;font-weight:700;color:#6b7280;font-size:14px;white-space:nowrap}
.pb-step .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  background:#eef1f8;color:#6b7280;font-size:15px}
.pb-step.on{color:#142048}
.pb-step.on .n{background:#142048;color:#fff;box-shadow:0 0 0 3px #dfe4f0}
.pb-step-line{width:56px;height:2px;background:#dde2ec}

.pb-sel{display:grid;grid-template-columns:340px 1fr;min-height:calc(100vh - 120px)}
.pb-side{background:#fff;border-right:1px solid #dde2ec}
.pb-side-sec{padding:16px 14px 18px;border-bottom:1px solid #dde2ec}
.pb-side-sec h3{display:flex;align-items:center;gap:6px;font-size:14px;color:#142048;margin-bottom:10px}
.pb-side-sec .pb-help{margin-top:6px}
.pb-jans{font-family:Menlo,Consolas,"Courier New",monospace;font-size:15px;line-height:1.6;resize:vertical;
  border:2px solid #142048;border-radius:10px;min-height:110px}
.pb-btn-block{display:block;width:100%;margin-top:10px;padding:11px 18px;border-radius:999px;font-size:15px}
#janErr{margin:10px 0 0;max-height:140px;overflow:auto}

.pb-suggest{list-style:none;margin-top:10px;border:1px solid #dde2ec;border-radius:10px;max-height:46vh;overflow:auto;background:#fff}
.pb-suggest li{position:relative;padding:8px 34px 8px 10px;border-bottom:1px solid #eef0f5;cursor:pointer}
.pb-suggest li:last-child{border-bottom:none}
.pb-suggest li:hover{background:#fff6ef}
.pb-suggest li.head{cursor:default;background:#f4f6fa;font-size:11px;color:#6b7280;padding:5px 10px}
.pb-suggest li.none{cursor:default;color:#6b7280;font-size:13px}
.pb-suggest .nm{display:block;font-size:13px;font-weight:700;color:#222;line-height:1.35}
.pb-suggest .sub{display:block;font-size:11px;color:#6b7280;margin-top:2px}
.pb-suggest .sub em{font-style:normal;margin-left:8px;color:#142048;font-weight:700}
.pb-suggest .ck{position:absolute;right:10px;top:50%;margin-top:-10px;width:20px;height:20px;border-radius:50%;
  font-style:normal;font-size:12px;line-height:20px;text-align:center;color:#fff;background:#ee7128;display:none}
.pb-suggest li.added{background:#fffaf5}
.pb-suggest li.added .ck{display:block}

.pb-pane{padding:22px 26px 40px;min-width:0}
.pb-pane-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.pb-pane-head > div{flex:1}
.pb-pane-title{font-size:18px;color:#142048}
.pb-pane-cnt{font-size:13px;color:#ee7128;margin-left:4px}
.pb-pane-sub{font-size:12px;color:#4b5563;margin-top:4px}
.pb-empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:90px 20px;color:#4b5563;text-align:center}
.pb-empty-state b{font-size:15px;margin-top:8px}
.pb-empty-state span{font-size:13px;color:#6b7280}
.pb-list{background:rgba(255,255,255,.95);border-radius:12px;box-shadow:0 2px 10px rgba(20,32,72,.08);padding:6px 14px 14px}
.pb-cart td{vertical-align:middle}
.pb-cart td.codes{font-size:12px;line-height:1.35}
.pb-cart td.codes b{color:#142048}
.pb-cart td.codes span{color:#6b7280}
.pb-cart td.name{min-width:240px}
.pb-cart td.name .pb-input{padding:6px 8px;font-weight:700}
.pb-cart .baika{width:86px;padding:6px 6px;text-align:right}
.pb-cart .tax{width:84px;padding:6px 4px}
.pb-cart td.zei{font-weight:700;color:#142048;min-width:80px}
.pb-qty{display:inline-flex;align-items:center;border:1px solid #c9d0de;border-radius:8px;overflow:hidden;background:#fff}
.pb-qty button{border:none;background:#f4f6fa;width:28px;height:32px;font-size:15px;cursor:pointer;color:#142048}
.pb-qty button:hover{background:#fff1e6}
.pb-qty input{width:44px;height:32px;border:none;text-align:center;font-weight:700;-moz-appearance:textfield}
.pb-qty input::-webkit-outer-spin-button,.pb-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pb-del{border:none;background:none;color:#9aa1b1;font-size:20px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:6px}
.pb-del:hover{color:#b42318;background:#fdecec}
.pb-cart tr.flash td{animation:pbFlash 1.6s ease-out}
@keyframes pbFlash{0%{background:#ffe2cc}100%{background:transparent}}
.pb-cart-bar{position:sticky;bottom:0;background:rgba(255,255,255,.97);padding:12px 0 2px}

@media (max-width:860px){
  .pb-sel{grid-template-columns:1fr}
  .pb-side{border-right:none}
  .pb-pane{padding:16px 10px 40px}
  .pb-step-line{width:20px}
}

/* hidden 属性を常に優先 */
[hidden]{display:none !important}
.pb-cart .pb-lay{width:auto;max-width:170px;padding:6px 4px}
.pb-cart td.name{min-width:200px}
