/* Mitsumori 固有のレイアウト。寸法はトークン参照（nizukuri-design v2）。 */
[hidden] { display: none !important; }
input, select, textarea { box-sizing: border-box; }
.mt-brand { color: inherit; text-decoration: none; }
.mt-nav { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.inline-form { display: inline; margin: 0; }
.mt-stack { display: grid; gap: var(--space-4); max-width: var(--content-narrow); }
.mt-label { display: grid; gap: var(--space-1); font-size: var(--text-base); }
.mt-check { display: inline-flex; align-items: center; gap: var(--space-2); margin-block: var(--space-2); }
.mt-search { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-block: var(--space-4); }
.mt-search input[name="q"] { min-width: 20rem; }
input, select, textarea { min-height: var(--input-height); font: inherit; border: 1px solid var(--color-border); border-radius: var(--radius-sm, 4px); padding-inline: var(--space-2); background: #fff; max-width: 100%; }
textarea { padding-block: var(--space-2); width: 100%; }
.mt-num { text-align: right; width: 7rem; }

.mt-edit { display: grid; gap: var(--space-4); grid-template-columns: minmax(0, 1fr); }
.mt-left { display: grid; gap: var(--space-4); min-width: 0; grid-template-columns: minmax(0, 1fr); }
.mt-grid { display: grid; gap: var(--space-3); grid-template-columns: minmax(0, 1fr); }
.mt-grid input { width: 100%; }
.mt-wide { grid-column: 1 / -1; }
.mt-h2 { font-size: var(--text-lg); font-weight: bold; margin: 0 0 var(--space-3); }
.mt-h3 { font-size: var(--text-base); font-weight: bold; margin: var(--space-4) 0 var(--space-2); }
.mt-input-table td { padding: var(--space-1); }
.mt-input-table input[name="line_name"], .mt-input-table input[name="line_note"] { width: 100%; min-width: 9rem; }
.mt-amount { white-space: nowrap; }
.mt-side { min-width: 0; }
.mt-judge-numbers dl { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-3); margin: 0 0 var(--space-3); }
.mt-judge-numbers dt { margin: 0; }
.mt-judge-numbers dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.mt-strong { font-weight: bold; }
.mt-status { color: var(--color-text-muted); margin-block: var(--space-2); }
.mt-actions { display: grid; gap: var(--space-2); margin-block: var(--space-3); }
.mt-actions textarea { min-height: 4rem; }
.qr svg { width: 12rem; height: 12rem; }
.codes { columns: 2; font-size: var(--text-base); }

@media (min-width: 768px) {
  .mt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .mt-edit { grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; }
  .mt-sticky { position: sticky; top: var(--space-3); }
}
/* 依頼書「印刷ができない」: ブラウザの印刷では明細も判定も出さない。PDF は発行した帳票だけ */
@media print {
  body * { visibility: hidden; }
  .mt-print-note { visibility: visible; display: block; }
}
.mt-print-note { display: none; }
.mt-gap { margin-top: var(--space-4); }
.mt-issued { margin: 0; padding-left: var(--space-4); }
.mt-preview-sheet { margin-top: var(--space-4); }
.mt-past-form { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); align-items: end; margin-block: var(--space-4); }
.mt-past-form input { width: 100%; }
.mt-past-row td:first-child, .mt-past-row td:nth-child(5) { white-space: nowrap; }
