/* Unified task detail: all overrides stay inside this one sheet. */
#taskDetailSheet:has(> .td-dock) {
  --td-dock-height: 140px;
  align-items: flex-end;
}
#taskDetailSheet > .panel.td-detail-panel {
  width: min(650px, 100%);
  max-height: 94vh;
  max-height: 94dvh;
  margin: auto auto 0;
  padding: 20px 18px calc(var(--td-dock-height, 140px) + 24px);
  scroll-padding-bottom: calc(var(--td-dock-height, 140px) + 24px);
  overscroll-behavior: contain;
  overflow-anchor: none;
  scrollbar-gutter: stable;
}
#taskDetailSheet > .td-detail-panel > .section-head {
  align-items: center;
  margin: 0 0 12px !important;
  padding: 0 !important;
}
#taskDetailSheet > .td-detail-panel > .section-head h2 {
  font-size: 18px;
  margin: 0;
}
#taskDetailSheet > .td-detail-panel > .section-head p {
  display: none;
}
#taskDetailSheet > .td-detail-panel > .section-head button {
  min-height: 44px;
  font-size: 16px;
  padding: 8px 12px;
  line-height: 1.5;
}
#taskDetailContent.td-unified {
  color: var(--ink, #17332a);
  font-size: 16px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified *,
#taskDetailSheet > .td-dock * {
  box-sizing: border-box;
}
#taskDetailContent.td-unified > * {
  min-width: 0;
  max-width: 100%;
}
#taskDetailContent.td-unified .td-hero {
  margin: 0;
  padding: 20px;
  border: 1px solid #dce7e1;
  border-radius: 18px;
  background: #f4faf6;
}
#taskDetailContent.td-unified .td-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 4px 10px;
  border-radius: 7px;
  background: #173f31;
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
  white-space: normal;
}
#taskDetailContent.td-unified .td-state.returned,
#taskDetailContent.td-unified .td-state.rejected,
#taskDetailContent.td-unified .td-state.overdue {
  background: #9c422f;
}
#taskDetailContent.td-unified .td-state.review {
  background: #61558a;
}
#taskDetailContent.td-unified .td-state.handover_pending {
  color: #795625;
  background: #fff2d8;
}
#taskDetailContent.td-unified .td-hero h1 {
  margin: 12px 0 14px;
  color: #17332a;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified .td-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  margin: 0;
  font-size: 15px;
}
#taskDetailContent.td-unified .td-meta > * {
  min-width: 0;
}
#taskDetailContent.td-unified .td-meta > div:not(.td-meta-time) {
  display: flex;
  gap: 6px;
  align-items: baseline;
}
#taskDetailContent.td-unified .td-meta > div:not(.td-meta-time) dt {
  flex: none;
}
#taskDetailContent.td-unified .td-meta > .td-meta-time {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 80px minmax(0,1fr);
  gap: 8px;
}
#taskDetailContent.td-unified .td-section > summary > span {
  font-size: 18px;
  font-weight: 800;
}
#taskDetailContent.td-unified .td-meta label,
#taskDetailContent.td-unified .td-meta dt,
#taskDetailContent.td-unified .td-meta small {
  display: block;
  margin: 0 0 2px;
  color: #66796f;
  font-size: 14px;
  font-weight: 500;
}
#taskDetailContent.td-unified .td-meta span,
#taskDetailContent.td-unified .td-meta dd {
  margin: 0;
  font-weight: 650;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified .td-next {
  margin: 16px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #d7e4dd;
  color: #175f43;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.65;
}
#taskDetailContent.td-unified .td-receipt {
  margin: 8px 0 0;
  color: #5f7468;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}
