.preset-workbook-backdrop { position: fixed; inset: 0; z-index: 12000; padding: 20px; align-items: center; justify-content: center; background: var(--backdrop, #10243288); }
.preset-workbook-backdrop[hidden] { display: none !important; }
.preset-workbook { width: min(1120px, 100%); max-height: calc(100dvh - 40px); overflow: auto; box-sizing: border-box; padding: 20px; border: 1px solid var(--line, #c9d5e4); border-radius: 8px; color: var(--text, #152a40); background: var(--surface, var(--panel, #fff)); box-shadow: 0 20px 70px #10243240; font-size: 13px; }
.preset-workbook p { line-height: 1.5; overflow-wrap: anywhere; }
.preset-workbook__header, .preset-workbook__toolbar, .preset-workbook__footer { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.preset-workbook__header { justify-content: space-between; margin-bottom: 12px; }
.preset-workbook__header h3 { margin: 0; font-size: 18px; flex: 1; min-width: 0; }
.preset-workbook__header button { width: 32px; height: 32px; min-width: 32px; padding: 0; }
.preset-workbook .btn { min-height: 34px; height: auto; padding: 7px 10px; border-radius: 5px; white-space: normal; overflow-wrap: anywhere; line-height: 1.35; }
.preset-workbook__filename { overflow-wrap: anywhere; min-width: 0; }
.preset-workbook__template { display:inline-flex; align-items:center; text-decoration:none; font-weight:700; color:var(--text, #152a40); background:color-mix(in srgb,var(--pri, #3658ce) 13%,var(--surface, #fff)); border:1px solid color-mix(in srgb,var(--pri, #3658ce) 50%,var(--line, #c9d5e4)); }
.preset-workbook__options { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 14px 0; }
.preset-workbook__field { display: flex; flex-direction: column; gap: 5px; min-width: 0; font-weight: 600; }
.preset-workbook select, .preset-workbook input[type=number], .preset-workbook input[type=text] { width: 100%; min-width: 0; min-height: 34px; border: 1px solid var(--inputBorder, var(--line, #c9d5e4)); border-radius: 4px; padding: 6px 8px; box-sizing: border-box; color: var(--text, #152a40); background: var(--inputBg, var(--surface2, #f1f5fa)); font: inherit; }
.preset-workbook input[type=text] { min-width: 125px; }
.preset-workbook__note { color: var(--text2, #52677c); font-size: 12px; }
.preset-workbook__mapping { padding: 8px 0; border-block: 1px solid var(--line, #c9d5e4); margin-bottom: 10px; }
.preset-workbook__mapping summary { cursor: pointer; padding: 5px 0; }
.preset-workbook__status { min-height: 20px; font-weight: 600; }
.preset-workbook__table-wrap { overflow: auto; max-height: 40dvh; border: 1px solid var(--line, #c9d5e4); margin: 12px 0; border-radius: 5px; }
.preset-workbook table { border-collapse: collapse; width: 100%; font-size: 12px; }
.preset-workbook th, .preset-workbook td { text-align: start; vertical-align: top; padding: 9px; border-bottom: 1px solid var(--line, #c9d5e4); overflow-wrap: anywhere; min-width: 66px; }
.preset-workbook th { position: sticky; top: 0; background: var(--surface2, var(--panel2, #f1f5fa)); z-index: 1; }
.preset-workbook th:first-child, .preset-workbook td:first-child { min-width: 30px; }
.preset-workbook__issues { min-width: 180px !important; }
.preset-workbook__issues > span, .preset-workbook__issues > strong { display: block; margin-bottom: 4px; }
.preset-workbook__issues label { display: flex; gap: 6px; align-items: flex-start; margin-top: 8px; }
.preset-workbook input[type=checkbox] { flex: 0 0 auto; width: 16px; height: 16px; margin: 1px; }
.preset-workbook tr[data-status=invalid] strong, .preset-workbook tr[data-status=conflict] strong, .preset-workbook tr[data-status=failed] strong { color: var(--danger, #b83636); }
.preset-workbook tr[data-status=review] strong { color: var(--warning, #805910); }
.preset-workbook__footer { justify-content: flex-end; padding-top: 10px; }
.preset-workbook :focus-visible { outline: 2px solid var(--focus-ring, #526fe3); outline-offset: 2px; }
@media (max-width: 600px) {
  .preset-workbook-backdrop { padding: 8px; }
  .preset-workbook { max-height: calc(100dvh - 16px); padding: 13px; }
  .preset-workbook__options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preset-workbook__footer > .btn { flex: 1 1 100%; }
  .preset-workbook__header h3 { font-size: 16px; }
}
