.pt02-dialog { width:min(1200px,calc(100vw - 24px)); max-height:92dvh; overflow:auto; padding:24px; border:1px solid var(--line,#d7dfdd); border-radius:14px; color:var(--ink,#17211f); background:var(--surface,#fff); }
.pt02-dialog::backdrop { background:#13272588; }
.pt02-dialog header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.pt02-dialog h2,.pt02-dialog h3 { margin:0 0 12px; }
.pt02-dialog p { overflow-wrap:anywhere; }
.pt02-dialog fieldset { border:0; min-width:0; padding:0; margin:16px 0; }
.pt02-dialog label { display:grid; gap:6px; margin:10px 0; font-size:14px; }
.pt02-dialog input:not([type=checkbox]),.pt02-dialog select,.pt02-dialog textarea { width:100%; box-sizing:border-box; min-width:0; min-height:44px; padding:8px; border:1px solid var(--line,#bbc9c6); border-radius:6px; font:inherit; }
.pt02-dialog textarea { min-height:75px; }
.pt02-dialog .pt02-check { display:flex; align-items:center; gap:8px; }
.pt02-dialog .pt02-check input { min-width:20px; width:20px; height:20px; }
.pt02-dialog .pt02-rows { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; font-size:14px; }
.pt02-dialog th,.pt02-dialog td { padding:8px; border:1px solid var(--line,#d7dfdd); vertical-align:top; overflow-wrap:anywhere; }
.pt02-dialog th:first-child { width:36px; }
.pt02-dialog th:nth-child(5) { width:85px; }
.pt02-dialog .pt02-people { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pt02-dialog .pt02-person { border:1px solid var(--line,#d7dfdd); border-radius:8px; padding:12px; }
.pt02-dialog legend { font-weight:700; padding:0 4px; }
.pt02-dialog .pt02-list { display:grid; gap:12px; margin:16px 0; }
.pt02-dialog .pt02-list button { text-align:left; white-space:normal; overflow-wrap:anywhere; }
.pt02-dialog [data-pt02-error] { color:#a31d23; padding:10px; border:1px solid currentColor; }
.pt02-dialog [data-pt02-notice] { font-weight:600; }
.pt02-dialog [data-pt02-preview] { margin-top:24px; }
.pt02-dialog [data-pt02-pages] canvas,.pt02-dialog [data-pt02-pages] img { width:100%; max-width:800px; height:auto; display:block; margin:12px auto; }
.pt02-dialog .btn { min-height:44px; white-space:normal; }
@media(max-width:700px) {
  .pt02-dialog { padding:14px; }
  .pt02-dialog header { display:block; }
  .pt02-dialog .pt02-people { grid-template-columns:1fr; }
  .pt02-dialog .pt02-rows,.pt02-dialog tbody { display:block; }
  .pt02-dialog thead { display:none; }
  .pt02-dialog tr { display:block; border:1px solid var(--line,#d7dfdd); border-radius:8px; margin:14px 0; padding:6px; }
  .pt02-dialog td { display:block; border:0; width:auto; }
  .pt02-dialog td::before { content:attr(data-label); display:block; font-size:13px; font-weight:700; margin-bottom:6px; }
  .pt02-dialog .actions { display:flex; flex-direction:column; align-items:stretch; }
}
