/* 経費管理アプリ独自の見た目（共通の style.css のあとに読み込む）。色は変数で書く */
[hidden] { display: none !important; }

.dropzone {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  min-height: 180px; padding: 24px; text-align: center; cursor: pointer;
  border: 2px dashed var(--line-strong); border-radius: var(--r); background: var(--surface-2); color: var(--ink-2);
}
.dropzone:hover, .dropzone.is-over { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.dropzone:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }

.queue-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; }
.list a .queue-item { padding: 0; }
.queue-item .item-main { display: flex; flex-direction: column; min-width: 0; }
.queue-item .item-sub { overflow-wrap: anywhere; }

.receipt-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px; align-items: start; }
.receipt-view { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 8px; }
.receipt-view img { display: block; width: 100%; max-height: 80vh; object-fit: contain; border-radius: var(--r-sm); background: var(--surface-2); }
.receipt-view iframe { width: 100%; height: 75vh; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--surface-2); }
@media (max-width: 860px) {
  .receipt-layout { grid-template-columns: 1fr; }
  .receipt-view { position: static; }
  .receipt-view img { max-height: 60vh; }
  .receipt-view iframe { height: 60vh; }
}
.receipt-tools { margin-top: 16px; }

.tax-box { border: 1px solid var(--line); border-radius: var(--r-sm); padding: 10px 14px; }
.tax-box summary { cursor: pointer; font-weight: 600; color: var(--ink-2); min-height: 28px; }
.tax-box[open] summary { margin-bottom: 10px; }

.items-table input, .items-table select { min-width: 0; width: 100%; }
.items-table td.num input { text-align: right; }
@media (min-width: 641px) {
  .items-table td { padding-left: 4px; padding-right: 4px; }
  .items-table td:first-child { width: 40%; }
  .items-table td.num input { width: 5.5em; }
  .items-table td.num:nth-child(2) input { width: 4em; }
  .items-table select { width: 5.5em; }
}
#items-sum.is-diff { color: var(--danger); font-weight: 600; }

.thumb { width: 44px; height: 44px; object-fit: cover; border-radius: var(--r-sm); background: var(--surface-2); display: block; }
.thumb-pdf { display: grid; place-items: center; font-size: .7rem; font-weight: 700; color: var(--muted); border: 1px solid var(--line); }
.summary-table th:first-child, .summary-table td:first-child { white-space: nowrap; }
.summary-table tfoot td, .summary-table tfoot th { font-weight: 700; background: var(--surface-2); }
.section-title { margin-top: 32px; }
.toolbar > select { width: auto; max-width: 100%; flex: 0 1 auto; }
.list-tools { margin: 16px 0 8px; }
