.summary-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
.summary-item { display: grid; min-width: 0; gap: 2px; padding: 10px 11px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: inherit; text-align: left; text-decoration: none; }
.summary-item:hover, .summary-item.is-active { border-color: #83a5c2; background: #f1f6fa; }
.summary-item span { color: #506478; font-size: 10px; font-weight: 700; }
.summary-item strong { color: var(--text-strong); font-size: 18px; line-height: 1.15; }
.summary-item small { color: var(--muted); font-size: 9px; }

.registry-controls { overflow: hidden; margin-bottom: 12px; }
.search-row { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 9px; padding: 13px 15px; }
.advanced-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 13px 15px; border-top: 1px solid var(--border); background: #fafbfd; }
.advanced-filters .filter-actions { display: flex; align-items: flex-end; gap: 7px; }
.advanced-filter { margin: 0 15px 15px; border: 1px solid var(--border); border-radius: 10px; background: #fff; overflow: hidden; }
.advanced-filter summary { display: flex; align-items: center; gap: 8px; padding: 12px 16px; color: var(--primary); font-size: 12px; font-weight: 800; list-style: none; cursor: pointer; }
.advanced-filter summary::-webkit-details-marker { display: none; }
.advanced-filter summary::after { content: "▾"; margin-left: auto; color: var(--muted); font-size: 10px; }
.advanced-filter[open] summary { border-bottom: 1px solid var(--border); background: var(--surface-muted); }
.advanced-filter[open] summary::after { content: "▴"; }
.advanced-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; padding: 16px; }
.advanced-actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 8px; margin-top: 2px; }
.registry-table { min-width: 1120px; }

.work-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.work-filter-grid { display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(130px, .75fr)) auto; align-items: end; gap: 9px; padding: 14px; }
.work-table { min-width: 1080px; }
.work-reason { max-width: 320px; }