#taskDetailContent.td-unified .td-jump {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  margin: 14px 0 20px;
  padding: 4px;
  border: 1px solid #dfe7e2;
  border-radius: 12px;
  background: #f8faf8;
}
#taskDetailContent.td-unified .td-jump button,
#taskDetailContent.td-unified .td-jump a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  padding: 7px 3px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #405b4d;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
#taskDetailContent.td-unified .td-jump button:hover,
#taskDetailContent.td-unified .td-jump a:hover,
#taskDetailContent.td-unified .td-jump .on {
  background: #e8f3ed;
  color: #176d4b;
}
#taskDetailContent.td-unified .td-section {
  margin: 16px 0 0;
  border: 1px solid #dce6df;
  border-radius: 15px;
  background: #fff;
  scroll-margin-top: 14px;
}
#taskDetailContent.td-unified .td-section-heading,
#taskDetailContent.td-unified .td-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 17px;
  border-radius: 15px;
  background: #f7faf8;
  color: #17332a;
  list-style: none;
}
#taskDetailContent.td-unified .td-section > summary {
  cursor: pointer;
  min-height: 60px;
}
#taskDetailContent.td-unified .td-section > summary::-webkit-details-marker,
#taskDetailContent.td-unified .td-tools > summary::-webkit-details-marker,
#taskDetailContent.td-unified .td-danger > summary::-webkit-details-marker {
  display: none;
}
#taskDetailContent.td-unified .td-section > summary::after {
  content: '⌄';
  flex: 0 0 20px;
  color: #64796c;
  font-size: 20px;
  text-align: right;
}
#taskDetailContent.td-unified .td-section[open] > summary::after {
  content: '⌃';
}
#taskDetailContent.td-unified .td-section-heading h2,
#taskDetailContent.td-unified .td-section > summary h2 {
  margin: 0;
  color: #17332a;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
}
#taskDetailContent.td-unified .td-section-heading p,
#taskDetailContent.td-unified .td-section > summary p {
  margin: 3px 0 0;
  color: #65786c;
  font-size: 14px;
  line-height: 1.6;
}
#taskDetailContent.td-unified .td-body {
  min-width: 0;
  padding: 16px 17px 18px;
  border-top: 1px solid #e5ece7;
  font-size: 16px;
  line-height: 1.75;
}
#taskDetailContent.td-unified .td-body > :first-child {
  margin-top: 0;
}
#taskDetailContent.td-unified .td-body > :last-child {
  margin-bottom: 0;
}
#taskDetailContent.td-unified .td-body > .card,
#taskDetailContent.td-unified .td-body > .ux-fold-body {
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#taskDetailContent.td-unified .td-body p,
#taskDetailContent.td-unified .task-copy {
  margin: 10px 0;
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified .standard,
#taskDetailContent.td-unified .td-current-result {
  margin: 12px 0 0;
  padding: 13px 14px;
  border-radius: 11px;
  background: #f2f6f3;
  color: #405d4c;
  font-size: 16px;
  line-height: 1.75;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified .td-current-result {
  background: #eef8f2;
  color: #244b38;
}
#taskDetailContent.td-unified .td-return-note {
  margin: 0 0 16px;
  padding: 14px 15px;
  border: 1px solid #edcdbf;
  border-left: 4px solid #bc5137;
  border-radius: 11px;
  background: #fff3ec;
  color: #893c28;
  font-size: 16px;
  line-height: 1.75;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified .td-return-note b,
#taskDetailContent.td-unified .td-return-note strong {
  display: block;
  margin-bottom: 5px;
  font-size: 17px;
}
#taskDetailContent.td-unified .td-photo-group {
  margin-top: 18px;
}
#taskDetailContent.td-unified .td-photo-group h3,
#taskDetailContent.td-unified .td-body h3 {
  margin: 16px 0 9px;
  font-size: 16px;
  line-height: 1.6;
}
#taskDetailContent.td-unified .photo-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
#taskDetailContent.td-unified .photo-card {
  min-width: 0;
  border-color: #dce6df;
  border-radius: 11px;
}
#taskDetailContent.td-unified .photo-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: #f1f5f2;
}
#taskDetailContent.td-unified .photo-card div {
  padding: 9px 10px;
}
#taskDetailContent.td-unified .photo-card b {
  font-size: 14px;
  line-height: 1.6;
}
#taskDetailContent.td-unified .photo-card small {
  font-size: 14px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified .td-tools,
