/* ===================== 賃金表（号俸表）作成ツール ===================== */
.wt-section { padding-top: 8px; }
.wt-layout { display: grid; grid-template-columns: 350px 1fr; gap: 30px; align-items: start; }
@media (max-width: 920px) { .wt-layout { grid-template-columns: 1fr; } }

/* ---- 入力パネル ---- */
.wt-panel { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px; position: sticky; top: 90px; }
@media (max-width: 920px) { .wt-panel { position: static; } }
.wt-panel .field { margin-bottom: 14px; }
.wt-panel label { display: block; font-size: 12.5px; font-weight: 700; margin-bottom: 6px; }
.wt-panel label .hint { font-weight: 400; color: var(--text-soft); font-size: 11px; }
.wt-panel input[type="text"], .wt-panel input[type="number"] {
  width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px;
  background: #fff; color: var(--text); font-family: inherit; font-size: 14px;
}
.wt-panel input:focus { outline: none; border-color: var(--yellow); box-shadow: 0 0 0 3px var(--yellow-tint); }
.wt-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wt-row2 .field { margin-bottom: 0; }

/* ---- 各級の設定 ---- */
.wt-gsettings { margin-top: 4px; max-height: 320px; overflow-y: auto; padding-right: 4px; }
.wt-grow { display: grid; grid-template-columns: 42px 1fr 1fr; gap: 8px; align-items: end; margin-bottom: 8px; }
.wt-grow .wt-glabel { font-weight: 700; color: var(--yellow-dark); font-size: 13px; padding-bottom: 9px; }
.wt-grow label { font-size: 10.5px; font-weight: 500; color: var(--text-soft); margin-bottom: 3px; }
.wt-grow input { width: 100%; padding: 8px 9px; border: 1px solid var(--line); border-radius: 8px; font-family: inherit; font-size: 13px; background: #fff; color: var(--text); }
.wt-grow input:focus { outline: none; border-color: var(--yellow); box-shadow: 0 0 0 2px var(--yellow-tint); }

.wt-orient { display: flex; gap: 16px; }
.wt-orient label { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; font-size: 13px; cursor: pointer; }
.wt-note { margin-top: 12px; font-size: 11.5px; color: var(--text-soft); line-height: 1.7; }

/* ---- 出力（賃金表本体） ---- */
.wt-main { min-width: 0; }
.wt-toolbar { margin-bottom: 14px; font-size: 12.5px; color: var(--text-soft); }
.wt-print { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 26px 24px; }
.wt-doc-head { text-align: center; margin-bottom: 18px; }
.wt-doc-company { font-size: 14px; color: var(--text-soft); }
.wt-doc-title { font-size: 23px; font-weight: 700; letter-spacing: .1em; margin: 4px 0 6px; }
.wt-doc-meta { font-size: 12px; color: var(--text-soft); }
.wt-tablewrap { overflow-x: auto; }
.wt-table { border-collapse: collapse; width: 100%; font-size: 13px; }
.wt-table th, .wt-table td { border: 1px solid #c4c8ca; padding: 6px 9px; text-align: right; white-space: nowrap; }
.wt-table thead th { background: var(--yellow-tint); color: var(--yellow-dark); text-align: center; font-weight: 700; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.wt-table .wt-corner { background: #eef0f1; }
.wt-table .wt-rowh { background: #f6f7f8; text-align: center; font-weight: 700; color: var(--text); }
.wt-table tbody tr:nth-child(even) td { background: #fcfcfd; }
.wt-foot-note { margin-top: 14px; font-size: 10.5px; color: var(--text-soft); text-align: center; }

/* ---- 印刷（賃金表だけを出力） ---- */
@media print {
  body * { visibility: hidden; }
  .wt-print, .wt-print * { visibility: visible; }
  .wt-print { position: absolute; left: 0; top: 0; width: 100%; border: none; border-radius: 0; padding: 0; }
  .no-print { display: none !important; }
  .wt-tablewrap { overflow: visible; }
  .wt-table { font-size: 10px; width: 100%; }
  .wt-table th, .wt-table td { padding: 3px 5px; }
  .wt-table tbody tr { page-break-inside: avoid; }
  .wt-doc-title { font-size: 18px; }
}
