/* 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;color:#222;font-size:14px;line-height:1.5;
}
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:#fff;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}
}