#taskDetailContent.td-unified .td-danger {
  margin: 16px 0 0;
  padding: 0;
  border: 1px solid #dce6df;
  border-radius: 12px;
  background: #fafcfb;
}
#taskDetailContent.td-unified .td-tools > summary,
#taskDetailContent.td-unified .td-danger > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 50px;
  padding: 12px 15px;
  color: #4c6556;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  list-style: none;
  cursor: pointer;
}
#taskDetailContent.td-unified .td-tools > summary::after,
#taskDetailContent.td-unified .td-danger > summary::after {
  content: '＋';
  flex: 0 0 auto;
  font-size: 18px;
}
#taskDetailContent.td-unified .td-tools[open] > summary::after,
#taskDetailContent.td-unified .td-danger[open] > summary::after {
  content: '－';
}
#taskDetailContent.td-unified .td-tools > :not(summary),
#taskDetailContent.td-unified .td-danger > :not(summary) {
  margin: 0;
  padding: 0 15px 15px;
}
#taskDetailContent.td-unified .td-danger {
  border-color: #ecd8cf;
  background: #fffaf7;
}
#taskDetailContent.td-unified .td-danger > summary {
  color: #a44330;
}
#taskDetailContent.td-unified .td-history-record,
#taskDetailContent.td-unified .td-version {
  margin: 0;
  padding: 15px 0;
  border-top: 1px solid #e2eae5;
  font-size: 16px;
  line-height: 1.75;
}
#taskDetailContent.td-unified .td-history-record:first-child,
#taskDetailContent.td-unified .td-version:first-child {
  padding-top: 0;
  border-top: 0;
}
#taskDetailContent.td-unified .td-history-record time,
#taskDetailContent.td-unified .td-version time,
#taskDetailContent.td-unified .td-history-record small,
#taskDetailContent.td-unified .td-version small {
  color: #687a6e;
  font-size: 14px;
  line-height: 1.65;
}
#taskDetailContent.td-unified .td-submission-position {
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid #bddbc9;
  border-radius: 12px;
  background: #eef8f2;
}
#taskDetailContent.td-unified .td-submission-position > b {
  display: block;
  color: #174f35;
  font-size: 19px;
  line-height: 1.5;
}
#taskDetailContent.td-unified .td-submission-position > p {
  margin-bottom: 0;
}
#taskDetailContent.td-unified .td-version.td-submission {
  margin: 12px 0;
  padding: 0;
  border: 1px solid #dce6df;
  border-radius: 12px;
}
#taskDetailContent.td-unified .td-submission > summary {
  flex-wrap: wrap;
  gap: 7px;
  padding: 14px;
  border-radius: 12px;
}
#taskDetailContent.td-unified .td-submission > summary > span {
  flex: 1 1 190px;
  font-size: 18px;
}
#taskDetailContent.td-unified .td-submission-state {
  display: inline-block;
  margin: 4px 0;
  padding: 3px 8px;
  border-radius: 6px;
  background: #e7edf8;
  color: #435575;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}
#taskDetailContent.td-unified .td-submission[data-outcome="returned"] > summary,
#taskDetailContent.td-unified .td-submission[data-outcome="stage_accepted"] > summary,
#taskDetailContent.td-unified .td-submission[data-outcome="withdrawn"] > summary {
  background: #fff5ed;
}
#taskDetailContent.td-unified .td-submission[data-outcome="closed"] > summary {
  background: #edf8f1;
}
#taskDetailContent.td-unified .td-submission-explanation {
  padding: 10px 12px;
  border-radius: 8px;
  background: #f4f7f5;
  white-space: pre-wrap;
}
#taskDetailContent.td-unified .td-submission-review {
  margin: 10px 0;
  padding: 12px;
  border-left: 3px solid #86aa97;
  border-radius: 7px;
  background: #f8faf9;
}
#taskDetailContent.td-unified .td-submission-review b,
#taskDetailContent.td-unified .td-submission-review small {
  display: block;
}
#taskDetailContent.td-unified .td-submission-review p {
  margin-bottom: 0;
  white-space: pre-wrap;
}
#taskDetailContent.td-unified .td-version-photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
#taskDetailContent.td-unified .td-version-photos > small {
  grid-column: 1 / -1;
}
#taskDetailContent.td-unified .td-version-photo {
  min-width: 0;
  min-height: 44px;
  padding: 5px;
  border: 1px solid #dce6df;
  border-radius: 9px;
  background: #f1f5f2;
  cursor: pointer;
}
#taskDetailContent.td-unified .td-version-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}
#taskDetailContent.td-unified :where(.day-note, .empty, .secure-note, .evidence-hint, .workflow-guide, .workflow-event-head time, .workflow-event-route, .workflow-event-meta, .ux-route-preview, .ai-review-note, .field label, .data-row small, .td-muted) {
  font-size: 14px !important;
  line-height: 1.65;
}
#taskDetailContent.td-unified :where(.section-label, .workflow-event-head b, .workflow-event-note, .audit-item, .workflow-current, .workflow-current b, .workflow-current p, .data-row, .ai-review-block, .ai-review-block b, .ai-review-block ul) {
  font-size: 16px !important;
  line-height: 1.65;
}
#taskDetailContent.td-unified .section-head h2 {
  font-size: 18px;
}
#taskDetailContent.td-unified :where(button.btn, .btn, .camera-button, .ai-assist, .text-btn, input, select, textarea) {
  min-height: 44px;
  max-width: 100%;
  font-size: 16px !important;
  line-height: 1.5;
}
#taskDetailContent.td-unified :where(button.btn, .btn, .camera-button, .ai-assist, .text-btn) {
  padding: 10px 13px;
  white-space: normal;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified :where(.workflow-actions, .task-actions, .ux-detail-action-buttons) {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
#taskDetailContent.td-unified .data-row {
  gap: 12px;
}
#taskDetailContent.td-unified .data-row > div {
  min-width: 0;
}
#taskDetailContent.td-unified .data-row > span {
  flex: 0 0 auto;
  max-width: 45%;
  text-align: right;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified :where(.workflow-event, .workflow-event-head, .workflow-event-route, .workflow-event-note, .collaboration-row, .subtask-row) {
  min-width: 0;
  overflow-wrap: anywhere;
}
#taskDetailContent.td-unified :where(.workflow-event-head, .ai-review-top) > * {
  min-width: 0;
}
#taskDetailContent.td-unified button:focus-visible,
#taskDetailContent.td-unified a:focus-visible,
#taskDetailContent.td-unified summary:focus-visible,
#taskDetailSheet > .td-dock button:focus-visible {
  outline: 3px solid #76b89b;
  outline-offset: 3px;
}
#taskDetailSheet > .td-dock {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  width: min(650px, 100%);
  margin: 0 auto;
  padding: 12px 18px calc(14px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #d7e4dc;
  background: #fff;
  box-shadow: 0 -6px 20px #17332a0d;
}
#taskDetailSheet > .td-dock .td-dock-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 8px;
  color: #5b7163;
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
#taskDetailSheet > .td-dock .td-dock-caption > button {
  flex: none;
  min-height: 44px;
  font-size: 14px;
  padding: 6px 10px;
}
#taskDetailSheet > .td-dock .td-dock-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 9px;
}
#taskDetailSheet > .td-dock .td-dock-buttons > button,
#taskDetailSheet > .td-dock .td-dock-buttons > .btn {
  flex: 1 1 140px;
  min-width: 0;
  min-height: 48px;
  max-width: 100%;
  padding: 11px 12px;
  border-radius: 11px;
  font-size: 16px !important;
  font-weight: 750;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}
