/* R1 の作り直し（tools）2026-10-08。app.css の後に読む
   e4 提示（フレーズ）/ e5 フレーズ / e7 サイズ換算 / e8 連絡文 / c7・c8 発送ボックス */

/* ---------- 共通：モーダル本文の中では左右の余白を本文に合わせる ---------- */
#phrasebook-body .ui-chips,
#size-chart-body .ui-table,
#dealer-templates-body .ui-rows,
#shipping-body .ui-rows,
#shipping-body .ui-btns,
#shipping-body .ui-bar,
#shipping-body .ui-fields,
#shipping-body .ui-sec,
#shipping-body .ui-note,
#phrasebook-body .ui-fields,
#phrasebook-body .ui-btns,
#phrasebook-body .ui-note,
#size-chart-body .ui-note { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }

/* ---------- e5 フレーズ ---------- */
#phrasebook-body .pb-chips { margin: 0 -16px; padding: 12px 16px 0; }
#phrasebook-body .pb-chips + .pb-chips { padding-top: 10px; }
#phrasebook-body .ui-chip { flex: none; white-space: nowrap; }
.pb-rows { display: flex; flex-direction: column; margin-top: 10px; }
.pb-row {
  display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 0;
  border-bottom: 1px solid var(--line); cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.pb-row:active { background: var(--s1); }
.pb-row:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; border-radius: 6px; }
.pb-row-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pb-row-t { font-size: 17px; font-weight: 700; line-height: 1.35; color: var(--ink); overflow-wrap: anywhere; }
.pb-row-s { font-size: 13px; line-height: 1.45; color: var(--t2); }
.pb-fav {
  flex: none; width: 44px; height: 44px; margin-right: -10px; display: inline-flex; align-items: center; justify-content: center;
  background: none; border: 0; padding: 0; color: var(--t3); cursor: pointer;
}
.pb-fav.is-fav { color: var(--ink); }
.pb-fav:active { transform: scale(.9); }

/* 数字（大きく表示） */
#phrasebook-body .pb-num { padding-top: 18px; }
.pb-num-row { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 8px; }
.pb-num-row .ui-input-wrap input { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }

/* e4 提示：テーマに関わらず明るい紙。トークンをこの中だけ明るい値に置き直す */
.pb-present {
  --bg: #fbfbfa; --s1: #f2f2f0; --s2: #e9e9e6; --line: #e4e4e1; --ink: #0e0e0e; --t2: #5e5e5b; --t3: #9a9a96;
  --card: #ffffff; --on-ink: #fbfbfa;
  color-scheme: light;
  position: fixed; inset: 0; z-index: 900; background: var(--bg); color: var(--ink); overflow-y: auto;
  opacity: 0; transition: opacity var(--t-ui); padding-bottom: calc(var(--safe-bottom) + 24px);
}
.pb-present.in { opacity: 1; }
.pb-present[hidden] { display: none; }
.pb-present .modal-header { background: var(--bg); }
.pb-present .modal-close { color: var(--ink); }
.pb-present .modal-close::before { content: attr(data-label); }
.pb-present .modal-header-actions button { color: var(--ink); }
.pb-present .ui-label { color: var(--t2); }
.pb-present .ui-big-s { color: var(--t2); }
.pb-present .pb-present-t { font-size: clamp(34px, 10vw, 60px); letter-spacing: -.8px; line-height: 1.18; }
.pb-present .pb-present-kana { font-size: 16px; }
@media (min-width: 900px) {
  .pb-present { left: 50%; right: auto; width: 640px; margin-left: -320px; }
}

/* ---------- e7 サイズ換算 ---------- */
#size-chart-body .sc-seg > button { white-space: nowrap; }
#size-chart-body .ui-seg > button.on { box-shadow: none; }
#size-chart-body .ui-table { margin-top: 14px; }
.sc-r {
  width: 100%; border: 0; border-top: 1px solid var(--line); background: none; color: var(--ink); font: inherit; font-size: 15px;
  text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.sc-r.hi { background: var(--s2); font-weight: 700; }
.sc-r:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.ui-table-r > span { min-width: 0; overflow-wrap: anywhere; }

/* ---------- e8 連絡文 ---------- */
#dealer-templates-body .dt-seg > button { white-space: nowrap; font-size: 14px; }
#dealer-templates-body .ui-seg > button.on { box-shadow: none; }
.dt-subject { display: flex; align-items: baseline; gap: 10px; margin: 16px 4px 0; font-size: 14px; color: var(--ink); }
.dt-subject .ui-label { flex: none; }
.dt-preview {
  margin-top: 10px; border-radius: var(--radius-card); background: var(--s1); padding: 16px 18px;
  font-size: 15px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--ink);
  -webkit-user-select: text; user-select: text;
}
#dealer-templates-body .dt-rows { margin-top: 6px; }
#dealer-templates-body .dt-row .ui-row-body { cursor: pointer; }
#dealer-templates-body .dt-val { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dt-edit { padding: 0 0 12px; }
.dt-edit[hidden] { display: none; }
.dt-edit input[type="date"] { min-height: 50px; }

/* ---------- c7 発送ボックス（一覧） ---------- */
.ship-list { display: flex; flex-direction: column; margin-top: 8px; }
.ship-r {
  display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 18px 0 16px; border: 0; border-bottom: 1px solid var(--line);
  background: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.ship-r:active { background: var(--s1); }
.ship-r-top, .ship-r-mid { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.ship-r-t { font-size: 18px; font-weight: 700; letter-spacing: -.2px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ship-r-st { flex: none; font-size: 13px; color: var(--ink); font-weight: 600; }
.ship-r-st.t2 { color: var(--t2); font-weight: 400; }
.ship-r-s { font-size: 13px; color: var(--t2); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ship-r-w { flex: none; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ship-r .ui-bar-track { height: 3px; }

/* ---------- c8 箱の詳細 ---------- */
#shipping-body .ship-seg { margin-top: 12px; }
#shipping-body .ui-seg > button.on { box-shadow: none; }
#shipping-body .ship-gauge { padding-top: 16px; }
#shipping-body .ship-gauge .ui-bar-top > :last-child { white-space: nowrap; text-align: right; }
#shipping-body .ship-fields { padding-top: 16px; }
#shipping-body .ui-input-r { flex: none; white-space: nowrap; word-break: keep-all; }
#shipping-body button.ui-input-r { color: var(--ink); min-height: 44px; }
#shipping-body button.ui-input-r:disabled { color: var(--t3); }
#shipping-body .ship-rows { margin-top: 8px; }
#shipping-body .ship-rows .ui-row-act { text-decoration: none; }
#shipping-body .ship-rows a.ui-row-act { color: var(--ink); }
.ship-grid2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.ship-grid2 .ui-input-wrap input { min-width: 0; }
#shipping-body .ship-cost { padding-top: 4px; }
#shipping-body .ship-danger { padding-top: 28px; }
#shipping-body .ship-form { padding-top: 16px; }
#shipping-body .ship-unboxed { width: 100%; border: 0; background: none; color: var(--ink); font: inherit; text-align: left; }
#shipping-body .ship-unboxed[aria-busy="true"] { opacity: .5; }

/* 数値欄の上下矢印は出さない（R1 の入力欄） */
:is(#phrasebook-body, #shipping-body) input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
:is(#phrasebook-body, #shipping-body) input[type="number"]::-webkit-inner-spin-button,
:is(#phrasebook-body, #shipping-body) input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
