/* 入金レポートの全店まとめ（/nyukin）・店ごとの分析（/nyukin/store/{店}）で共用。色は共通トークン＋グラフ用の段階色 */
/* 全店の入金レポート。色は共通トークン（暗色は _header.html が token ごと差し替える）＋グラフ用の段階色 */
/* 右下の X のボタンは、このページでは出さない（狭い画面で一覧や表の上に重なっていた）。_footer.html が style 属性で出すので !important */
.x-fab{display:none!important}
/* 公開ページ ⇄ 審査ページの切替（運営だけ・サーバが出す）。審査ページ admin-nyukin.html にも同じ見た目 */
.nys-swrow{display:flex;justify-content:flex-end;margin:0 0 4px}
.nys-sw{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:10em;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:.82rem;font-weight:700;text-decoration:none}
.nys-sw:hover{border-color:var(--primary);color:var(--primary)}
.nys-sw:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.nys-sw svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nys-sw b{min-width:20px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:.72rem;line-height:20px;text-align:center}
.nys{max-width:1200px;margin:0 auto;padding:16px 16px 96px;color:var(--text-primary);
  --nys-box:var(--bg-card);
  --ramp-0:#86b6ef;--ramp-1:#5598e7;--ramp-2:#2a78d6;--ramp-3:#1c5cab;--ramp-4:#104281;--ramp-5:#0a3265;--ramp-6:#05214a;
  --series-1:#2a78d6;--series-2:#eb6834;--chart-grid:#E2E8F0;--chart-surface:#FFFFFF;
  --nys-star:#C77700}   /* 星＝白・薄い面の上で 3:1 以上（--warning の #F59E0B は 2.0〜2.2 しかない） */
@supports (background:color-mix(in srgb,red 5%,white)){.nys{--nys-box:color-mix(in srgb,var(--primary) 4%,var(--bg-card))}}
[data-theme="dark"] .nys{--ramp-0:#eef5fe;--ramp-1:#c9dffa;--ramp-2:#a3c8f4;--ramp-3:#7cb0ee;--ramp-4:#5598e7;--ramp-5:#3380dd;--ramp-6:#256abf;
  --series-1:#3987e5;--series-2:#d95926;--chart-grid:#334155;--chart-surface:#1E293B;--nys-star:var(--warning)}
.nys-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin:8px 0 16px}
.nys h1{font-size:1.5rem;font-weight:800;line-height:1.4;margin:0 0 6px}
.nys-lead{margin:0;max-width:720px;font-size:.92rem;line-height:1.8;color:var(--text-secondary)}
.nys-summary{margin:6px 0 0;max-width:720px;font-size:.92rem;line-height:1.8;font-weight:600;color:var(--text-primary)}
.nys-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:12px;background:var(--primary);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;white-space:nowrap}
.nys-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
[data-theme="dark"] .nys-btn{color:#0F172A}
.nys-btn:focus-visible,.nys-seg button:focus-visible,.nys-sel:focus-visible,.nys-table th button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.nys-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 16px;padding:12px 14px;background:var(--nys-box);border:1px solid var(--border);border-radius:14px}
.nys-filters label{font-size:.8rem;color:var(--text-secondary)}
.nys-seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-card)}
.nys-seg button{min-height:40px;padding:0 14px;border:0;background:none;font:inherit;font-size:.85rem;color:var(--text-primary);cursor:pointer}
.nys-seg button+button{border-left:1px solid var(--border)}
.nys-seg button[aria-pressed="true"]{background:var(--primary);color:#fff;font-weight:700}
[data-theme="dark"] .nys-seg button[aria-pressed="true"]{color:#0F172A}
.nys-sel{min-height:40px;padding:0 32px 0 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:.85rem}
.nys-count{margin-left:auto;font-size:.82rem;color:var(--text-secondary)}
.nys-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}
@media (min-width:720px){.nys-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1080px){.nys-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}
.nys-kpi{padding:14px 16px;background:var(--nys-box);border:1px solid var(--border);border-radius:14px;min-width:0}
.nys-kpi dt{font-size:.78rem;color:var(--text-secondary)}
.nys-kpi dd{margin:4px 0 0;font-size:1.6rem;font-weight:800;line-height:1.2}
.nys-kpi small{display:block;margin-top:2px;font-size:.75rem;color:var(--text-secondary)}
.nys-card{margin:0 0 16px;padding:20px;background:var(--nys-box);border:1px solid var(--border);border-radius:14px;min-width:0}
.nys-card h2{font-size:1.05rem;font-weight:800;margin:0 0 4px}
.nys-card-sub{margin:0 0 14px;font-size:.8rem;line-height:1.6;color:var(--text-secondary)}
.nys-grid2{display:grid;gap:16px}
@media (min-width:960px){.nys-grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nys-grid2 .nys-card{margin:0}}
.nys-grid2{margin:0 0 16px}
.nys-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;padding:0;list-style:none;font-size:.78rem;color:var(--text-secondary)}
.nys-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.nys-chart{position:relative;width:100%}
.nys-empty{padding:20px;text-align:center;font-size:.88rem;color:var(--text-secondary);background:var(--bg-card);border:1px dashed var(--border);border-radius:10px}
.nys-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}
.nys-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.88rem}
.nys-table th,.nys-table td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}
.nys-table th:first-child,.nys-table td:first-child{text-align:left;position:sticky;left:0;background:var(--bg-card)}
.nys-table thead th{font-size:.75rem;font-weight:700;color:var(--text-secondary);background:var(--bg-main)}
.nys-table thead th:first-child{background:var(--bg-main)}
.nys-table th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:32px}
.nys-table th button::after{content:"↕";font-size:.8rem;opacity:.45}
.nys-table th[aria-sort="ascending"] button::after{content:"↑";opacity:1}
.nys-table th[aria-sort="descending"] button::after{content:"↓";opacity:1}
.nys-table th button:hover{color:var(--primary)}
.nys-table th[aria-sort="ascending"] button,.nys-table th[aria-sort="descending"] button{color:var(--primary)}
.nys-table td{font-variant-numeric:tabular-nums}
.nys-table tbody tr:last-child td{border-bottom:0}
.nys-store{display:inline-flex;align-items:center;gap:2px;min-height:32px;color:var(--primary);font-weight:700;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--primary) 35%,transparent);text-underline-offset:3px}
.nys-store:hover{text-decoration-color:currentColor}
.nys-store svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.nys-store:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:4px}
.nys-hint{margin:8px 0 0;font-size:.78rem;color:var(--text-secondary)}
.nys-table tr.is-few td{color:var(--text-secondary)}
.nys-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border);color:var(--text-secondary)}
.nys-more{margin-top:10px}
.nys-more summary{cursor:pointer;min-height:40px;display:inline-flex;align-items:center;font-size:.82rem;font-weight:600;color:var(--primary)}
.nys-more-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:6px}   /* 狭い画面では表だけ横に動かす（はみ出して切れていた） */
.nys-more table{width:100%;border-collapse:collapse;font-size:.8rem}
.nys-more th,.nys-more td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}
.nys-more th:first-child,.nys-more td:first-child{text-align:left}
.nys-note{margin:0;font-size:.78rem;line-height:1.8;color:var(--text-secondary)}
.nys-note li{margin:0 0 2px}
@media (max-width:640px){.nys h1{font-size:1.3rem}.nys-card{padding:16px}.nys-kpi dd{font-size:1.35rem}.nys-count{margin-left:0;width:100%}
  /* 絞り込み＝見出しと入力を 1 行ずつ（見出しだけ行末に取り残されていた） */
  .nys-filters{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
  .nys-filters .nys-seg{display:flex}.nys-filters .nys-seg button{flex:1;padding:0 8px}
  .nys-filters .nys-sel{width:100%;min-width:0}.nys-filters .nys-count{grid-column:1 / -1}}
.nys-sm-only{display:none}
@media (max-width:800px){.nys-sm-only{display:inline}}

/* ── 単店の入金レポート（/nyukin/store/{店}）─────────────────────────── */
/* 項目は縦中央でそろえる：リンクだけ min-height 32px（押しやすさ）なので、そろえないと素の文字の項目が上に寄る */
.nys-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:4px 0 8px;padding:0;list-style:none;font-size:.82rem;color:var(--text-secondary)}
.nys-crumb li+li::before{content:"›";margin-right:8px;color:var(--text-muted)}
.nys-crumb a{display:inline-flex;align-items:center;min-height:32px;color:var(--text-secondary);text-decoration:none}
.nys-crumb a:hover{color:var(--primary)}
.nys-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin:8px 0 0}
.nys-links a{display:inline-flex;align-items:center;gap:4px;min-height:36px;font-size:.88rem;font-weight:700;color:var(--primary);text-decoration:none}
.nys-links a:hover{text-decoration:underline}
.nys-links svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nys-kpi .nys-cmp{display:block;margin-top:4px;font-size:.75rem;font-weight:500;color:var(--text-secondary)}
.nys-few{margin:0 0 16px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card);font-size:.85rem;line-height:1.7;color:var(--text-secondary)}
.nys-legend .is-line i{border-radius:50%}
/* 投稿の一覧（カードではなく 1 件 1 行） */
.nsl-ctrl{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin:0 0 12px}
.nsl-ctrl label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--text-secondary)}
.nsl-ctrl .nys-sel{min-width:130px}
@media (max-width:640px){.nsl-ctrl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nsl-ctrl .nys-sel{min-width:0;width:100%}.nsl-ctrl .nsl-check{grid-column:1 / -1}}
.nsl-check{flex-direction:row!important;align-items:center;gap:8px!important;min-height:40px;font-size:.85rem!important;color:var(--text-primary)!important;cursor:pointer}
.nsl-check input{width:20px;height:20px;accent-color:var(--primary)}
.nsl-count{margin:0 0 8px;font-size:.85rem;color:var(--text-secondary)}
.nsl-list{list-style:none;margin:0;padding:0;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}
.nsl-row{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}
/* 狭い画面: 上から「店・入金まで・満足度・減額」→ コメント → スクショ → 区分・投稿月（すべて全幅）
   広い画面: 1 行目を列に揃える（見出しの行と同じ幅）。.nsl-top・.nsl-foot は広い画面では箱を消して、中身を列に並べる */