#taskDetailSheet > .td-dock .td-dock-buttons > .primary {
  background: #173f31;
  color: #fff;
  border-color: #173f31;
}
#taskDetailSheet > .td-dock .td-dock-buttons.td-single-primary > .primary:not(:only-child) {
  flex: 1 1 180px;
}
#taskDetailSheet > .td-dock .td-dock-buttons.td-single-primary > .td-more-button {
  flex: 0 1 100px;
}
#taskDetailSheet > .td-dock .td-dock-buttons > .ux-action-return,
#taskDetailSheet > .td-dock .td-dock-buttons > .td-return-action {
  background: #fff7f2;
  color: #a3432e;
  border-color: #e7ccbe;
}
#taskDetailSheet.td-keyboard-open > .td-dock,
#taskDetailSheet > .td-dock.td-keyboard-open {
  display: none;
}
@media (max-width: 600px) {
  #taskDetailSheet > .panel.td-detail-panel {
    width: 100%;
    padding-top: 18px;
    padding-right: 14px;
    padding-left: 14px;
    border-radius: 22px 22px 0 0;
    scrollbar-gutter: auto;
  }
  #taskDetailContent.td-unified .td-hero {
    padding: 16px;
  }
  #taskDetailContent.td-unified .td-hero h1 {
    font-size: 22px;
  }
  #taskDetailContent.td-unified .td-meta {
    gap: 10px 12px;
  }
  #taskDetailContent.td-unified .td-section-heading,
  #taskDetailContent.td-unified .td-section > summary {
    padding: 14px;
  }
  #taskDetailContent.td-unified .td-body {
    padding: 14px;
  }
  #taskDetailContent.td-unified .td-body .two,
  #taskDetailContent.td-unified .ai-review-columns {
    grid-template-columns: minmax(0, 1fr);
  }
  #taskDetailContent.td-unified .td-jump {
    margin-top: 12px;
    margin-bottom: 16px;
  }
  #taskDetailSheet > .td-dock {
    padding-right: 14px;
    padding-left: 14px;
  }
  #taskDetailSheet > .td-dock .td-dock-buttons > .primary:not(:only-child) {
    flex-basis: 100%;
  }
}
@media (max-width: 350px) {
  #taskDetailContent.td-unified .td-meta {
    grid-template-columns: minmax(0, 1fr);
  }
  #taskDetailContent.td-unified .td-jump {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #taskDetailContent.td-unified .photo-grid,
  #taskDetailContent.td-unified .td-version-photos {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (prefers-reduced-motion: reduce) {
  #taskDetailContent.td-unified *,
  #taskDetailSheet > .td-dock * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