.create-steps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0 0 12px; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.create-step { display: flex; min-width: 0; min-height: 56px; align-items: center; gap: 7px; padding: 8px 10px; border: 0; border-right: 1px solid var(--border); background: #fff; color: #647588; text-align: left; }
.create-step:last-child { border-right: 0; }
.create-step b { display: grid; width: 23px; height: 23px; flex: 0 0 auto; place-items: center; border: 1px solid #aebdca; border-radius: 50%; font-size: 9px; }
.create-step span { overflow: hidden; font-size: 10px; font-weight: 700; text-overflow: ellipsis; }
.create-step.is-current { box-shadow: inset 0 -3px var(--gold); background: #f8fafc; color: var(--text-strong); }
.create-step.is-complete b, .create-step.is-current b { border-color: var(--primary); background: var(--primary); color: #fff; }
.source-case-list { display: grid; gap: 8px; margin-top: 12px; }
.source-case { display: grid; grid-template-columns: 28px minmax(0, 1.4fr) minmax(150px, .8fr) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--border); border-radius: 7px; background: #fff; }
.source-case:has(input:checked) { border-color: var(--primary); background: var(--surface-selected); }
.source-case input { accent-color: var(--primary); }
.source-case strong, .source-case small { display: block; }
.source-case strong { color: var(--text-strong); font-size: 12px; }
.source-case small { color: var(--muted); font-size: 10px; }
.readonly-context { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 12px; overflow: hidden; border: 1px solid var(--border); border-radius: 7px; background: var(--border); }
.readonly-context > div { min-width: 0; padding: 9px 10px; background: #f8fafc; }
.readonly-context span, .readonly-context strong { display: block; }
.readonly-context span { color: var(--muted); font-size: 9px; }
.readonly-context strong { overflow-wrap: anywhere; color: var(--text-strong); font-size: 11px; }

.case-context { display: grid; grid-template-columns: repeat(7, minmax(110px, 1fr)); gap: 1px; margin: 0 0 10px; overflow: hidden; border: 1px solid #17395d; border-radius: 7px; background: #294968; }
.case-context > div { min-width: 0; padding: 10px 11px; background: #0b3157; color: #f4f7fb; }
.case-context span, .case-context strong { display: block; }
.case-context span { color: #bbcad8; font-size: 9px; }
.case-context strong { margin-top: 2px; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.case-context .next { background: #123e66; }
.workflow-tabs { display: grid; grid-template-columns: repeat(8, minmax(120px, 1fr)); margin-bottom: 12px; overflow-x: auto; border: 1px solid var(--border); border-radius: 7px; background: #fff; }
.workflow-tabs a { position: relative; display: grid; min-height: 58px; align-content: center; gap: 5px; padding: 8px 10px; border-right: 1px solid var(--border); color: #536779; text-decoration: none; }
.workflow-tabs a:last-child { border-right: 0; }
.workflow-tabs a[aria-current="page"] { background: #f5f8fa; color: var(--text-strong); box-shadow: inset 0 -3px var(--gold); }
.workflow-tabs .tab-label { display: flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 750; }
.workflow-tabs .tab-label b { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: #e8edf2; font-size: 8px; }
.workspace-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(260px, .62fr); align-items: start; gap: 12px; }
.workspace-main { min-width: 0; }
.workspace-aside { position: sticky; top: calc(var(--topbar-height) + 12px); display: grid; min-width: 0; gap: 12px; }
.workspace-aside .panel { min-width: 0; }
.workspace-aside .document-row { grid-template-columns: minmax(0, 1fr) auto; }
.workspace-aside .document-row > :nth-child(2), .workspace-aside .document-row > :nth-child(3) { display: none; }
.current-task { border-color: #a8bbcc; }
.current-task .panel-heading { background: #f4f8fb; }
.task-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 0 15px 14px; }
.task-meta > div { padding: 8px; border: 1px solid #e0e6ec; border-radius: 6px; background: #fafbfd; }
.task-meta span, .task-meta strong { display: block; }
.task-meta span { color: var(--muted); font-size: 9px; }
.task-meta strong { color: var(--text-strong); font-size: 10px; }
.dimension-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.dimension-item { padding: 9px; border: 1px solid var(--border); border-radius: 6px; background: #fff; }
.dimension-item span, .dimension-item strong { display: block; }
.dimension-item span { color: var(--muted); font-size: 9px; }
.dimension-item strong { margin-top: 4px; color: var(--text-strong); font-size: 10px; }
.workflow-block { padding: 15px; border-top: 1px solid var(--border); }
.workflow-block:first-child { border-top: 0; }
.correction-list { display: grid; gap: 8px; }
.correction-item { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px; border: 1px solid #dfb0ac; border-radius: 7px; background: #fff8f7; }
.correction-item strong, .correction-item small { display: block; }
.correction-item strong { color: var(--danger); font-size: 11px; }
.correction-item p { margin: 4px 0; font-size: 10px; }
.correction-item small { color: var(--muted); font-size: 9px; }
.attempt-list { display: grid; gap: 7px; }
.attempt-card { display: grid; grid-template-columns: auto 1fr auto; gap: 9px; padding: 9px 10px; border-bottom: 1px solid #e4eaf0; }
.attempt-card strong, .attempt-card small { display: block; }
.attempt-card strong { color: var(--text-strong); font-size: 11px; }
.attempt-card small { color: var(--muted); font-size: 9px; }
.tracking-timeline { display: grid; gap: 0; margin: 12px 0; padding-left: 0; list-style: none; }
.tracking-event { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 9px; padding: 0 0 14px; }
.tracking-event .dot { width: 13px; height: 13px; margin-top: 3px; border: 3px solid #edf3f8; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 1px #8ca6bd; }
.tracking-event strong, .tracking-event small { display: block; }
.tracking-event strong { color: var(--text-strong); font-size: 11px; }
.tracking-event p { margin: 2px 0; font-size: 10px; }
.tracking-event small, .tracking-event time { color: var(--muted); font-size: 9px; }
.integration-status { display: flex; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid #c4d1dd; border-radius: 7px; background: #f5f8fa; }
.integration-status div { margin-right: auto; }
.integration-status strong, .integration-status small { display: block; }
.integration-status strong { color: var(--text-strong); font-size: 11px; }
.integration-status small { color: var(--muted); font-size: 9px; }

.day180-summary { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.day180-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr); align-items: start; gap: 12px; }
.day180-checklist { display: grid; gap: 8px; }
.day180-check { display: grid; grid-template-columns: 20px 1fr auto; align-items: start; gap: 8px; padding: 9px; border-bottom: 1px solid #e4eaf0; }
.day180-check strong, .day180-check small { display: block; }
.day180-check strong { font-size: 11px; }
.day180-check small { color: var(--muted); font-size: 9px; }

.metric-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.metric { display: block; min-width: 0; padding: 10px; border: 1px solid var(--border); border-top: 3px solid var(--primary); border-radius: 7px; background: #fff; color: inherit; text-decoration: none; }
.metric:hover { border-color: #7fa5c6; background: #f1f6fa; }
.metric span, .metric small { display: block; }
.metric span { min-height: 2.6em; color: #40556a; font-size: 10px; font-weight: 750; }
.metric strong { display: block; margin: 2px 0; color: var(--text-strong); font-size: 20px; }
.metric small { color: var(--muted); font-size: 9px; }
.chart-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.chart { padding: 13px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.chart h3 { margin: 0 0 12px; color: var(--text-strong); font-size: 12px; }
.bar-chart { display: grid; gap: 8px; }
.bar-row { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(70px, 1.3fr) 30px; align-items: center; gap: 7px; font-size: 9px; }
.bar-track { height: 14px; border-radius: 3px; background: #e7edf3; }
.bar-track i { display: block; width: var(--value); height: 100%; border-radius: inherit; background: #406f9a; }
.bar-row strong { text-align: right; }
.report-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 12px; }
.report-list { display: grid; align-content: start; gap: 5px; }
.report-list button { display: grid; gap: 2px; padding: 9px; border: 1px solid #d2dbe3; border-radius: 6px; background: #fff; color: var(--text); text-align: left; }
.report-list button.is-active { border-color: #7fa5c6; background: #eef5fb; }
.report-list strong { color: var(--text-strong); font-size: 10px; }
.report-list small { color: var(--muted); font-size: 9px; }

.presenter-drawer { position: fixed; z-index: 2200; top: 72px; right: 12px; width: min(360px, calc(100vw - 24px)); max-height: calc(100vh - 84px); overflow: auto; border: 1px solid #b9c7d5; border-radius: 10px; background: #fdfefe; box-shadow: var(--shadow-md); }
.presenter-header { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; gap: 8px; padding: 11px 12px; border-bottom: 1px solid var(--border); background: #f4f7fa; }
.presenter-header strong { margin-right: auto; color: var(--text-strong); font-size: 12px; }
.presenter-body { display: grid; gap: 12px; padding: 12px; }
.presenter-section { display: grid; gap: 7px; }
.presenter-section h3 { margin: 0; color: var(--text-strong); font-size: 11px; }
.presenter-note { padding: 9px; border: 1px solid #dbc184; border-radius: 7px; background: var(--gold-soft); color: #684b17; font-size: 10px; }
.presenter-flow { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }

@media (max-width: 1280px) {
  .summary-strip, .day180-summary, .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .advanced-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .work-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-grid { grid-template-columns: minmax(0, 1fr) 290px; }
}
@media (max-width: 980px) {
  .create-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .create-step:nth-child(3n) { border-right: 0; }
  .create-step:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
  .case-context { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
  .workspace-grid, .day180-layout, .report-layout { grid-template-columns: 1fr; }
  .workspace-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .advanced-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .summary-strip, .work-summary, .day180-summary, .metric-grid, .chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-row, .work-filter-grid { grid-template-columns: 1fr 1fr; }
  .search-row .field, .work-filter-grid .field:first-child { grid-column: 1 / -1; }
  .advanced-filters { grid-template-columns: 1fr 1fr; }
  .source-case { grid-template-columns: 24px 1fr; }
  .source-case > :nth-child(3), .source-case > :nth-child(4) { grid-column: 2; }
  .readonly-context, .dimension-grid, .task-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-context { grid-template-columns: repeat(2, minmax(140px, 1fr)); overflow-x: auto; }
  .workspace-aside { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .summary-strip, .work-summary, .day180-summary, .metric-grid, .chart-grid, .advanced-filters, .advanced-grid { grid-template-columns: 1fr; }
  .create-steps { grid-template-columns: 1fr; }
  .create-step { min-height: 44px; border-right: 0; border-bottom: 1px solid var(--border); }
  .create-step:last-child { border-bottom: 0; }
  .readonly-context, .dimension-grid, .task-meta { grid-template-columns: 1fr; }
  .search-row, .work-filter-grid { grid-template-columns: 1fr; }
  .search-row .button, .work-filter-grid .button { width: 100%; }
  .presenter-drawer { top: 64px; right: 6px; width: calc(100vw - 12px); max-height: calc(100vh - 70px); }
}

/* ---- Step 4: ข้อมูลคำร้องและศาล (fallback manual entry + live official-form preview) ---- */
.subsection { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px dashed var(--border); }
.subsection:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.subsection h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; color: var(--text-strong); font-size: 12px; }
.subsection h3 b { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--navy); color: #fff; font-size: 9px; font-weight: 800; }
.subsection > .check-row + .check-row { margin-top: 8px; }
.step4-fields .check-row { margin-top: 12px; }
.step4-fields .check-row:first-child { margin-top: 0; }
.choice-group { margin-top: 14px; }
.choice-group .choice-label { display: block; margin-bottom: 8px; color: #34485d; font-size: 11px; font-weight: 700; }
.choice-group .button-group .check-row { margin-top: 0; }

.step4-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, 1.05fr); align-items: start; gap: 16px; }
.step4-fields { display: grid; min-width: 0; gap: 0; }
.step4-aside { position: sticky; top: calc(var(--topbar-height) + 12px); min-width: 0; }

.warrant-paper-shell { display: grid; gap: 10px; padding: 15px; }
.warrant-paper-counter { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; font-weight: 700; }
.warrant-paper-frame { max-height: 76vh; overflow-y: auto; padding: 20px; border-radius: 8px; background: #e7ebef; }
.warrant-paper-switcher { display: flex; justify-content: center; gap: 6px; }
.warrant-paper-switcher button { min-width: 64px; min-height: 32px; padding: 0 10px; border: 1px solid #c4d0dc; border-radius: 6px; background: #fff; color: var(--primary); font-size: 10px; font-weight: 750; }
.warrant-paper-switcher button.active { border-color: var(--primary); background: var(--primary); color: #fff; }

.official-paper { position: relative; width: 100%; max-width: 720px; min-height: 860px; margin: 0 auto; padding: 46px 44px 40px; background: #fff; box-shadow: 0 2px 10px rgba(13, 27, 62, .1); color: #16233a; font-family: "Sarabun", Tahoma, sans-serif; font-size: 13px; line-height: 2.15; }
.official-paper .paper-code { position: absolute; top: 12px; left: 16px; color: #8593a4; font-size: 10px; }
.official-paper .paper-pageno { position: absolute; top: 12px; right: 16px; color: #8593a4; font-size: 10px; }
.official-paper .paper-watermark { position: absolute; top: 9px; left: 50%; padding: 2px 10px; border: 1px solid #dbc184; border-radius: 999px; background: var(--gold-soft); color: #7a5711; font-size: 10px; transform: translateX(-50%); white-space: nowrap; }
.official-paper .paper-emblem { display: block; width: 52px; height: 52px; margin: 4px auto 2px; object-fit: contain; }
.official-paper .paper-title { margin: 2px 0 16px; font-weight: 800; font-size: 14px; text-align: center; }
.official-paper .paper-section-title { margin: 16px 0 4px; font-weight: 800; }
.official-paper .paper-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 3px 0; }
.official-paper .paper-indent { margin: 6px 0; text-indent: 2em; }
.official-paper .paper-blank { display: inline-block; min-width: 70px; padding: 0 5px; border-bottom: 1px dotted #7f8fa1; color: #0b2748; font-weight: 700; text-align: center; }
.official-paper .paper-blank.wide { min-width: 180px; }
.official-paper .paper-blank.full { display: block; min-height: 52px; min-width: 100%; padding: 6px 4px; border-bottom: 1px dotted #7f8fa1; white-space: pre-wrap; }
.official-paper .paper-checkbox { display: inline-grid; width: 13px; height: 13px; margin-right: 2px; place-items: center; border: 1px solid #16233a; font-size: 10px; vertical-align: middle; }
.official-paper .paper-checkbox.checked::after { content: "✓"; }
.official-paper .paper-signature-row { display: flex; flex-direction: column; align-items: flex-end; gap: 26px; margin-top: 30px; }
.official-paper .paper-signature { width: 240px; text-align: center; }
.official-paper .paper-signature .sign-line { height: 28px; border-bottom: 1px dotted #7f8fa1; }
.official-paper .paper-signature small { display: block; margin-top: 6px; color: #16233a; font-size: 11px; line-height: 1.7; }

@media (max-width: 1180px) {
  .official-paper { max-width: 100%; padding: 32px 24px; font-size: 12px; }
}
@media (max-width: 980px) {
  .step4-grid { grid-template-columns: 1fr; }
  .step4-aside { position: static; }
}

.step4-fields .section-heading { margin-bottom: 12px; }
.step4-section-nav { display: flex; justify-content: space-between; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }

/* ---- ตรวจสอบข้อมูลก่อนส่งศาล: readiness checklist (หน้าตรวจสอบข้อมูลของธุรการคดี) ---- */
.readiness-panel { margin-top: 16px; }
.readiness-checklist { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.readiness-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; }
.readiness-item.pass { border-color: #bfe3cc; background: #f2faf5; }
.readiness-item.fail { border-color: #f0c3bd; background: #fdf3f2; }
.readiness-icon { display: grid; flex: 0 0 auto; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #b6bfc9; color: #fff; font-size: 10.5px; font-weight: 800; }
.readiness-item.pass .readiness-icon { background: #2f9e5b; }
.readiness-item.fail .readiness-icon { background: #d0392c; }
.readiness-item strong { display: block; color: var(--text-strong); font-size: 11.5px; }
.readiness-item small { color: var(--muted); font-size: 10px; }
.readiness-docs h3 { margin: 4px 0 10px; color: var(--text-strong); font-size: 12px; }

/* ---- หน้าตรวจสอบหมายจับแบบโฟกัสเดียว (เหมือนกิจกรรมที่ 6) ---- */
.review-step { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; padding: 12px 14px; border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; }
.review-step.done { border-color: #bfe3cc; background: #f2faf5; }
.review-step.pending { border-color: #f3d19b; background: #fffaf0; }
.review-step-icon { display: grid; flex: 0 0 auto; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #b6bfc9; color: #fff; font-size: 11px; font-weight: 800; }
.review-step.done .review-step-icon { background: #2f9e5b; }
.review-step.pending .review-step-icon { background: #e0972c; }
.review-step > div:nth-child(2) { flex: 1; min-width: 0; }
.review-step strong { display: block; color: var(--text-strong); font-size: 11.5px; }
.review-step small { color: var(--muted); font-size: 10px; }
.review-step .button { flex: 0 0 auto; }
.source-link-box { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid #bfe3cc; border-radius: 8px; background: #f2faf5; color: #1f6b3d; }
.source-link-box strong { display: block; color: #155c31; font-size: 11.5px; }
.source-link-box small { color: #3c7b56; font-size: 10px; }

/* ---- ข้อ 6B/6C/6D: enforcement sub-forms, screening log ---- */
.subsection h4 { margin: 0 0 10px; color: var(--text-strong); font-size: 11.5px; font-weight: 750; }
.screening-log { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--border); }
.screening-log h4 { margin: 0 0 4px; color: var(--text-strong); font-size: 11.5px; }
.screening-log-item { padding: 10px 12px; border: 1px solid var(--border-strong); border-radius: 8px; background: #fafbfd; }
.screening-log-item strong { display: block; color: var(--text-strong); font-size: 11px; }
.screening-log-item small { color: var(--muted); font-size: 9.5px; }
.screening-log-item p { margin: 6px 0 0; color: var(--text-strong); font-size: 11px; line-height: 1.6; }