.nsl-body{display:contents}
.nsl-body .nsl-cmt{order:1}.nsl-shot{order:2}.nsl-foot{order:3}
/* スクショ＝横長のまま全部見せる（押すとページの上の窓で大きく）。白地の画面写しなので枠と白い下地を付ける */
.nsl-shot{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px;min-width:0}
.nsl-shot-a{display:block;max-width:min(100%,560px);cursor:zoom-in;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;line-height:0}
.nsl-shot-a img{display:block;max-width:100%;max-height:140px;width:auto;height:auto}
.nsl-shot-a:hover{border-color:var(--primary)}
.nsl-shot.is-off{align-self:flex-start;align-items:center;flex-wrap:nowrap;gap:8px;padding:6px 10px;border:1px dashed var(--border);border-radius:8px;color:var(--text-secondary);font-size:.78rem;line-height:1.5}
.nsl-shot.is-off svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.nsl-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0}
.nsl-top .nsl-store{flex-basis:100%}
.nsl-body .nsl-cmt{margin:0}
.nsl-foot{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px}
.nsl-body .nsl-meta{margin:0}
.nsl-month{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}
.nsl-month .nsl-lbl{margin-right:4px;font-size:inherit}
.nsl-head{display:none}
/* 列を揃えるのは、列が収まる幅から（全店の一覧は買取店の列が増えるので広め）。760px からにしていた時は右の列が切れていた */
@media (min-width:1024px){
  .nsl-list:not(.has-store) .nsl-body{display:grid;grid-template-columns:7.5rem 7.5rem 12rem minmax(0,1fr) 7rem;column-gap:18px;row-gap:8px;align-items:center;min-width:0}
  .nsl-list:not(.has-store) .nsl-top,.nsl-list:not(.has-store) .nsl-foot{display:contents}
  .nsl-list:not(.has-store) .nsl-row{display:block}
  .nsl-list:not(.has-store) .nsl-body .nsl-cmt,.nsl-list:not(.has-store) .nsl-shot{grid-column:1 / -1}
  .nsl-list:not(.has-store) .nsl-month{font-size:.85rem}
  .nsl-list:not(.has-store) .nsl-lbl{display:none}
  .nsl-list:not(.has-store) .nsl-head{display:grid}
}
@media (min-width:1200px){
  .nsl-list.has-store .nsl-body{display:grid;grid-template-columns:9rem 7.5rem 7.5rem 12rem minmax(0,1fr) 7rem;column-gap:18px;row-gap:8px;align-items:center;min-width:0}
  .nsl-list.has-store .nsl-top,.nsl-list.has-store .nsl-foot{display:contents}
  .nsl-list.has-store .nsl-row{display:block}
  .nsl-list.has-store .nsl-body .nsl-cmt,.nsl-list.has-store .nsl-shot{grid-column:1 / -1}
  .nsl-list.has-store .nsl-month{font-size:.85rem}
  .nsl-list.has-store .nsl-lbl{display:none}
  .nsl-list.has-store .nsl-head{display:grid}
}
.nsl-head{padding-top:10px;padding-bottom:10px;background:var(--bg-main);border-radius:12px 12px 0 0;font-size:.75rem;font-weight:700;color:var(--text-secondary)}
.nsl-row:last-child{border-bottom:0}
.nsl-media-n{display:flex;gap:4px}
.nsl-store{min-height:32px;font-size:.92rem}
.nsl-media-n a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border:1px solid var(--border);border-radius:6px;font-size:.72rem;font-weight:700;color:var(--primary);text-decoration:none;background:var(--bg-card)}
.nsl-pay{font-size:1.05rem;font-weight:800;white-space:nowrap}
.nsl-pay small{font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-right:4px}
.nsl-red.is-raw{white-space:normal}
.nsl-red{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--bg-main);border:1px solid var(--border);white-space:nowrap}
.nsl-red svg{width:13px;height:13px;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.nsl-red.is-ok{background:var(--success-light);border-color:transparent}
.nsl-red.is-ok svg{stroke:var(--success)}
.nsl-red.is-cut svg{stroke:var(--danger)}
.nsl-stars{color:var(--nys-star);letter-spacing:1px;white-space:nowrap}
.nsl-cmt{font-size:.92rem;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.nsl-meta{font-size:.75rem;color:var(--text-secondary)}
.nsl-meta span{white-space:nowrap}
.nsl-none{padding:28px;text-align:center;color:var(--text-secondary)}
.nsl-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:16px 0 0}
.nsl-pager button,.nsl-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:.9rem;cursor:pointer}
.nsl-pager [aria-current="page"]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700;cursor:default}
[data-theme="dark"] .nsl-pager [aria-current="page"]{color:#0F172A}
.nsl-pager .is-gap{border:0;background:none;min-width:20px;padding:0;cursor:default}
.nsl-pager button:focus-visible,.nsl-shot-a:focus-visible,.nsl-media-n a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
@media (max-width:420px){.nsl-row{padding:12px}}
/* 指で押す端末＝押せる所を 44px 以上に */
@media (pointer:coarse){.nys-seg button,.nys-sel,.nys-more summary,.nsl-check,.nys-links a,.nys-table th button{min-height:44px}.nys-store,.nsl-store{min-height:40px}}
