:root{--navy:#16344d;--blue:#1479d3;--pale:#eef7ff;--line:#dce5ed;--ink:#172434;--muted:#667789;--bg:#f6f8fa;--green:#16865b;--orange:#d66d05;--red:#c23d43}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:14px}
/* 何も隠さないことを最優先にする。幅が足りないときは、横スクロールで押し出すのではなく
   2段へ折り返す。押し出すとタブが画面外へ消え、消えたことにも気づけない。 */
.topbar{min-height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:6px 4.5%;gap:24px;flex-wrap:wrap;row-gap:6px}
.brand{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:750;color:var(--navy);text-decoration:none;white-space:nowrap;flex:0 1 auto;min-width:0;overflow:hidden}
.brand-logo{width:28px;height:28px;border-radius:8px;object-fit:cover;flex:0 0 auto}
.business-switch{display:flex;gap:3px;padding:3px;background:#edf3f7;border:1px solid #d6e1e9;border-radius:8px}.business-button{border:0;border-radius:5px;padding:6px 10px;background:transparent;color:#617484;font:inherit;font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap}.business-button.active{background:#fff;color:#176cae;box-shadow:0 1px 3px #173b5622}.business-empty{background:#fff;border:1px dashed #b9d0df;border-radius:10px;padding:34px 24px;text-align:center;color:#597082}.business-empty h2{margin:0 0 8px;font-size:18px;color:#2a526f}.business-empty p{margin:0;line-height:1.65}
/* タブは縮めない・隠さない・折り返さない。ナビだけが潰れてタブが画面外へ消えるのを防ぐため、
   flex-shrink を 0 にする。入りきらないときは .topbar 側が2段に折り返す。 */
nav{align-self:stretch;display:flex;gap:2px;flex:0 0 auto}
.nav-button{border:0;background:transparent;padding:0 12px;min-height:50px;font:inherit;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;flex:0 0 auto}
.nav-button[hidden]{display:none!important}
.nav-button.active{font-weight:700;color:var(--blue);border-color:var(--blue)}
.user{margin-left:auto;display:flex;align-items:center;gap:8px;font-weight:600;flex:0 0 auto}
/* ノートPCの幅では、ホームを足したぶん1段に入りきらない。タブは削らず、
   まわり（ロゴの文字・担当者名・余白・バッジ）から先に詰めて1段に収める。 */
@media(max-width:1500px){.topbar{gap:14px;padding:6px 20px}
.nav-button{padding:0 9px}
.pending-cancellations-badge{padding:5px 9px;font-size:11px}
.brand{font-size:0;gap:0}
.role-preview-label{display:none}}
@media(max-width:1240px){.business-button{padding:6px 7px;font-size:11px}
.user #userName{display:none}
.topbar{gap:10px}
.nav-button{padding:0 7px}
/* ここまで来たらバッジは記号と件数だけにする。正式な呼び方は title と読み上げ用のラベルに残す。
   タブを画面外へ押し出すより、バッジを縮めるほうが失うものが少ない。 */
.badge-label{display:none}
.pending-cancellations-badge{padding:5px 9px}}
.role-preview{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;font-weight:700}.role-preview select{padding:5px 7px;font-size:12px}
.role-preview[hidden]{display:none!important}
#previousCancellationNotification[hidden],#nextCancellationNotification[hidden]{display:none!important}
.procurement-cancel-dialog .dialog-card{width:min(680px,calc(100vw - 32px))}.procurement-cancel-items{display:grid;gap:8px;margin:14px 0}.procurement-cancel-item{display:grid;grid-template-columns:22px 58px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.procurement-cancel-item input{width:18px;height:18px;margin:0}.procurement-cancel-image{display:block;width:58px;height:58px;object-fit:contain;border:1px solid #dce5ed;border-radius:7px;background:#fff}.procurement-cancel-image-empty{display:grid;place-items:center;background:#f4f7f9;color:var(--muted);font-size:10px}.procurement-cancel-product{display:grid;gap:3px;min-width:0}.procurement-cancel-product strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.procurement-cancel-product small{color:var(--muted)}
.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#1d5d98;background:#dcefff;font-size:12px}
.text-button{border:0;background:none;color:var(--blue);cursor:pointer;font:inherit;padding:4px}
main{max-width:1160px;margin:0 auto;padding:40px 28px 72px}
@media(min-width:1200px){main:has(#shippingView:not([hidden])){max-width:none;width:calc(100vw - 48px);padding-left:24px;padding-right:24px}}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}
.page-heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.page-heading h1{font-size:28px;letter-spacing:.02em;margin:3px 0 7px}
.page-heading p:not(.eyebrow),.panel-heading p{margin:0;color:var(--muted)}
.eyebrow{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.08em;margin:0}
.notice{background:#eaf5ff;border:1px solid #cde9ff;border-radius:9px;padding:15px 18px;display:flex;gap:18px;align-items:flex-start;color:#31516d;margin-bottom:22px}
.notice strong{color:#176cae;white-space:nowrap}
.summary-row,.dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}
.summary-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 18px}
.summary-card small{color:var(--muted)}
.summary-card b{font-size:26px;display:block;margin-top:5px}
.summary-card.blue{border-top:3px solid var(--blue)}
.summary-card.green{border-top:3px solid var(--green)}
.summary-card.orange{border-top:3px solid var(--orange)}
.summary-card.red{border-top:3px solid var(--red)}
/* ホーム：ログイン後の着地画面。やることがゼロの区画は見出しごと出さないので、
   ここには「並んでいるときの見え方」だけを書きます。 */
.home-content{display:flex;flex-direction:column;gap:25px}
.home-section h2{font-size:16px;margin:0 0 11px}
.home-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.home-card{display:block;text-align:left;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 18px}
.home-card small{display:block;color:var(--muted)}
.home-card b{font-size:26px;display:block;margin-top:5px}
.home-card b em{font-size:14px;font-style:normal;font-weight:700;margin-left:2px;color:var(--muted)}
button.home-card{cursor:pointer}
button.home-card:hover{border-color:var(--blue);box-shadow:0 1px 6px rgba(23,76,114,.12)}
.home-card-urgent{border-top:3px solid var(--red)}
.home-card-warn{border-top:3px solid var(--orange)}
.home-card-todo{border-top:3px solid var(--blue)}
.home-card-plain{border-top:3px solid var(--line)}
.home-card small.home-card-note{margin-top:6px;font-size:12px}
/* 仕入れ指示メモ。仕入れの手を止めてもらう指示なので、付せんらしく目に入る色にします。 */
.procurement-note{display:block;margin:0 0 10px;padding:11px 13px;border:1px solid #e6c964;border-left:5px solid #e0a800;border-radius:6px;background:#fff8dc;color:#5b4708;line-height:1.6}
.procurement-note strong{display:block;font-size:13px;margin-bottom:3px}
.procurement-note span{display:block;white-space:pre-wrap}
.procurement-note small{display:block;margin-top:5px;color:#8a7433;font-size:12px}
.procurement-note-actions{margin:0 0 10px}
/* メンテナンス中の覆い。読み込み中の覆いと見分けが付くよう、色と文言を変えます。 */
.maintenance-overlay{background:#10253acc;z-index:10004}
.maintenance-overlay .workspace-loading-card{border-color:#efd28e;background:#fffdf6}
.maintenance-overlay strong{color:#6d4a0b}
.home-empty{color:var(--muted)}
/* 「今日の動き」の中身。成功と失敗を見出しで分けて出します。 */
#homeTodayDialogList h3{margin:14px 0 8px;font-size:14px}
#homeTodayDialogList h3:first-child{margin-top:0}
/* 発送手配の実行ボタン。朝いちばんに押す場所なので、他のカードより先に目に入るようにします。 */
.home-arrange{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px;padding:17px 18px;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:10px;background:#fff}
.home-arrange strong{display:block;font-size:16px}
.home-arrange span{display:block;margin-top:4px;color:var(--muted)}
.home-arrange small{display:block;margin-top:6px;color:var(--muted);font-size:12px;max-width:56ch}
.home-arrange .primary-button{white-space:nowrap}
/* お知らせ。読む文章なので、件数カードとは別の見た目にします。 */
.home-announcement{margin-bottom:11px;padding:15px 18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.home-announcement h3{margin:0 0 6px;font-size:15px}
.home-announcement p{margin:0 0 8px;line-height:1.6;white-space:pre-wrap}
.home-announcement small{display:block;color:var(--muted);font-size:12px}
.home-announcement .url-row{margin-top:10px}
/* C1-4 タスク。期限を過ぎたものだけ赤くします（全部を色付けると、急ぐものが埋もれます）。 */
.home-task-late{border-left:4px solid var(--red)}
.home-task-overdue{color:var(--red)}
/* C1-5 入荷予定の分割指示。備考欄の自由文では読み落とすため、付せんらしく目に入る色にします。
   仕入れ指示メモ（.procurement-note）と同じ見え方に揃え、「これは指示だ」と分かるようにします。 */
.inbound-split{display:block;margin:8px 0;padding:10px 12px;border:1px solid #e6c964;border-left:5px solid #e0a800;border-radius:6px;background:#fff8dc;color:#5b4708;line-height:1.6}
.inbound-split strong{display:block;font-size:13px;margin-bottom:4px}
.inbound-split-total{display:block;font-size:12px;color:#8a7433}
.inbound-split-rows{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:4px}
.inbound-split-rows span{font-size:13px}
.inbound-split-rows b{font-size:15px}
/* 登録フォームの分割欄。合計が合うかを打ちながら確かめられるようにします。 */
.inbound-split-fields label{display:block;margin-top:8px}
.inbound-split-fields input{width:120px}
.inbound-split-hint{margin-top:8px}
.inbound-split-hint-error{color:var(--red)}
/* C1-6 スタッフの状況。いま作業中かどうかが、ひと目で分かればよい表示です。 */
.home-staff-online{color:var(--blue)}
.home-staff-offline{color:var(--muted)}
.announcement-targets{border:1px solid var(--line);border-radius:6px;padding:9px 11px}
.announcement-targets legend{font-size:12px;font-weight:700;color:#486176;padding:0 4px}
.announcement-targets label{display:inline-flex;align-items:center;gap:6px;margin-right:14px;font-weight:400}
@media(max-width:900px){.home-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.home-cards{grid-template-columns:1fr}}
.summary-action{display:flex;align-items:center;justify-content:center}
.summary-action .outline-button{width:100%;height:100%;white-space:nowrap}
.shipping-summary-filter{font:inherit;text-align:left;cursor:pointer}.shipping-summary-filter:hover{background:#f8fbfd}.shipping-summary-filter.active{box-shadow:0 0 0 2px #1674bd33}
.staff-summary-filter{cursor:pointer}.staff-summary-filter:hover{background:#f8fbfd}.staff-summary-filter:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button.staff-summary-filter{font:inherit;color:inherit;text-align:left}
.filter-row{display:flex;gap:10px;align-items:center;margin:0 0 15px}
.tracking-supplier-filter{display:flex;align-items:center;gap:7px;color:#526b7c;font-size:13px;font-weight:750}.tracking-supplier-filter[hidden]{display:none!important}.tracking-supplier-filter select{min-width:170px;border:1px solid #cfdbe5;border-radius:7px;background:#fff;padding:8px 11px;font:inherit;color:#172434}
.tracking-input-worklist{display:grid;gap:12px}.tracking-input-worklist>header{padding:16px 18px;border:1px solid #efd9a6;border-radius:9px;background:#fffaf0}.tracking-input-worklist h2{margin:0;color:#7e5213;font-size:19px}.tracking-input-worklist p{margin:6px 0 0;color:#685b48;line-height:1.55}.tracking-input-work-item{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:#fff}.tracking-input-work-product{display:flex;min-width:0;gap:16px;align-items:flex-start}.tracking-input-work-image{display:block;flex:0 0 auto;width:92px;height:92px;margin:0;object-fit:contain;border:1px solid #dce5ed;border-radius:8px;background:#fff}.tracking-input-work-meta{display:grid;gap:5px;color:#557084;font-size:13px}.tracking-input-work-meta .eyebrow{margin:0}.tracking-input-work-meta>strong{color:#1d3447;font-size:17px}.tracking-input-work-meta h3{margin:2px 0 4px;color:var(--ink);font-size:18px;line-height:1.4}.tracking-input-work-meta>div{display:flex;flex-wrap:wrap;gap:6px 18px;color:#557084}.tracking-input-work-meta b{color:#1d3447}.tracking-input-work-action{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;flex:0 1 490px}.tracking-input-work-action label{display:grid;gap:6px;color:#486176;font-size:13px;font-weight:750}.tracking-input-work-action input,.tracking-input-work-action textarea{min-width:0;border:1px solid #b9cde0;border-radius:7px;padding:10px;font:inherit;color:#172434}.tracking-input-work-note{grid-column:1/-1}.tracking-input-work-note textarea{width:100%;min-height:66px;resize:vertical}.tracking-input-work-action .primary-button{grid-column:2;white-space:nowrap}.tracking-input-work-empty{padding:28px!important;border:1px solid #d4e2ec;border-radius:9px;background:#fff;color:#60778a}@media(max-width:760px){.tracking-input-work-item{display:grid}.tracking-input-work-action{grid-template-columns:1fr;width:100%}.tracking-input-work-action .primary-button{grid-column:auto;width:100%}}
.shipping-complete-date-filter{position:relative;display:flex;align-items:center;gap:7px;padding:5px 8px;background:#f1fbf6;border:1px solid #bee4d0;border-radius:7px;color:#236548;white-space:nowrap}.shipping-complete-date-filter[hidden]{display:none!important}.shipping-date-filter-label{font-size:12px;font-weight:750}.shipping-date-picker-button{display:flex;align-items:center;justify-content:space-between;gap:11px;min-width:137px;border:1px solid #b9d9c8;border-radius:5px;padding:7px 8px;background:#fff;color:#667789;font:inherit;font-weight:650;cursor:pointer}.shipping-date-picker-button.selected{color:var(--ink)}.shipping-date-picker-button b{color:#176cae;font-size:13px}.shipping-date-picker{position:absolute;z-index:200;width:290px;top:calc(100% + 8px);left:0;padding:14px;border:1px solid #b9d9c8;border-radius:10px;background:#fff;box-shadow:0 12px 30px #173b5630}.shipping-date-picker-header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:10px}.shipping-date-picker-header strong{text-align:center;font-size:15px;color:var(--ink)}.shipping-date-picker-header button{width:32px;height:32px;border:0;border-radius:6px;background:#eef7ff;color:#176cae;font:inherit;font-size:25px;line-height:1;cursor:pointer}.shipping-date-picker-header button:last-child{justify-self:end}.shipping-date-picker-header button:hover{background:#dcefff}.shipping-date-picker-weekdays,.shipping-date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.shipping-date-picker-weekdays{margin-bottom:4px;color:#667789;font-size:11px;font-weight:750}.shipping-date-picker-days button,.shipping-date-picker-blank{height:32px;border:0;border-radius:6px;background:transparent;font:inherit;cursor:pointer}.shipping-date-picker-days button:hover{background:#e7f3ff;color:#176cae}.shipping-date-picker-days button.selected{background:#176cae;color:#fff;font-weight:750}.shipping-date-picker-days button.today{box-shadow:inset 0 0 0 1px #176cae}.shipping-date-picker-actions{display:flex;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1px solid #e2ebf1}.shipping-date-picker-actions button{border:0;background:transparent;color:#176cae;font:inherit;font-weight:750;cursor:pointer;padding:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.search{width:320px;background:white;border:1px solid #cfdbe5;border-radius:7px;padding:8px 11px;display:flex;gap:7px;color:#748596}
.search input{border:0;outline:0;width:100%;font:inherit}
select{border:1px solid #cfdbe5;border-radius:7px;background:#fff;padding:9px 10px;font:inherit;color:var(--ink)}
.count-text{color:var(--muted);margin-left:auto}
.product-list{display:grid;gap:13px}
.product-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px}
.product-top{display:flex;gap:14px}
.product-info{flex:1;min-width:0}
.product-name{font-size:18px;font-weight:750;margin:0 0 6px}
.product-meta{color:var(--muted);font-size:13px;display:flex;gap:12px;flex-wrap:wrap}
.order-deadline{color:#9a4a00;font-weight:800}
.status{white-space:nowrap;border-radius:30px;padding:5px 10px;height:max-content;font-size:12px;font-weight:700}
.status.未着手{color:#536576;background:#edf1f4}
.status.仕入れ中{color:#1267ae;background:#e5f2ff}
.status.仕入れ完了{color:#08774d;background:#e5f8ef}
.status.確認が必要{color:#a74900;background:#fff0de}
.purchase-alert{margin:14px 0 0;background:#fff1ef;color:#a93c31;border-left:4px solid #dc5449;padding:10px 12px;font-weight:700;border-radius:4px}
/* 同じitem_idにバリエーションが複数あり、商品を特定できない明細の警告。
   .purchase-alert は未来サポート在庫の案内で文言を書き換えるため、別クラスにしています。 */
.variation-alert{display:grid;gap:4px;margin:14px 0 0;padding:12px 14px;background:#fff6e6;color:#8a5300;border:1px solid #f0cf94;border-left:5px solid #df941e;border-radius:7px;font-weight:650;line-height:1.55}.variation-alert strong{font-size:15px}.variation-alert span{font-size:13px;color:#7a5a2a}
/* 手動出品の価格・在庫管理（管理者のみ）。 */
.price-stock-search{flex:1;min-width:220px;border:1px solid #cfdbe5;border-radius:7px;padding:9px 11px;font:inherit}
.price-stock-results{display:grid;gap:6px;margin-top:13px}.price-stock-results .outline-button{text-align:left}
.price-stock-product-summary{display:flex;align-items:flex-start;gap:16px;margin:10px 0 4px}.price-stock-product-image{width:112px;height:112px;flex:0 0 112px;object-fit:contain;border:1px solid #cbd8e2;border-radius:8px;background:#fff}.price-stock-product-image-empty{display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;line-height:1.5}.price-stock-product-main{min-width:0;flex:1}.price-stock-product-main .product-name{margin:0 0 12px}
.price-stock-inputs{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0 6px}.price-stock-inputs label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:700}
.price-stock-inputs input{border:1px solid #cfdbe5;border-radius:7px;padding:8px 10px;font:inherit;color:var(--ink);width:190px}
.price-stock-hint{display:block;color:#4a6b82;line-height:1.7}
.price-stock-purchase{display:grid;gap:4px;margin:14px 0 4px;font-size:12px;color:var(--muted);font-weight:700}
.price-stock-purchase input{border:1px solid #cfdbe5;border-radius:7px;padding:9px 11px;font:inherit;color:var(--ink);width:220px}
.price-stock-changes{margin:8px 0 12px;padding-left:20px;line-height:1.8}.price-stock-changes li.invalid{color:#a93c31;font-weight:700}
.price-stock-ack{display:flex;gap:8px;align-items:center;margin:6px 0 12px;font-weight:700;color:#8a5300}
/* .tiny-button は既存の定義（後方にある）をそのまま使い、余白だけ足します。 */
.price-stock-hint .tiny-button{margin-left:7px}
.price-stock-item-id{display:block;margin:-2px 0 2px;color:var(--muted);font-weight:700}
.procurement-tracking-warning{display:grid;gap:4px;margin:14px 0 2px;padding:12px 14px;background:#fff0f0;color:#922d2d;border:1px solid #f1b7b7;border-left:5px solid #d84848;border-radius:7px;font-weight:650;line-height:1.55}.procurement-tracking-warning strong{font-size:15px}.procurement-tracking-warning span{font-size:13px}.procurement-tracking-warning b{font-weight:850}.procurement-integrity-warning{display:grid;gap:4px;margin:14px 0 2px;padding:12px 14px;background:#fff8e8;color:#81540e;border:1px solid #efd49c;border-left:5px solid #e2a32a;border-radius:7px;font-weight:650;line-height:1.55}.procurement-integrity-warning strong{font-size:15px}.procurement-integrity-warning span{font-size:13px}
.procurement-validation-error{margin:0 0 12px;padding:10px 12px;background:#fff0f0;color:#9d2f2f;border:1px solid #efb0b0;border-left:4px solid #d84848;border-radius:6px;font-weight:750;line-height:1.55}
.bulk-purchase-panel{margin:0 0 22px;padding:17px 18px;background:#f2f9f4;border:1px solid #c9e5d2;border-left:5px solid var(--green);border-radius:10px}.bulk-purchase-panel h2{margin:0 0 4px;color:#0d6845;font-size:17px}.bulk-purchase-panel>p{margin:0;color:#48705d;line-height:1.55}.bulk-purchase-list{display:grid;gap:9px;margin-top:13px}.bulk-purchase-item{display:flex;align-items:center;gap:11px;padding:10px 12px;background:#fff;border:1px solid #d9ebe0;border-radius:7px}.bulk-purchase-item img{width:42px;height:42px;object-fit:contain;border:1px solid #dce5ed;border-radius:5px;background:#fff}.bulk-purchase-info{min-width:0;flex:1}.bulk-purchase-info b{display:block}.bulk-purchase-info small{display:block;color:#61798b;margin-top:3px;overflow-wrap:anywhere}.bulk-purchase-count{color:#08774d;font-weight:800;white-space:nowrap}.bulk-purchase-button{border:1px solid #a8d4b8;border-radius:6px;padding:7px 9px;background:#fff;color:#08774d;font:inherit;font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap}
.bulk-purchase-target-notice{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;background:#f2f9f4;border:1px solid #c9e5d2;border-left:5px solid var(--green);border-radius:8px;color:#235f45}.bulk-purchase-target-notice strong{color:#0d6845}.bulk-purchase-target-notice span{flex:1;min-width:220px;line-height:1.5}.bulk-purchase-target-notice .outline-button{padding:7px 10px;font-size:13px}
.details{display:flex;gap:34px;margin:17px 0 14px;padding-top:15px;border-top:1px solid #ebeff2}
.detail small{display:block;color:var(--muted);margin-bottom:4px}
.detail b{font-size:15px}
/* ホビーのマスタには目安仕入れ値を持たないため、仕入れカードには表示しません。 */
.hobby-business #productList .order-item>.details>.detail:nth-child(3){display:none}
.url-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.link-button,.outline-button,.primary-button{border-radius:7px;padding:9px 13px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.link-button[hidden],.outline-button[hidden],.primary-button[hidden]{display:none!important}
.link-button{background:var(--blue);color:#fff;border:1px solid var(--blue)}
.outline-button{background:#fff;color:#385068;border:1px solid #cbd8e2}
.primary-button{background:var(--blue);color:#fff;border:1px solid var(--blue)}
.status-select{margin-left:auto}
.note-preview{color:#a74900;margin:12px 0 0;background:#fff8f0;padding:8px 10px;border-radius:5px}
.panel{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:22px}
.panel-heading{padding:20px 21px 17px;display:flex;justify-content:space-between;gap:20px;align-items:start}
.panel h2{font-size:18px;margin:0 0 6px}
.table-wrap{overflow:auto;border-top:1px solid var(--line)}
table{width:100%;border-collapse:collapse;min-width:760px}
th{text-align:left;color:var(--muted);background:#fafcfd;font-size:12px}
th,td{padding:13px 16px;border-bottom:1px solid #e9eef2;vertical-align:top}
tr:last-child td{border-bottom:0}
.tiny-button{border:0;background:#eaf5ff;color:#176cae;border-radius:5px;padding:6px 8px;font:inherit;cursor:pointer}
.dialog-card{position:relative;border:0;border-radius:13px;padding:27px;width:min(520px,calc(100vw - 32px));box-shadow:0 18px 60px #10253a44}
.dialog-card::backdrop{background:#14293a77}
.dialog-card h2{margin:5px 0 8px;font-size:22px}
.dialog-card p:not(.eyebrow){color:var(--muted);line-height:1.6}
.close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:23px;color:#6c7b87;cursor:pointer}
.dialog-card textarea{width:100%;font:inherit;border:1px solid #cbd8e2;border-radius:7px;padding:10px;resize:vertical}
.confirmation-check{display:flex;align-items:center;gap:10px;margin-top:16px;color:#3d586c;font-weight:800;cursor:pointer}.confirmation-check input{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:#1577c9}
.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.upload{display:block;border:1px dashed #a9c7df;background:#f6fbff;padding:13px;margin-top:12px;border-radius:8px;cursor:pointer}
.upload span{font-weight:700;display:block}
.upload input{margin:9px 0 4px}
.upload small{color:var(--muted)}
.import-result{min-height:22px;font-weight:700;color:var(--green)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.field-grid label{font-weight:650}
.field-grid input,.field-grid textarea{display:block;width:100%;margin-top:5px;border:1px solid #cbd8e2;border-radius:6px;padding:8px;font:inherit}
.field-grid textarea{resize:vertical}
@media(max-width:720px){.topbar{gap:10px;padding:0 16px}
.brand{font-size:0}
.brand-logo{width:25px;height:25px;border-radius:7px}
.business-switch{margin-left:auto}.business-button{padding:6px 8px;font-size:11px}
.user #userName,.user .text-button{display:none}
.role-preview{display:none}
.bulk-purchase-item{align-items:flex-start;flex-wrap:wrap}.bulk-purchase-button{margin-left:53px}
main{padding:27px 16px}
.summary-row,.dashboard{grid-template-columns:repeat(2,1fr)}
.details{gap:16px;flex-wrap:wrap}
.price-stock-product-summary{gap:12px}.price-stock-product-image{width:84px;height:84px;flex-basis:84px}
.product-top{flex-wrap:wrap}
.status-select{margin-left:0;width:100%}
.page-heading{gap:15px}
.page-heading-actions{width:100%;justify-content:flex-start}
.filter-row{flex-wrap:wrap}
.search{width:100%}
.count-text{margin-left:0}
.notice{display:block}
.notice span{display:block;margin-top:5px}
.field-grid{grid-template-columns:1fr}
}
.login-page{min-height:100vh;background:linear-gradient(135deg,#edf7ff 0%,#f6f8fa 52%,#eaf3fb 100%);display:grid;place-items:center;padding:24px}
.login-shell{width:min(460px,100%);padding:0;margin:0}
.login-card{background:#fff;border:1px solid var(--line);box-shadow:0 18px 52px #15334b20;border-radius:16px;padding:38px 40px}
.login-brand{display:inline-block;margin-bottom:34px}
.login-card h1{font-size:28px;margin:5px 0 8px}
.login-lead{color:var(--muted);margin:0 0 27px;line-height:1.65}
.login-label{display:block;font-size:13px;font-weight:700;color:#486176;margin-top:17px}
.login-label input{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #b9cde0;border-radius:7px;background:#fff;font:inherit;color:var(--ink)}
.login-label input:focus{outline:2px solid #b9defb;border-color:var(--blue)}
.password-field{display:flex;gap:7px}
.password-field input{flex:1}
.password-field button{margin-top:7px;min-width:76px;border:1px solid #b9cde0;border-radius:7px;background:#f7fbff;color:#275978;cursor:pointer;font:700 12px inherit;white-space:nowrap}
.remember{display:flex;align-items:center;gap:8px;margin-top:19px;font-size:13px;font-weight:650;color:#486176;cursor:pointer}
.remember input{width:17px;height:17px;margin:0;accent-color:var(--blue)}
.login-error{min-height:20px;margin:16px 0 0;color:var(--red);font-size:13px;font-weight:700}
.shopee-connection-panel .panel-heading>div:first-child{flex:1;min-width:0}.shopee-store-list{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:7px;max-width:calc(100% - 42px);margin:10px 21px 18px;padding-bottom:6px;overflow-x:auto;scrollbar-width:thin}.shopee-store-list span{display:block;padding:8px 10px;border:1px solid #d7e5ee;border-radius:6px;background:#f8fbfd}.shopee-store-list b,.shopee-store-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopee-store-list b{color:#244a65;font-size:13px}.shopee-store-list small{margin-top:2px;color:#637d8f;font-size:11px}
.login-button{width:100%;padding:12px;margin-top:8px;font-size:15px}
.price-alert-panel{background:#fff6eb;border:1px solid #f0c58b;border-left:5px solid var(--orange);border-radius:10px;padding:18px 20px;margin:-8px 0 25px}.price-alert-panel h2{font-size:17px;margin:0 0 6px;color:#8d480b}.price-alert-panel>p{color:#765a40;margin:0 0 13px}.price-alert-panel>div{padding:11px 0;border-top:1px solid #f1d7b2;display:flex;gap:14px;flex-wrap:wrap}.price-alert-panel span{color:#634f3d}
.status.キャンセル{color:#8d3740;background:#fbeaec}.cancellation-alert{margin:14px 0 0;background:#fff4f5;color:#832934;border:1px solid #efb9c0;border-left:4px solid #c83b46;padding:13px 14px;border-radius:6px;font-weight:700}.cancellation-alert>strong,.cancellation-alert>span{display:block}.cancellation-alert>span{margin-top:3px;color:#80545a;font-size:13px}.cancellation-guidance{margin-top:10px;padding:9px 11px;border-radius:5px;font-size:13px;line-height:1.55}.cancellation-guidance b{display:block;margin-bottom:2px}.cancellation-guidance.packaging{background:#fff5df;color:#70480d;border-left:3px solid #df941e}.cancellation-guidance.tracking{background:#edf7ff;color:#285b7e;border-left:3px solid #5599c9}
.future-support-shipping{display:inline-block;margin:13px 0 0;background:#e5f8ef;color:#08774d;border:1px solid #bde7d1;border-radius:5px;padding:7px 10px;font-size:13px;font-weight:750}
.shipping-state{white-space:nowrap;border-radius:30px;padding:5px 10px;font-size:12px;font-weight:700}.shipping-state.complete{color:#08774d;background:#e5f8ef}.shipping-state.pending{color:#a74900;background:#fff0de}.shipping-state.delayed,.shipping-state.cancelled{color:#a82f38;background:#fbeaec}.shipping-product-image{display:block;width:46px;height:46px;object-fit:contain;border:1px solid #dce5ed;border-radius:6px;background:#fff}
.shipping-table{min-width:1270px;table-layout:fixed}.shipping-table th{white-space:nowrap}.shipping-col-detail{width:86px}.shipping-col-image{width:86px}.shipping-col-product{width:330px}.shipping-col-quantity{width:78px}.shipping-col-deadline{width:126px}.shipping-col-country{width:82px}.shipping-col-tracking{width:188px}.shipping-col-supplier{width:128px}.shipping-col-status{width:128px}.shipping-table td:nth-child(1),.shipping-table td:nth-child(4),.shipping-table td:nth-child(5),.shipping-table td:nth-child(6){white-space:nowrap}.shipping-table td:nth-child(3),.shipping-table td:nth-child(7),.shipping-table td:nth-child(8){overflow-wrap:anywhere;word-break:break-word}.shipping-table td:nth-child(7),.shipping-table td:nth-child(8){white-space:normal}
.shipping-order-group td{padding:13px 18px 10px;background:#edf6fd;border-top:2px solid #c3dff1;border-bottom:1px solid #d8e8f3;color:#174c72}.shipping-order-group b{font-size:15px;letter-spacing:.01em}.shipping-order-group span{display:inline-block;margin-left:12px;padding:3px 8px;border-radius:999px;background:#d7eafa;color:#28688f;font-size:12px;font-weight:750}.shipping-order-group span.shipping-order-complex{background:#fff0d7;color:#a04c00;border:1px solid #f0c16a;font-weight:850}.shipping-item-row td{border-top:0}.shipping-item-row:first-of-type td{border-top:0}.shipping-item-index{white-space:nowrap;color:#557083;font-size:12px;font-weight:750;padding-left:18px!important}
.shipping-order-group .shipping-pdf-order-number{display:inline-block;margin-right:9px;padding:3px 8px;border-radius:999px;background:#174c72;color:#fff;font-size:12px;font-weight:850}
.shipping-order-group .shipping-cancelled-order-tag{display:inline-block;margin-left:10px;padding:4px 9px;border-radius:999px;background:#fde8ea;color:#a82f38;font-size:12px;font-weight:800}
.shipping-order-group .shipping-tracking-missing-order-tag{display:inline-block;margin-left:10px;padding:4px 9px;border-radius:999px;background:#fde8ea;color:#a82f38;border:1px solid #efb2b8;font-size:12px;font-weight:850}
.shipping-item-row.shipping-tracking-missing-row td{background:#fff6f6}.shipping-tracking-missing{display:inline-block;padding:4px 8px;border-radius:5px;background:#fde8ea;color:#a82f38;font-size:12px;font-weight:850}
.shipping-preflight-row td{padding:0 18px;border-top:0;background:#fff}.shipping-preflight-alert{display:flex;gap:10px;align-items:flex-start;margin:11px 0;padding:11px 13px;background:#fff5df;border:1px solid #efd28e;border-left:4px solid #df941e;border-radius:5px;color:#6d4a0b}.shipping-preflight-alert strong{white-space:nowrap}.shipping-preflight-alert span{line-height:1.5}
.shipping-preflight-alert.shipping-partial-alert{background:#fff0f0;border-color:#f1b5b5;border-left-color:#d84848;color:#922d2d}.shipping-preflight-alert.shipping-partial-alert b{display:block;margin-top:4px}
.shipping-cancellation-guidance{margin:11px 0;padding:13px;background:#fff4f5;border:1px solid #efb9c0;border-left:4px solid #c83b46;border-radius:5px;color:#832934}.shipping-cancellation-guidance>strong{display:block;margin-bottom:3px}.cancellation-shipping-status{margin-top:9px;padding:8px 10px;border-radius:5px;background:#fff;color:#6d3038;font-size:13px}
.shipping-order-actions td{padding:10px 18px 14px;background:#f8fbfd;color:#607688;font-size:12px}.shipping-order-actions .shipping-action-button{display:inline-block;margin:9px 8px 0 0}.shipping-action-complete{display:inline-block;margin-top:9px;color:#08774d;font-weight:750}
.shipping-label-message{display:block;margin-top:7px;color:#176cae;font-weight:700}
.shipping-item-check{display:flex;gap:5px;align-items:flex-start;color:#355c76;font-size:11px;font-weight:700;line-height:1.35;cursor:pointer}.shipping-item-check input{margin:1px 0 0;width:16px;height:16px;accent-color:#1577c9}.shipping-verification-note{display:block;margin-top:8px;color:#176cae;font-weight:700}
.shipping-product-name{display:block;line-height:1.45}.shipping-notes-row td{padding:0 18px 10px 138px!important;background:#fff;border-top:0}.shipping-master-note,.shipping-support-note{display:block;margin-top:7px;padding:8px 10px;border-radius:5px;font-size:12px;line-height:1.55}.shipping-master-note{background:#fff5df;color:#70480d;border-left:3px solid #df941e}.shipping-support-note{background:#edf7ff;color:#285b7e;border-left:3px solid #5599c9}.shipping-master-note strong,.shipping-support-note strong{display:block;font-size:11px;margin-bottom:3px}.shipping-master-note span,.shipping-support-note span{word-break:break-word}
.image-preview-dialog{border:0;padding:0;border-radius:14px;background:transparent}.image-preview-dialog::backdrop{background:#14293acc}.image-preview-card{position:relative;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:24px;background:#fff;border-radius:14px;box-shadow:0 18px 60px #10253a66}.image-preview-card h2{margin:4px 40px 12px 0;font-size:18px}.image-preview-card img{display:block;width:100%;max-height:calc(100vh - 190px);object-fit:contain;background:#f7fafc;border:1px solid #dce5ed;border-radius:8px}.image-preview-card .close{position:absolute;right:16px;top:16px;border:0;background:transparent;font-size:28px;line-height:1;color:#61788a;cursor:pointer}
.order-cancellation-dialog{border:0;padding:0;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:transparent;border-radius:14px}.order-cancellation-dialog::backdrop{background:#172534a8}.order-cancellation-card{padding:28px;background:#fff;border:1px solid #f0b8bf;border-top:6px solid #c83b46;border-radius:14px;box-shadow:0 22px 66px #10253a66;color:#263645}.order-cancellation-card h2{margin:4px 0 10px;color:#8f2633;font-size:24px}.order-cancellation-lead{margin:0 0 16px;color:#526d80;line-height:1.6}.cancellation-order-links{display:grid;gap:8px}.cancellation-order-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid #b9d4e7;border-radius:8px;background:#f4faff;color:#126aab;font-weight:800;text-decoration:none}.cancellation-order-link:hover{background:#e6f4ff;text-decoration:underline}.cancellation-order-link small{color:#4f6f83;font-weight:700}.cancellation-instructions{display:grid;gap:9px;margin:16px 0}.cancellation-instruction{padding:11px 13px;border-radius:7px;line-height:1.6;font-size:14px}.cancellation-instruction.packaging{background:#fff5df;border-left:4px solid #df941e;color:#70480d}.cancellation-instruction.tracking{background:#edf7ff;border-left:4px solid #5599c9;color:#285b7e}.cancellation-instruction strong{display:block;margin-bottom:2px}.cancellation-handling{display:grid;gap:10px;padding:14px;border:1px solid #b9d4e7;border-radius:8px;background:#f5faff}.cancellation-handling>strong{color:#1c5f8e;font-size:16px}.cancellation-handling>p{margin:0;color:#526d80;font-size:13px;line-height:1.55}.cancellation-handling>p.cancellation-detail-required{color:#b63b3b;font-weight:800}.cancellation-handling-item{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #d7e5ef;border-radius:7px;background:#fff}.cancellation-handling-item>div{display:grid;gap:3px}.cancellation-handling-item span,.cancellation-handling-item small{color:#5c7486;font-size:12px;font-weight:700}.cancellation-handling-item label{display:grid;gap:4px;min-width:168px;color:#486176;font-size:12px;font-weight:800}.cancellation-handling-item select{min-height:36px;padding:6px 8px;border:1px solid #b9cde0;border-radius:6px;background:#fff;color:#263b4d;font:inherit}.cancellation-handling .primary-button{justify-self:end}.cancellation-acknowledgement{display:flex;align-items:center;gap:9px;padding:12px 0 3px;font-weight:800;color:#3d586c;cursor:pointer}.cancellation-acknowledgement input{width:19px;height:19px;accent-color:#1577c9}.order-cancellation-card .dialog-actions{margin-top:14px}.order-cancellation-card .primary-button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:620px){.cancellation-handling-item{align-items:stretch;flex-direction:column}.cancellation-handling-item label{min-width:0}.cancellation-handling .primary-button{justify-self:stretch}}
.shipping-label-reminder-dialog{border:0;padding:0;width:min(600px,calc(100vw - 32px));background:transparent;border-radius:16px}.shipping-label-reminder-dialog::backdrop{background:#172534a8}.shipping-label-reminder-card{padding:34px;background:#fff;border:1px solid #b9ddec;border-top:6px solid #1677c8;border-radius:16px;box-shadow:0 22px 66px #10253a66;color:#263645;text-align:center}.shipping-label-reminder-card .eyebrow{margin:0;color:#126aab;font-size:28px;font-weight:850;letter-spacing:.03em;text-transform:none}.shipping-label-reminder-card h2{margin:8px 0 18px;color:#174d78;font-size:21px}.shipping-label-reminder-lead{margin:0;color:#506d82;font-size:17px;line-height:1.8}.shipping-label-reminder-lead strong{color:#126aab;font-size:22px}.shipping-label-reminder-count{display:inline-block;margin:21px 0 0;padding:9px 13px;border-radius:8px;background:#edf7ff;color:#245d83;font-weight:800}.shipping-label-reminder-card .dialog-actions{justify-content:center;margin-top:24px}.shipping-label-reminder-card .primary-button{min-width:240px}
.shipping-item-confirm-dialog{border:0;padding:0;width:min(720px,calc(100vw - 32px));background:transparent;border-radius:16px}.shipping-item-confirm-dialog::backdrop{background:#172534a8}.shipping-item-confirm-card{padding:30px;background:#fff;border:1px solid #f0d093;border-top:6px solid #df941e;border-radius:16px;box-shadow:0 22px 66px #10253a66;color:#263645}.shipping-item-confirm-card .eyebrow{margin:0;color:#9b6512;font-weight:850}.shipping-item-confirm-card h2{margin:7px 0 7px;color:#6d4a0b;font-size:24px}.shipping-item-confirm-card>p{margin:0;color:#526d80;line-height:1.65}.shipping-item-confirm-order-id{display:inline-block!important;margin:0 0 12px!important;padding:5px 9px;border-radius:6px;background:#edf7ff;color:#245d83!important;font-size:14px;font-weight:850;line-height:1.4!important}.shipping-item-confirm-items{display:grid;gap:10px;max-height:min(45vh,420px);margin:18px 0;overflow:auto;padding-right:3px}.shipping-item-confirm-row{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #c8dcec;border-radius:10px;background:#f7fbff}.shipping-item-confirm-row.complete{opacity:.72;background:#f4faf7}.shipping-item-confirm-row img,.shipping-item-confirm-no-image{flex:0 0 76px;width:76px;height:76px;box-sizing:border-box;object-fit:contain;border:1px solid #d2e0ec;border-radius:8px;background:#fff}.shipping-item-confirm-no-image{display:grid;place-items:center;padding:7px;color:#718596;font-size:12px;font-weight:700;text-align:center}.shipping-item-confirm-copy{display:grid;flex:1;min-width:0;gap:5px}.shipping-item-confirm-copy strong{font-size:17px;line-height:1.4}.shipping-item-confirm-quantity{color:#386079;font-size:15px}.shipping-item-confirm-quantity.multiple{color:#b33322;font-size:19px}.shipping-item-confirm-copy small{color:#278054;font-weight:800}.shipping-item-confirm-copy label{display:flex;align-items:center;gap:7px;color:#355c76;font-size:14px;font-weight:800;cursor:pointer}.shipping-item-confirm-copy label input{width:19px;height:19px;accent-color:#1577c9}.shipping-item-confirm-acknowledgement{display:flex;gap:9px;align-items:center;margin-top:12px;padding:13px;border-radius:8px;background:#fff5df;color:#6d4a0b;font-weight:800;cursor:pointer}.shipping-item-confirm-acknowledgement input{width:20px;height:20px;accent-color:#1577c9}.shipping-item-confirm-card .primary-button:disabled{opacity:.45;cursor:not-allowed}
.shipping-demo-banner{display:inline-block;margin:7px 0 0 10px!important;background:#fff0ce!important;color:#8a5300!important}.shipping-demo-label{display:inline-block;margin-top:9px;color:#8a5300;font-weight:700}
.shipping-cancel-button{display:inline-block;margin:9px 0 0 10px;color:#a82f38;background:transparent;border:0;text-decoration:underline;cursor:pointer;font:700 12px inherit}.dialog-field{display:block;margin-top:14px;font-size:13px;font-weight:700;color:#486176}.dialog-field select,.dialog-field textarea{display:block;box-sizing:border-box;width:100%;margin-top:6px;padding:9px;border:1px solid #b9cde0;border-radius:7px;background:#fff;font:inherit;color:#172434}.danger-button{border:1px solid #b22f39;background:#c83b46;color:#fff;border-radius:7px;padding:10px 14px;font:700 14px inherit;cursor:pointer}
.shipping-check-result{display:block;margin-top:7px;color:#176cae;font-weight:700}.shipping-action-note{display:block}
.shipping-order-actions .shipping-action-failed,.shipping-order-actions .shipping-action-escalate{display:block;margin-top:9px;padding:8px 11px;border-radius:7px;background:#fde8ea;color:#a82f38;border:1px solid #efb2b8;font-weight:800}
.shipping-order-actions .shipping-complete-error{display:block;margin-top:10px;padding:10px 12px;border-radius:7px;background:#fde8ea;color:#a82f38;border:1px solid #e2818b;font-weight:850}
.shipping-order-actions .shipping-action-escalate{background:#fff3e0;color:#a04c00;border-color:#eab95a}
.shipping-order-actions .shipping-seller-centre-button{border-color:#eab95a;background:#fff8ec;color:#8a4200;font-weight:800}.shipping-order-actions .shipping-seller-centre-button:hover{background:#fdeed6}
.shipping-order-actions .shipping-seller-centre-unavailable{margin-top:9px;color:#a82f38;font-weight:700}
.shipping-order-actions .shipping-label-wait{margin-top:9px;padding:8px 11px;border-radius:7px;font-weight:750}
.shipping-order-actions .shipping-label-wait-waiting{background:#eef5fb;border:1px solid #bcd7ee;color:#1c5c8f}
.shipping-order-actions .shipping-label-wait-stuck{background:#fff3e0;border:1px solid #eab95a;color:#a04c00;font-weight:800}
.return-entry-panel{margin-bottom:18px;padding:20px 21px}.return-entry-panel h2{margin:0 0 14px;font-size:18px}.return-entry-form{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(180px,.45fr) auto;gap:12px;align-items:end}.return-entry-form>*{min-width:0}.return-entry-form label{display:block;font-size:13px;font-weight:700;color:#486176}.return-entry-form input{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:10px;border:1px solid #b9cde0;border-radius:7px;background:#fff;font:inherit;color:#172434}.return-entry-form button{min-height:42px}.return-entry-actions{display:flex;gap:8px;align-items:center}.return-entry-actions button{white-space:nowrap}.return-order-verification,.form-message{min-height:20px;margin:12px 0 0;color:#176cae;font-size:13px;font-weight:700}.return-order-verification.error,.form-message.error{color:#b22f39}.return-order-verification.ok{color:#08774d}@media(max-width:900px){.return-entry-form{grid-template-columns:minmax(0,1fr) auto}.return-entry-form label:nth-of-type(2){grid-column:1/2}}@media(max-width:720px){.return-entry-form{grid-template-columns:1fr}.return-entry-form button{width:100%}.return-entry-actions{width:100%}}
.return-delete-button{border:1px solid #c53b45;background:#fff;color:#b22f39;border-radius:7px;padding:7px 11px;font:700 13px inherit;cursor:pointer;white-space:nowrap}.return-delete-button:hover{background:#fff1f2}.return-delete-button:disabled{opacity:.55;cursor:wait}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.zaico-stock-line{display:inline-flex;gap:12px;align-items:baseline;margin-top:5px;font-weight:700}.zaico-stock-line small{font-size:12px}.zaico-purchase-price{color:#764b18}
.product-image,.shipping-product-image{cursor:zoom-in;transition:transform .16s ease,box-shadow .16s ease}.product-image:hover,.product-image:focus{position:relative;z-index:5;transform:scale(2.15);transform-origin:left top;box-shadow:0 10px 24px rgba(22,43,67,.25);outline:2px solid #1677c8;outline-offset:2px}.shipping-product-image:hover,.shipping-product-image:focus{position:relative;z-index:5;transform:scale(3.2);transform-origin:left center;box-shadow:0 8px 20px rgba(22,43,67,.25);outline:2px solid #1677c8;outline-offset:2px}
.business-toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 16px;padding:12px 14px;background:#f4f9fd;border:1px solid #cfe1ef;border-radius:9px}.business-toolbar-status{color:#40607a;font-size:13px;font-weight:700;line-height:1.45}
.product-image-empty{display:grid;place-items:center;box-sizing:border-box;width:92px;height:92px;margin:0 0 8px;padding:8px;border:1px dashed #cdd9e3;border-radius:8px;background:#f7fafc;color:#718596;font-size:11px;font-weight:700;line-height:1.35;text-align:center}
.multi-order-alert{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;padding:11px 13px;background:#fff5df;border:1px solid #efd28e;border-left:4px solid #df941e;border-radius:5px;color:#6d4a0b}.multi-order-alert strong{white-space:nowrap}.multi-order-alert span{line-height:1.5}.purchase-verification{display:flex;gap:9px;align-items:flex-start;margin:13px 0 0;padding:10px 12px;background:#fffcf3;border:1px solid #edd9a7;border-radius:7px;color:#594419;cursor:pointer;line-height:1.45}.purchase-verification input{width:18px;height:18px;margin:1px 0 0;accent-color:#1577c9;flex:0 0 auto}.purchase-verification strong{font-weight:800}.procurement-item-saved{display:inline-block;margin:8px 0 0;padding:4px 9px;border-radius:999px;background:#e2f7ed;color:#16774a;font-weight:800;font-size:.88rem}
.inline-procurement{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;padding:16px 18px;background:#f4f9fd;border:1px solid #cfe1ef;border-radius:9px}.inline-procurement label{display:block;min-width:0;color:#486176;font-size:13px;font-weight:750}.inline-procurement input,.inline-procurement select,.inline-procurement textarea{display:block;box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #b9cde0;border-radius:7px;background:#fff;padding:10px;font:inherit;color:#172434}.inline-procurement textarea{resize:vertical}.inline-procurement.purchase-details{grid-template-columns:1fr .6fr}.inline-procurement .procurement-note{grid-column:1/-1}.inline-procurement .procurement-save-hint{display:block;margin-top:5px;color:#58758b;font-size:11px;font-weight:650;line-height:1.35}.inline-procurement .procurement-supplier-other[hidden]{display:none}@media(max-width:820px){.inline-procurement{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.inline-procurement{grid-template-columns:1fr}.inline-procurement .procurement-note{grid-column:auto}}.tracking-entry{margin-top:12px;padding:12px;background:#fffdf6;border:1px solid #efd8a9;border-radius:8px}.tracking-entry strong,.tracking-entry small{display:block}.tracking-entry small{color:var(--muted);margin:4px 0 9px}.tracking-entry>div{display:flex;gap:9px}.tracking-entry input{flex:1;min-width:0;border:1px solid #b9cde0;border-radius:6px;padding:8px;font:inherit}
.inline-procurement label[hidden]{display:none}
.procurement-inventory-jan-warning{display:block;margin-top:6px;color:#a22f35;font-size:12px;font-weight:750;line-height:1.45}
.procurement-single-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:2px}.procurement-single-actions .primary-button{min-width:170px}.procurement-single-actions .primary-button:disabled{opacity:.55;cursor:wait}
.shipping-label-batch{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 16px;padding:16px 18px;background:#f4f9fd;border:1px solid #b8d9ef;border-radius:10px}.shipping-label-batch strong,.shipping-label-batch span,.shipping-label-batch small{display:block}.shipping-label-batch strong{color:#174d78;font-size:18px}.shipping-label-batch span{margin-top:4px;color:#365d7b;font-weight:700}.shipping-label-batch small{margin-top:5px;color:#5e7488;line-height:1.45}.shipping-label-batch button{flex:0 0 auto;white-space:nowrap}@media(max-width:680px){.shipping-label-batch{align-items:stretch;flex-direction:column}.shipping-label-batch button{width:100%}}
.procurement-splits{grid-template-columns:repeat(3,minmax(0,1fr))}.procurement-splits-heading,.procurement-split-rows,.procurement-split-actions{grid-column:1/-1}.procurement-splits-heading{display:flex;gap:10px;align-items:baseline;color:#264c69}.procurement-splits-heading span{font-size:13px;font-weight:650}.procurement-splits-heading .quantity-mismatch{color:#b22f39}.procurement-split-rows{display:grid;gap:8px}.procurement-split-row{display:grid;grid-template-columns:1.1fr .45fr .7fr .45fr 1.15fr auto;gap:10px;align-items:end;padding:12px;background:#fff;border:1px solid #d9e7f1;border-radius:8px}.procurement-split-remove{margin-bottom:1px}.procurement-split-actions{display:flex;justify-content:flex-end;gap:9px;align-items:center;margin-top:2px}@media(max-width:900px){.procurement-split-row{grid-template-columns:repeat(2,minmax(0,1fr))}.procurement-split-remove{width:max-content}}@media(max-width:560px){.procurement-splits-heading{display:block}.procurement-split-row{grid-template-columns:1fr}.procurement-split-actions{justify-content:stretch}.procurement-split-actions button{flex:1}}
@media(max-width:480px){.login-page{padding:15px}.login-card{padding:30px 24px}}
.shipping-item-confirm-row .shipping-item-confirm-image:hover,.shipping-item-confirm-row .shipping-item-confirm-image:focus{transform:none;box-shadow:0 0 0 3px #1677c8;outline:0}
.image-hover-preview{position:fixed;z-index:10000;box-sizing:border-box;width:250px;height:250px;padding:8px;border:2px solid #1677c8;border-radius:10px;background:#fff;box-shadow:0 12px 34px #10253a55;pointer-events:none}.image-hover-preview img{display:block;width:100%;height:100%;object-fit:contain}
.workspace-loading-overlay{position:fixed;inset:0;z-index:10002;display:grid;place-items:center;padding:24px;background:#10253a80}.workspace-loading-overlay[hidden]{display:none}.workspace-loading-card{display:grid;justify-items:center;gap:11px;min-width:min(360px,calc(100vw - 48px));padding:30px 34px;border:1px solid #c9e0f2;border-radius:16px;background:#fff;color:#183850;box-shadow:0 18px 45px #10253a66;text-align:center}.workspace-loading-card strong{font-size:21px}.workspace-loading-card p{margin:0;color:#587287;font-size:15px}.workspace-loading-spinner{width:34px;height:34px;border:4px solid #d7e8f5;border-top-color:#1677c8;border-radius:50%;animation:workspace-loading-spin .8s linear infinite}@keyframes workspace-loading-spin{to{transform:rotate(360deg)}}.workspace-toast{position:fixed;right:24px;bottom:24px;z-index:10003;padding:12px 17px;border-radius:9px;background:#176cae;color:#fff;font-weight:750;box-shadow:0 8px 22px #10253a40}.workspace-toast[hidden]{display:none}@media(max-width:560px){.workspace-loading-overlay{padding:16px}.workspace-loading-card{min-width:0;width:100%;padding:26px 20px}.workspace-loading-card strong{font-size:19px}}
.procurement-splits-heading strong{display:none!important}.procurement-splits-heading{gap:0}
.cancellation-handling-item .cancellation-procured-notice {
  color: #b52b35;
  font-size: 14px;
  font-weight: 850;
}

.cancellation-handling-item .cancellation-procured-status {
  color: #b52b35;
  font-size: 15px;
}

.cancellation-handling-item .cancellation-tracking-required {
  color: #b52b35;
  line-height: 1.45;
}

.cancelled-procured-tracking-tasks{margin:0 0 18px;padding:16px 18px;border:1px solid #efb9c0;border-left:5px solid #c83b46;border-radius:10px;background:#fff4f5}.cancelled-procured-tracking-tasks h2{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:0;color:#8f2633;font-size:18px}.cancelled-procured-tracking-tasks h2 span{font-size:13px}.cancelled-procured-tracking-tasks>p{margin:7px 0 13px;color:#694c51;line-height:1.55}.cancelled-procured-tracking-tasks>div{display:grid;gap:8px}.cancelled-procured-tracking-tasks button{display:grid;grid-template-columns:minmax(220px,auto) 1fr auto;gap:12px;align-items:center;width:100%;padding:11px 13px;border:1px solid #e7bac0;border-radius:7px;background:#fff;color:#7e2832;text-align:left;cursor:pointer;font:inherit}.cancelled-procured-tracking-tasks button:hover,.cancelled-procured-tracking-tasks button:focus-visible{border-color:#c83b46;background:#fffafa;outline:2px solid #c83b46;outline-offset:2px}.cancelled-procured-tracking-tasks button b{color:#a12633}.cancelled-procured-tracking-tasks button span{font-weight:700;overflow-wrap:anywhere}.cancelled-procured-tracking-tasks button small{color:#80545a;font-weight:700;white-space:nowrap}.cancelled-procured-tracking-warning{margin:13px 0 0;padding:11px 13px;border:1px solid #efb9c0;border-left:4px solid #c83b46;border-radius:7px;background:#fff4f5;color:#8f2633}.cancelled-procured-tracking-warning strong,.cancelled-procured-tracking-warning span{display:block}.cancelled-procured-tracking-warning span{margin-top:3px;line-height:1.5;color:#80545a}@media(max-width:760px){.cancelled-procured-tracking-tasks button{grid-template-columns:1fr}.cancelled-procured-tracking-tasks button small{white-space:normal}}
/* 未入力トラッキング一覧: 複数個の荷物を見落とさないための強調 */
.tracking-input-work-meta .tracking-input-work-multiple-quantity { color: #c23030; }

/*
 * 仕入れ作業はiPad・iPhoneでも使うため、入力欄と主要操作をタップしやすくする。
 * 16px未満の入力文字はiPhone Safariが自動拡大するため、仕入れフォームでは使わない。
 */
@media (max-width: 820px) {
  #productList .product-card {
    padding: 16px;
  }

  .inline-procurement {
    gap: 12px;
    padding: 16px;
  }

  .inline-procurement input,
  .inline-procurement select,
  .inline-procurement textarea,
  .tracking-entry input {
    min-height: 44px;
    font-size: 16px;
  }

  .inline-procurement textarea {
    min-height: 96px;
  }

  .purchase-verification {
    padding: 12px;
    font-size: 16px;
  }

  .purchase-verification input {
    width: 22px;
    height: 22px;
  }

  .procurement-single-actions .primary-button,
  .procurement-split-actions .primary-button {
    min-height: 48px;
  }
}

@media (max-width: 560px) {
  main {
    padding: 20px 12px;
  }

  #productList .product-card {
    padding: 14px;
  }

  .product-top {
    gap: 10px;
  }

  .product-image-empty {
    width: 72px;
    height: 72px;
  }

  .inline-procurement {
    padding: 14px;
  }

  .procurement-single-actions,
  .procurement-split-actions {
    justify-content: stretch;
  }

  .procurement-single-actions .primary-button,
  .procurement-split-actions .primary-button {
    width: 100%;
  }
}
.inline-procurement .procurement-save-hint {
  font-size: 0;
}

.inline-procurement .procurement-save-hint::after {
  content: "選択内容はワークスペースへ保存され、注文バックアップ台帳へ記録されます。";
  font-size: 11px;
  line-height: 1.35;
}

/* 返品管理タブでは事業切替を中立表示にし、両事業共通であることを注記する。 */
.business-shared-note{align-self:center;margin-left:6px;padding:2px 8px;border-radius:999px;background:#e2ebf1;color:#5a7488;font-size:10px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.business-switch-shared{background:#e6edf2;border-style:dashed}

/* 発送期限の緊急度: 当日=警告(黄)、期限切れ(過去日/発送遅延)=危険(赤)。日付セルを目立たせる。 */
.shipping-deadline-cell small{display:block;font-size:10px;font-weight:850;margin-top:2px}
.shipping-deadline-overdue{background:#fde7e8;color:#a82f38;font-weight:800}
.shipping-deadline-due-today{background:#fff3d6;color:#9a5b00;font-weight:800}

/* 検索ヒット箇所の強調（黄マーカー）。 */
mark.search-hit{background:#fff3a0;color:inherit;padding:0 1px;border-radius:2px;font-weight:800}

/* 未対応キャンセルのバッジ・一覧（管理者の見落とし防止）。 */
/* 「少し前の情報です」の帯。Google連携切れ（赤）より弱い注意なので琥珀にし、小さく出します。 */
/* 検索中に畳んだ明細を開く1行。明細そのものではないので、控えめな見た目にします。 */
.order-item-more{display:block;width:100%;margin:0 0 10px;padding:9px 12px;border:1px dashed #c7d5e0;border-radius:8px;background:#f7fafc;color:#3f5d75;font-size:13px;font-weight:700;cursor:pointer;text-align:left}
.order-item-more:hover{background:#eef4f9;border-color:#a9c9e6}
.stale-data-notice{display:block;padding:7px 16px;background:#fdf3e0;color:#8a5a12;border-bottom:1px solid #ecd3a4;font-size:13px;font-weight:700;text-align:center}
.stale-data-notice[hidden]{display:none!important}
.google-auth-warning{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;padding:10px 16px;background:#fde7e8;color:#a82f38;border-bottom:1px solid #e99da4;font-size:14px;font-weight:800}
.google-auth-warning[hidden]{display:none!important}
.google-auth-warning-link{color:#fff;background:#a82f38;border-radius:6px;padding:6px 14px;font-weight:800;text-decoration:none;white-space:nowrap}
.google-auth-warning-link:hover{background:#8d2730}
.pending-cancellations-badge{display:inline-flex;align-items:center;gap:5px;background:#fde7e8;color:#a82f38;border:1px solid #e99da4;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;flex:0 0 auto}
.pending-cancellations-badge b{font-size:13px}
/* 発送手配が未実行の件数。未対応キャンセル（赤）と役割・意味が違うため、青系で区別します。 */
.pending-arrangements-badge{background:#e7f1fb;color:#174c72;border-color:#a9c9e6}
.pending-arrangement-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid #e2e8ee;border-radius:8px;background:#fbfdff}
.pending-arrangement-item b{font-size:14px;color:#174c72}
.pending-arrangement-item span{font-size:12px;color:#486176}
.pending-arrangement-item small{font-size:12px;color:#70869a}
.pending-arrangement-item small.overdue{color:#a82f38;font-weight:800}
@media(max-width:560px){.pending-arrangement-item{grid-template-columns:1fr}}
.pending-cancellations-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:50vh;overflow:auto}
.pending-cancellation-item{display:flex;flex-direction:column;padding:8px 10px;border:1px solid #e2e8ee;border-radius:8px;background:#fbfdff}
.pending-cancellation-item b{font-size:14px;color:#174c72}
.pending-cancellation-item small{color:#70869a}
.pending-cancellation-todo{margin:6px 0 0;padding:5px 8px;border-radius:6px;background:#fff5e6;border:1px solid #f0d29a;color:#8a5a00;font-size:12px;font-weight:700}
.pending-cancellation-done{align-self:flex-start;margin-top:8px;padding:5px 12px;font-size:12px}
.contact-checks{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.contact-check{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#334;white-space:nowrap;cursor:pointer}
.contact-check input{width:16px;height:16px;cursor:pointer}
/* 一覧のページ送り。件数（全N件中X-Y件目）と前へ/番号/次へ。 */
.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:14px 0 2px;padding:12px 14px;background:#f7fafc;border:1px solid var(--line);border-radius:9px}
.list-pagination-range{color:#486176;font-size:13px;font-weight:750}
.list-pagination-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.list-pagination-button{min-width:38px;padding:7px 12px;border:1px solid #b9cde0;border-radius:7px;background:#fff;color:#174c72;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.list-pagination-button:hover:not(:disabled){background:#eef5fb}
.list-pagination-button.active{background:#174c72;border-color:#174c72;color:#fff;cursor:default}
.list-pagination-button:disabled{opacity:.45;cursor:not-allowed}
.list-pagination-gap{padding:0 2px;color:var(--muted);font-size:13px;font-weight:750}
.list-pagination-row .list-pagination{margin:0}
@media(max-width:560px){.list-pagination{align-items:stretch;flex-direction:column}.list-pagination-buttons{justify-content:center}}
/* オーダー見出しの日付。全役割に見えるので、状態が一目で分かる色にする。 */
.shipping-order-date{display:inline-block;margin-left:10px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}
.shipping-order-date-complete{background:#e8f5ec;color:#1f6b3a;border:1px solid #b6ddc4}
.shipping-order-date-cancelled{background:#fdf0f1;color:#a82f38;border:1px solid #e2a3a8}
@media(max-width:560px){.shipping-order-date{display:block;margin:6px 0 0;width:max-content}}
.contact-check-mistake{color:#a82f38}
/* 発送ミスの報告。連絡チェックの並びの右端に置き、押し間違えないよう赤系で区別します。 */
.shipping-mistake-button{margin-left:auto;padding:6px 14px;border:1px solid #e2a3a8;border-radius:999px;background:#fdf0f1;color:#a82f38;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.shipping-mistake-button:hover{background:#f9dfe1}
.shipping-mistake-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.shipping-mistake-item input{width:18px;height:18px;margin:0}
.shipping-mistake-item span{display:grid;gap:3px;min-width:0}
.shipping-mistake-item small{color:var(--muted)}
.dialog-field-hint{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:650}
.contact-check-date{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:#2c6b3f;white-space:nowrap}
.contact-check-unshipped{color:#a86a00}
.shipping-order-contact td{background:#f6f9fc;padding-top:6px;padding-bottom:10px}
.contact-checks-order{margin-top:0;border-top:none;padding-top:0}
.shipping-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0;padding:12px 16px;border:1px solid var(--green);border-radius:10px;background:#f2fbf5}
.shipping-bulk-lead{font-size:14px;color:#1f5133}
.shipping-bulk-lead b{font-size:17px}
.shipping-bulk-body p{margin:0 0 10px}
.shipping-bulk-list{margin:6px 0 0;padding-left:18px;max-height:34vh;overflow:auto}
.shipping-bulk-list li{margin:3px 0;font-size:13px}
.shipping-bulk-target strong{color:#1f5133}
.shipping-bulk-excluded{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
.shipping-bulk-excluded strong{color:#a82f38}
.shipping-bulk-reason{color:#a82f38;font-weight:700;font-size:12px}
.shipping-bulk-empty{color:var(--muted)}
.shipping-pdf-order-number-unset{color:var(--muted);opacity:.7}
.shipping-idwait{display:block;margin-top:3px;font-size:11px;font-weight:700;color:#a86a00}

/* 要注意バイヤー防御：発送管理の赤表示（発送スタッフにも見える）と、管理者向けの警告一覧・設定 */
.shipping-buyer-alert{display:flex;flex-direction:column;gap:5px;margin:11px 0;padding:12px 14px;background:#fdecec;border:1px solid #e79a9a;border-left:5px solid #c2282f;border-radius:5px;color:#8d1f26}
.shipping-buyer-alert strong{font-size:15px}
.shipping-buyer-alert span{line-height:1.5}
.buyer-alerts-badge{background:#fbe0e2;color:#93222a;border-color:#dd8a92}
.buyer-alert-item{display:flex;flex-direction:column;gap:4px;padding:11px 13px;border:1px solid var(--line);border-left:4px solid #b9bec7;border-radius:5px;background:#fff}
.buyer-alert-item.buyer-alert-hold{border-left-color:#c2282f;background:#fdf3f3}
.buyer-alert-item.buyer-alert-warn{border-left-color:#df941e;background:#fffaf0}
.buyer-alert-item b{font-size:14px}
.buyer-alert-item p{margin:0;line-height:1.5}
.buyer-alert-item small{color:var(--muted)}
.buyer-alert-level{font-size:12px;font-weight:800;color:#8d1f26}
.buyer-alert-item.buyer-alert-warn .buyer-alert-level{color:#8a5a10}
.buyer-alert-item.buyer-alert-info .buyer-alert-level{color:var(--muted)}
.buyer-alert-item button{align-self:flex-start;margin-top:5px}
.buyer-screening-toggle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;white-space:nowrap}
.buyer-watch-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.buyer-watch-form .dialog-field{flex:1 1 220px}
.buyer-watch-form input[type=text]{width:100%}

/* 要注意バイヤーの手動登録・判断待ち・買い手1人ぶんの記録（管理者のみ） */
.buyer-search-results{display:flex;flex-direction:column;gap:9px;margin-top:11px}
.buyer-search-item{display:flex;flex-wrap:wrap;gap:11px;align-items:flex-start;justify-content:space-between;padding:11px 13px;border:1px solid var(--line);border-radius:5px;background:#fff}
.buyer-summary{display:flex;flex-direction:column;gap:3px;min-width:220px}
.buyer-summary b{font-size:14px}
.buyer-summary small,.buyer-summary-matched{color:var(--muted);font-size:12px}
.buyer-watched-tag{margin-top:4px;padding:3px 8px;border-radius:999px;background:#fbe0e2;color:#93222a;font-size:12px;font-weight:800;align-self:flex-start}
.buyer-review-block{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}
.buyer-review-block h3{margin:0 0 4px;font-size:14px}
/* 返品理由の「目安」。決めるのは管理者なので、色は注意を引く程度にとどめます。 */
.buyer-summary small.buyer-review-advice{margin-top:3px;padding:2px 8px;border-radius:999px;font-weight:700;align-self:flex-start}
.buyer-review-advice-buyer-fault{background:#fbe0e2;color:#93222a}
.buyer-review-advice-seller-fault{background:#e2eef7;color:#174c72}
.buyer-review-advice-judge{background:#fff5df;color:#6d4a0b}
.buyer-record-warning{padding:9px 11px;border-radius:5px;background:#fff5df;border:1px solid #efd28e;color:#6d4a0b;line-height:1.5}
.buyer-record-body{display:flex;flex-direction:column;gap:13px;max-height:62vh;overflow-y:auto}
.buyer-record-body h3{margin:0;font-size:14px}
.buyer-record-head{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:5px;background:var(--surface-muted,#f6f7f9);line-height:1.6}
.buyer-record-contact{padding:9px 11px;border:1px solid var(--line);border-left:3px solid #174c72;border-radius:5px;line-height:1.6}
.buyer-record-contact small{color:var(--muted)}
.buyer-record-orders{overflow-x:auto}
.buyer-record-orders table{width:100%;border-collapse:collapse;font-size:13px}
.buyer-record-orders th,.buyer-record-orders td{padding:6px 9px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}

/* 処理履歴の表示件数セレクタ（管理者画面・最下部のセクション） */
.history-page-size{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;white-space:nowrap;color:var(--muted)}
.history-page-size select{padding:5px 9px;border:1px solid var(--line);border-radius:5px;font-size:13px;font-weight:700}

/* 仕入れ管理での要注意バイヤーの表示（スタッフには理由・個人情報を出さない） */
/* 要注意バイヤーとの確定一致は仕入れを完全に止める。止まっていることが一目で分かる強さにする。 */
.procurement-buyer-block{display:block;margin-top:6px;padding:8px 11px;border-radius:5px;background:#c2282f;border:1px solid #8d1f26;color:#fff;font-size:13px;font-weight:800;line-height:1.5}
.procurement-buyer-allowed{display:block;margin-top:6px;padding:6px 11px;border-radius:5px;background:#eaf6ec;border:1px solid #9ac9a5;border-left:4px solid #2e7d43;color:#1f5a30;font-size:13px;font-weight:700;line-height:1.5}
.product-card.procurement-blocked{border-color:#e79a9a;background:#fffafa}
/* 「確認が必要」は仕入れ完了とも両立するため、状態バッジとは別にカード内へ出す。 */
/* 在庫切れの報告（2026-09-11）。「確認が必要」より強い赤にします。発送が止まっているためです。 */
.out-of-stock-block{display:block;margin-top:8px;padding:8px 11px;border-radius:5px;background:#fdecec;border:1px solid #e2a3a3;border-left:4px solid #c23d43;color:#7d1f24;font-size:13px;line-height:1.6}
.out-of-stock-block strong{display:block;font-weight:800}
.out-of-stock-block span{display:block;margin-top:2px}
.out-of-stock-block small{display:block;margin-top:2px;color:#8f3a3f;font-size:11px;font-weight:650}
.out-of-stock-block .text-button{margin-top:4px}
.shipping-out-of-stock-tag{display:block;margin-top:3px;color:#c23d43;font-size:11px;font-weight:800}
/* 在庫切れの報告ボタンは、ふだんは目立たせません（2026-09-11）。
   赤くて太い字だと、仕入れ先の欄で目を引き、うっかり押してしまう懸念があるためです。
   ふだんは仕入れ先の補足（仕入れ：9/11 …）と同じ灰色の細い字。
   カーソルを合わせた時とキーボードで選んだ時だけ赤くして、押す直前に分かるようにします。
   **押したあとの確認は従来どおりです。**見た目だけを控えめにしています。 */
.shipping-out-of-stock-button{display:block;margin-top:4px;padding:0;color:var(--muted);font-size:11px;font-weight:400;text-decoration:underline;text-underline-offset:2px}
.shipping-out-of-stock-button:hover,
.shipping-out-of-stock-button:focus-visible{color:var(--red)}
.out-of-stock-summary{display:grid;gap:6px;padding:8px 11px;border-radius:5px;background:#f7f8fa;border:1px solid #dfe3ea}
.out-of-stock-summary div{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.out-of-stock-summary small{color:#66707f}
.out-of-stock-summary b{font-weight:700;text-align:right}
/* 有在庫の在庫確認ダイアログの「今回有在庫で使う数量」は2点以上のときだけ出す（上の display:flex が hidden を打ち消すため） */
.out-of-stock-summary div[hidden]{display:none}
.procurement-review{display:block;margin-top:8px;padding:8px 11px;border-radius:5px;background:#fff6e8;border:1px solid #e3b477;border-left:4px solid #c97a16;color:#7a4a08;font-size:13px;line-height:1.6}
.procurement-review strong{display:block;font-weight:800}
.procurement-review span{display:block;margin-top:2px}
.procurement-review small{display:block;margin-top:2px;color:#8a6224;font-size:11px;font-weight:650}
.product-card.procurement-blocked .inline-procurement,.product-card.procurement-blocked .purchase-verification{opacity:.55}
.buyer-alert-blocked{display:block;margin-top:4px;color:#8d1f26;font-weight:700}
.buyer-alert-allowed{display:block;margin-top:4px;color:#1f5a30;font-weight:700}
/* 仕入れ完了後の修正（取り消しなしで仕入れ先・価格・税率を直す）。JANだけは触れない。 */
.inline-procurement .procurement-correction-notice{grid-column:1/-1;margin-bottom:4px;padding:9px 12px;border-radius:7px;background:#eef5fb;border:1px solid #bcd7ee;color:#1c5c8f;font-size:12px;line-height:1.6}
.inline-procurement .procurement-correction-notice strong{display:block;margin-bottom:3px;font-weight:800}
.inline-procurement input.procurement-jan-locked{background:#eef1f4;color:#5b6b7a;cursor:not-allowed}
.inline-procurement .procurement-jan-locked-note{display:block;margin-top:4px;color:#7a5200;font-weight:700}
/* トラッキングID入力の場面から、その場で仕入れ完了を取り消す動線（既存の取り消しフローを開くだけ）。 */
.procurement-tracking-warning .procurement-tracking-undo{justify-self:start;margin-top:9px}
/* トラッキングID未入力の一覧から、その場で仕入れ先・金額を直す／仕入れ完了を取り消す。 */
.tracking-input-work-correction{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:10px}
.tracking-input-work-correction details{flex:1 1 260px;min-width:0;border:1px solid #cfe1ef;border-radius:7px;background:#f4f9fd}
.tracking-input-work-correction summary{padding:8px 11px;color:#1c5c8f;font-size:13px;font-weight:800;cursor:pointer}
.tracking-input-work-correction-fields{display:grid;gap:9px;padding:0 11px 11px}
.tracking-input-work-correction-fields label{display:block;color:#486176;font-size:12px;font-weight:750}
.tracking-input-work-correction-fields input,.tracking-input-work-correction-fields select{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:8px;border:1px solid #b9cde0;border-radius:6px;background:#fff;font:inherit;color:#172434}
.tracking-input-work-correction-fields small{color:#58758b;font-size:11px;font-weight:650;line-height:1.45}
.tracking-input-work-correction-split{flex:1 1 260px;margin:0;color:#58758b;font-size:12px;font-weight:650;line-height:1.5}
/* 有在庫の引当（未発送で使用予定／実質残り）。在庫数の行のすぐ下に出す。 */
.inventory-allocation{display:block;margin-top:4px}
.inventory-allocation>small{display:block;color:#1c5c8f;font-weight:750}
.inventory-allocation-shortage>small{color:#a82f38;font-weight:850}
.inventory-allocation-lines{margin-top:3px}
.inventory-allocation-lines summary{color:#58758b;font-size:11px;font-weight:700;cursor:pointer}
.inventory-allocation-lines ul{margin:4px 0 0;padding-left:18px;color:#486176;font-size:11px;font-weight:650;line-height:1.6}

/* 資材マスタと資材連絡の選択式（2026-08-19）。在庫数は扱わないので、数字の欄はありません。 */
.supply-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;margin:12px 0;max-height:46vh;overflow-y:auto;padding:2px}
.supply-choice{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:1px solid #cfdbe5;border-radius:10px;background:#fff;font:inherit;color:#172434;cursor:pointer;text-align:center}
.supply-choice:hover{border-color:#8fb7d8;background:#f7fbff}
.supply-choice.selected{border-color:#1c7ed6;background:#eaf4fd;box-shadow:0 0 0 2px rgba(28,126,214,.18)}
.supply-choice img{width:100%;max-width:110px;height:84px;object-fit:contain;background:#fff}
.supply-choice-noimage{display:grid;place-items:center;width:100%;max-width:110px;height:84px;border:1px dashed #cfdbe5;border-radius:6px;color:#8aa1b4;font-size:11px;font-weight:700}
.supply-choice strong{font-size:12px;font-weight:750;line-height:1.4}
.supply-choice small{color:#58758b;font-size:11px;font-weight:700}
.supply-item-form{display:grid;grid-template-columns:2fr 2fr 2fr 1fr;gap:10px;align-items:end;margin-top:12px}
.supply-item-form .url-row{grid-column:1/-1}
.supply-item-list{display:grid;gap:12px;margin-top:12px}
.supply-item-row{display:grid;grid-template-columns:96px 1fr auto;gap:12px;align-items:start;padding:12px;border:1px solid #dce5ed;border-radius:10px;background:#fff}
.supply-item-disabled{background:#f4f6f8;opacity:.72}
.supply-item-image{width:96px;height:96px;object-fit:contain;border:1px solid #dce5ed;border-radius:8px;background:#fff}
.supply-item-noimage{display:grid;place-items:center;border-style:dashed;color:#8aa1b4;font-size:11px;font-weight:700}
.supply-item-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.supply-item-fields input{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:8px;border:1px solid #b9cde0;border-radius:6px;background:#fff;font:inherit;color:#172434}
.supply-item-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:132px}
.supply-item-order{color:#58758b;font-size:11px;font-weight:750;text-align:center}
.home-supply-report{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:start}
.home-supply-image{width:88px;height:88px;object-fit:contain;border:1px solid #dce5ed;border-radius:8px;background:#fff}
.home-supply-eta{color:#1c5c8f;font-weight:750}
@media(max-width:820px){
  .supply-item-form{grid-template-columns:1fr}
  .supply-item-row{grid-template-columns:1fr}
  .supply-item-fields{grid-template-columns:1fr}
  .supply-item-actions{flex-direction:row;flex-wrap:wrap}
}

/* 数値入力欄の上下矢印（スピナー）を出しません（2026-08-23）。
   金額・数量の欄で、マウスホイールや誤タップで値が黙って変わる事故を防ぐためです。
   type="number" のまま消すので、数字のみの入力・min/max・バリデーションは従来どおり効きます。
   ホイールでの値変更はCSSでは止まらないため、app.js 側でフォーカスを外して防いでいます。 */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}
input[type="number"]{-moz-appearance:textfield;appearance:textfield}

/* 設定タブ（2026-08-26新設）。たまにしか触らない編集UIの置き場です。 */
.settings-inbound-plan .home-section{border:0;padding:0;margin:0;background:transparent}
.settings-inbound-plan .home-section h2{font-size:14px;margin:0 0 4px}
.settings-inbound-plan .home-announcement{padding:10px;border:1px solid #dce5ed;border-radius:8px;background:#fff;margin-top:8px}

/* ラベルの4面まとめ印刷（2026-08-27）。A4ラベルシール（A6×4面）への配置用。 */
/* 開始面のセレクトを1つ置き、注意書きはその下に全幅で置きます。
   以前は3列のグリッド（オフセット欄があった名残）で、撤去後も列が残り、
   注意書きが右端の狭い列へ縦長に押し込まれていました。
   **display を指定すると hidden 属性が効かなくなる**ので、必ず打ち消しを添えます
   （これが無いと、管理者だけに出すはずの開始面が発送スタッフにも見えます）。 */
.label-sheet-controls{margin:12px 0 6px}
.label-sheet-controls[hidden]{display:none!important}
.label-sheet-controls .dialog-field{display:block;max-width:300px}
.label-sheet-controls .panel-note{margin:8px 0 0}
.label-sheet-controls select{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:8px;border:1px solid #b9cde0;border-radius:6px;background:#fff;font:inherit;color:#172434}
.label-sheet-list{display:grid;gap:6px;max-height:38vh;overflow-y:auto;margin-top:8px;padding:2px}
.label-sheet-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #dce5ed;border-radius:8px;background:#fff}
.label-sheet-item input{width:17px;height:17px;flex:none}
.label-sheet-item b{font-size:13px}
.label-sheet-item small{color:#58758b;font-size:11px;font-weight:700}
.label-sheet-empty{color:#58758b;font-size:13px;padding:10px}
.label-sheet-failed:not(:empty){margin-top:10px;padding:10px 12px;border:1px solid #e0a3a8;border-radius:8px;background:#fdf6f6;color:#8d2f38;font-size:12px}
.label-sheet-failed ul{margin:6px 0 0;padding-left:18px}
.label-sheet-scale-note{margin:10px 0 4px;padding:8px 11px;border:1px solid #efc875;border-radius:8px;background:#fff8e8;color:#8a5a08;font-size:12px;font-weight:700}
.label-offset-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end;margin-top:12px}
.label-offset-form[hidden]{display:none!important}
.label-offset-form .url-row{grid-column:1/-1}
.label-offset-form input{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:8px;border:1px solid #b9cde0;border-radius:6px;background:#fff;font:inherit;color:#172434}
@media(max-width:720px){.label-offset-form{grid-template-columns:1fr}}
.label-sheet-warning{margin:10px 0 0;padding:10px 12px;border:1px solid #efc875;border-radius:8px;background:#fff8e8;color:#8a5a08;font-size:13px;font-weight:750;line-height:1.6}
.label-sheet-warning[hidden]{display:none!important}

/* 未保存の入力があるパネル。自動更新で値が消えないようにしたうえで、
   「まだ保存していない」ことが目で分かるようにします（2026-09-08）。 */
.inline-procurement.has-unsaved-input {
  border-left: 3px solid #e08a1e;
  padding-left: 9px;
}
.inline-procurement.has-unsaved-input [data-procurement-save],
.inline-procurement.has-unsaved-input [data-split-save] {
  background: #e08a1e;
  border-color: #e08a1e;
  color: #fff;
}

/* 発送管理の表示更新に失敗したときの警告。中途半端な画面のまま気づかず作業されるのが
   いちばん困るので、はっきり出します（2026-09-10）。 */
.shipping-render-error {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #e99da4;
  border-left: 4px solid #c0392b;
  border-radius: 8px;
  background: #fdf2f2;
  color: #922d2d;
}
.shipping-render-error strong { display: block; margin-bottom: 3px; }
.shipping-render-error span { font-size: 13px; }
.shipping-render-error[hidden] { display: none !important; }
