/* 品目・値段の画面と、レシートの品目の編集 */
.it-lb{font-size:13px;font-weight:700;color:var(--soft);margin-right:6px}
.it-q{min-width:min(100%,260px)}
.it-list{display:grid;gap:8px}
.it-row{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 14px;background:var(--card);border:2px solid var(--line);border-radius:14px;min-height:44px}
.it-row:hover{border-color:var(--blue)}
.it-nm{font-weight:900;overflow-wrap:anywhere}
.it-nm small{margin-left:8px;color:var(--soft);font-weight:500;font-size:12px}
.it-val{text-align:right;font-variant-numeric:tabular-nums}
.it-val small{display:block;color:var(--soft);font-size:11px}
.it-sub{grid-column:1/-1;font-size:12px;color:var(--soft)}
.it-insight{font-weight:700;color:var(--fg)}
.it-chart{width:100%;height:auto;max-height:260px;margin:8px 0}
.it-chart text{font-size:12px;fill:var(--soft)}
.it-chart .ax{stroke:var(--line);stroke-width:2}
.it-chart .avg{stroke:var(--soft);stroke-width:2;stroke-dasharray:6 5}
.it-chart .ln{fill:none;stroke:var(--blue);stroke-width:3;stroke-linejoin:round}
.it-chart .pt{fill:var(--card);stroke:var(--blue);stroke-width:3}
.it-chart .avgt{fill:var(--fg);font-weight:700}
.it-tbl-w{overflow-x:auto}
.it-tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.it-tbl th,.it-tbl td{padding:6px 8px;border-bottom:1px dashed var(--line);text-align:left;white-space:nowrap}
.it-tbl td:nth-child(n+4),.it-tbl th:nth-child(n+4){text-align:right}
.it-bar{padding:8px 0;border-bottom:1px dashed var(--line)}
.it-bar-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}
.it-track{height:12px;background:var(--bg);border-radius:99px;overflow:hidden;margin-top:4px}
.it-prev{height:7px}
.it-fill{height:100%;background:var(--blue);border-radius:99px}
.it-prev .it-fill{background:var(--soft)}
.it-rc{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:8px 10px;background:var(--card);border:2px solid var(--line);border-radius:14px}
.it-rc img{width:48px;height:64px;object-fit:cover;border-radius:6px;background:#eee}
.it-rc-t{display:grid;font-size:14px;overflow-wrap:anywhere}
.it-rc-t span{font-size:12px;color:var(--soft)}
.it-rc-edit{grid-column:1/-1}

/* レシートの品目を直す欄 */
.ri{margin:10px 0;padding:10px 0;border-top:2px dashed var(--line)}
.ri-h{margin:0 0 6px;font-weight:900}
.ri-tax{margin:6px 0 10px}
.ri-head{display:none}
.ri-row{display:grid;grid-template-columns:minmax(0,1fr) 4.5em;gap:6px 8px;padding:8px 0;border-bottom:1px dashed var(--line);align-items:center}
.ri-row .ri-pr{grid-column:1/-1;display:flex;gap:6px;align-items:center}
.ri-row .ri-price{flex:1;min-width:0;text-align:right}
.ri-row .ri-qty{text-align:right}
.ri-row .ri-cat{min-width:0;grid-column:1/2}
.ri-row .ri-del{grid-column:2/3;min-height:44px}
.ri-neg{min-height:44px}
.ri-sub,.ri-note{grid-column:1/-1;margin:0;font-size:12px}
.ri-sub{color:var(--soft)}
.ri-note{color:var(--deep);font-weight:700}
.ri-btns{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.ri-btns .btn,.ri-fix .btn,.ri-sub .btn{min-height:44px}
.ri-sum{border:2px solid var(--line);border-radius:12px;padding:8px 12px;font-size:14px;font-variant-numeric:tabular-nums}
.ri-sum.ok{border-color:var(--green)}
.ri-sum.ng{border-color:var(--red)}
.ri-fix{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.sc-biz .ri-cat{display:none}
.sc-biz .ri-row{grid-template-columns:minmax(0,1fr) 4.5em}
@media (min-width:820px){
  .ri-head{display:grid;grid-template-columns:minmax(0,2fr) 4em minmax(0,1.6fr) minmax(0,1.4fr) 6em;gap:8px;font-size:12px;color:var(--soft);font-weight:700}
  .ri-head .ri-hc{grid-column:4}
  .ri-row{grid-template-columns:minmax(0,2fr) 4em minmax(0,1.6fr) minmax(0,1.4fr) 6em}
  .ri-row .ri-pr{grid-column:auto}
  .ri-row .ri-cat{grid-column:auto}
  .ri-row .ri-del{grid-column:auto}
}

/* スマホ：品目1件を2行に詰める（1行目：品目名・金額／2行目：個数・項目・引く・消す） */
@media (max-width:820px){
  .ri-row{grid-template-columns:3.4em minmax(0,1fr) auto auto;grid-template-areas:"name name name price" "qty cat neg del";gap:6px;padding:6px 0}
  .ri-row .ri-pr{display:contents}
  .ri-row .ri-name{grid-area:name}
  .ri-row .ri-price{grid-area:price;width:6.5em;flex:none}
  .ri-row .ri-qty{grid-area:qty}
  .ri-row .ri-cat{grid-area:cat;grid-column:auto}
  .ri-row .ri-neg{grid-area:neg;padding:0 10px}
  .ri-row .ri-del{grid-area:del;grid-column:auto;padding:0 10px}
  .sc-biz .ri-row{grid-template-areas:"name name name price" "qty . neg del"}
}
@media (max-width:820px){.ri-row .ri-del,.ri-row .ri-neg{width:auto;justify-self:end;white-space:nowrap}.ri-row .ri-cat{width:100%}}
@media (max-width:820px){.ri-row{grid-template-columns:3.4em minmax(0,1fr) 3.8em 3.8em}.ri-row .ri-neg,.ri-row .ri-del{justify-self:stretch;padding:0 4px}}
@media (max-width:820px){.ri-row{grid-template-areas:"name name price price" "qty cat neg del"}.ri-row .ri-price{width:100%}.sc-biz .ri-row{grid-template-areas:"name name price price" "qty . neg del"}}

.ri-calc{font-size:12px;color:var(--soft);margin-top:2px}
.ri-minus{grid-column:1/-1;margin:0;font-size:12px;color:#b00020;font-weight:700}
.ri-row:has(.ri-minus) .ri-price{color:#b00020}
.ri-btns [data-ri-undo]:disabled{opacity:.45}
@media (max-width:820px){.ri-row{grid-template-areas:"name name price price" "qty cat neg del" "minus minus minus minus"}.ri-row .ri-minus{grid-area:minus}}

.ri-dup{grid-column:1/-1;margin:0;font-size:12px;color:#8a5a00;font-weight:700;background:#fff4d6;border-radius:8px;padding:4px 8px}
.ri-row:has(.ri-dup){background:#fffaf0}
@media (max-width:820px){.ri-row{grid-template-areas:"name name price price" "qty cat neg del" "dup dup dup dup" "minus minus minus minus"}.ri-row .ri-dup{grid-area:dup}}

/* 長いレシートを1枚ずつ撮る：見出し・ボタン・つなぎ目の確認 */
.ls-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 8px;padding:6px 10px;border-radius:10px;background:var(--card);border:2px solid var(--deep)}
.ls-head b{font-weight:900}
.ls-bar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.ls-bar .btn{min-height:48px;flex:1 1 150px}
.rs{border:2px solid var(--line);border-radius:12px;padding:8px 10px;margin:10px 0;min-width:0}
.rs-h{margin:0 0 4px;font-weight:900;font-size:15px}
.rs-note{margin:0 0 6px}
.rs-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.rs-col{min-width:0}
.rs-t{margin:0 0 2px;font-weight:700;font-size:13px;color:var(--soft)}
.rs-list{list-style:none;margin:0;padding:0}
.rs-list li{border-top:1px solid var(--line);min-height:36px;display:flex;align-items:center}
.rs-list li>.rs-n{flex:1;min-width:0;overflow-wrap:anywhere}
.rs-list li{gap:8px;justify-content:space-between;font-size:14px}
.rs-p{font-variant-numeric:tabular-nums;white-space:nowrap}
.rs-chk{display:flex;align-items:center;gap:8px;min-height:44px;width:100%;flex-wrap:wrap}
.rs-chk input{width:22px;height:22px;flex:none}
.rs-chk .rs-n{flex:1 1 40%;min-width:0;overflow-wrap:anywhere}
.rs-tag{font-size:12px;font-weight:700;color:#8a5a00;background:#fff4d6;border-radius:8px;padding:2px 6px}
.rs-del{min-height:44px;margin-top:8px}

.ri-disc{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--deep);font-size:12px}
.ri-disc .btn{min-height:36px;padding:0 10px;font-size:12px}

/* 税込・税抜は1行。合計の確認は「何円 多い／少ない」と、大きな選択ボタン */
.ri-taxline{margin:4px 0 8px;font-size:13px}
.ri-link{all:unset;cursor:pointer;color:var(--blue);text-decoration:underline;font-size:12px;margin-left:6px;display:inline-block;min-height:28px}
.ri-taxed summary{cursor:pointer;font-size:12px;color:var(--soft);min-height:32px}
.ri-gap{margin:0 0 4px;font-size:15px}
.ri-small{margin:4px 0;font-size:12px;color:var(--soft)}
.ri-opts{display:grid;gap:8px;margin:8px 0}
.ri-opts .btn{width:100%;min-height:48px;text-align:left;justify-content:flex-start;white-space:normal;line-height:1.4}
.ri-calcd summary{cursor:pointer;font-size:12px;color:var(--soft);min-height:32px}
.ri-sum.ok b{color:#12804c}

/* 品目の欄：ここからはレシートの中身の確認だと分かるように、白い箱＋紺の見出し。品目は1行おきに色を変えて、番号をつける */
.ri{background:#fff;border:2px solid var(--deep);border-radius:14px;padding:0 0 10px;margin:14px 0;border-top-width:2px;overflow:hidden}
.ri .ri-h{background:var(--deep);color:#fff;margin:0;padding:10px 12px;font-size:15px}
.ri > div,.ri > .ri-btns{padding-left:10px;padding-right:10px}
.ri [data-ri-tax]{padding-top:6px}
[data-ri-rows]{counter-reset:ri;padding:0 6px !important}
.ri-row{position:relative;counter-increment:ri;border-bottom:0;border-radius:10px;padding:8px 8px 8px 30px !important;margin:4px 0}
.ri-row:nth-child(odd){background:#f3f7ff}
.ri-row:nth-child(even){background:#fff8e6}
.ri-row::before{content:counter(ri);position:absolute;left:6px;top:14px;width:20px;text-align:center;font-size:12px;font-weight:900;color:var(--soft)}
.ri-row:has(.ri-dup){background:#fff0c2}
/* 行の幅を確保：外側の余白を詰め、番号は左上に小さく */
.ri > div,.ri > .ri-btns{padding-left:6px;padding-right:6px}
[data-ri-rows]{padding:0 2px !important}
.ri-row{padding:18px 6px 6px 6px !important}
.ri-row::before{left:8px;top:2px;width:auto;font-size:11px}
@media (max-width:820px){.ri-row{grid-template-columns:2.8em minmax(0,1fr) 3.4em 3.4em;gap:5px}.ri-row .ri-neg,.ri-row .ri-del{padding:0 2px;font-size:13px}}
