
    .modal-backdrop {
      position: fixed;
      inset: 0;
      z-index: 10;
      display: grid;
      place-items: center;
      padding: 22px;
      background: rgba(23, 32, 51, .36);
    }

    .portal-error-backdrop {
      z-index: 30000;
      padding: 20px;
      background: rgba(13, 23, 36, .68);
      backdrop-filter: blur(4px);
      opacity: 0;
      transition: opacity .18s ease;
    }

    .portal-error-backdrop.is-visible {
      opacity: 1;
    }

    .portal-error-dialog {
      position: relative;
      display: grid;
      grid-template-columns: 48px minmax(0, 1fr);
      gap: 18px;
      width: min(480px, calc(100vw - 40px));
      overflow: hidden;
      padding: 26px 26px 24px;
      border: 1px solid #e6b0ad;
      border-top: 4px solid var(--danger);
      border-radius: var(--radius-surface);
      background: #fff;
      box-shadow: 0 28px 72px rgba(9, 19, 32, .32);
      color: var(--text);
      transform: translateY(12px) scale(.985);
      transition: transform .18s ease;
    }

    .portal-error-backdrop.is-visible .portal-error-dialog {
      transform: translateY(0) scale(1);
    }

    .portal-error-dialog__icon {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border: 1px solid #efc4c1;
      border-radius: var(--radius-circle);
      background: #fff1f0;
      color: var(--danger);
      font-size: 28px;
    }

    .portal-error-dialog__copy {
      min-width: 0;
    }

    .portal-error-dialog__eyebrow {
      display: block;
      margin-bottom: 5px;
      color: var(--danger);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .portal-error-dialog h2 {
      margin: 0;
      color: #202b3b;
      font-size: 20px;
      font-weight: 900;
      line-height: 1.2;
    }

    .portal-error-dialog p {
      margin: 10px 0 0;
      max-height: 50vh;
      overflow-y: auto;
      white-space: pre-line;
      color: #596579;
      font-size: 14px;
      font-weight: 650;
      line-height: 1.5;
      overflow-wrap: anywhere;
    }

    .portal-error-dialog__close {
      grid-column: 2;
      justify-self: start;
      min-width: 112px;
      margin-top: 2px;
    }

    .portal-error-dialog__timer {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 3px;
      background: color-mix(in srgb, var(--danger) 82%, #ffffff);
      transform: scaleX(1);
      transform-origin: left center;
    }

    .portal-error-backdrop.is-visible .portal-error-dialog__timer {
      animation: portal-error-countdown var(--portal-error-duration, 6500ms) linear forwards;
    }

    @keyframes portal-error-countdown {
      to { transform: scaleX(0); }
    }

    @media (prefers-reduced-motion: reduce) {
      .portal-error-backdrop,
      .portal-error-dialog {
        transition: none;
      }

      .portal-error-dialog__timer {
        animation: none !important;
      }
    }

    @media (max-width: 520px) {
      .portal-error-dialog {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
        padding: 22px 20px 21px;
      }

      .portal-error-dialog__icon {
        width: 40px;
        height: 40px;
        font-size: 24px;
      }

      .portal-error-dialog h2 {
        font-size: 18px;
      }

      .portal-error-dialog__close {
        grid-column: 1 / -1;
        width: 100%;
      }
    }

    #workReportCompletionModal {
      z-index: 1400;
      padding: 0;
      background: rgba(23, 32, 51, .52);
      backdrop-filter: blur(3px);
    }

    .modal.work-report-completion-modal {
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      width: 100vw;
      height: var(--route-interface-viewport-height);
      max-height: var(--route-interface-viewport-height);
      overflow: hidden;
    }

    .work-report-completion-modal .work-report-completion-head {
      min-height: 140px;
      padding: 26px 28px;
      background: #fff;
    }

    .work-report-completion-modal .work-report-completion-head h2 {
      font-size: 28px;
      letter-spacing: -.015em;
    }

    .work-report-completion-head .comments-modal-close {
      width: 52px;
      height: 52px;
      padding: 0;
    }

    .work-report-completion-close-label {
      display: none;
    }

    .work-report-completion-central-mount {
      min-width: 0;
      min-height: 0;
      height: 100%;
      overflow: hidden;
      background: #f5f7f9;
    }

    .modal.work-report-completion-modal.is-central {
      --work-report-surface-gap: var(--dossier-surface-gap, 6px);
      grid-template-rows: minmax(0, 1fr) auto;
      width: 100%;
      height: 100%;
      max-height: none;
      border: 0;
      box-shadow: none;
      background: #f5f7f9;
    }

    .work-report-completion-modal.is-central .work-report-completion-head {
      display: none;
    }

    .work-report-completion-modal.is-central #workReportCompletionClose {
      display: none;
    }

    .work-report-completion-modal.is-central .work-report-completion-close-label {
      display: inline;
    }

    .work-report-completion-modal.is-central .work-report-completion-body {
      grid-template-columns: minmax(0, 1.72fr) minmax(300px, .82fr);
      gap: var(--work-report-surface-gap);
      padding: 0;
    }

    .work-report-completion-modal.is-central .work-report-completion-footer {
      min-height: 68px;
      margin: var(--work-report-surface-gap) 0 0;
      padding: 11px 16px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .dossier-workspace.has-work-report-editor .work-report-completion-central-mount,
    .dossier-workspace.has-work-report-editor .modal.work-report-completion-modal.is-central,
    .dossier-workspace.has-work-report-editor .modal-body.work-report-completion-body {
      background: transparent;
    }

    @media (min-width: 1041px) {
      .dossier-workspace.has-work-report-editor .modal-body.work-report-completion-body {
        gap: var(--work-report-surface-gap);
        padding: 0;
      }

      .dossier-workspace.has-work-report-editor .work-report-main {
        padding-right: 0;
        scrollbar-gutter: auto;
      }
    }

    .work-report-completion-eyebrow {
      margin-bottom: 4px;
      color: var(--accent);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .work-report-completion-meta {
      margin-top: 8px;
      color: var(--muted);
      font-size: 16px;
    }

    .modal-body.work-report-completion-body {
      display: grid;
      grid-template-columns: minmax(0, 1.86fr) minmax(380px, .98fr);
      gap: 16px;
      min-height: 240px;
      padding: 16px;
      overflow: hidden;
      background: #f5f7f9;
    }

    .modal-body.work-report-completion-body.is-department-execution,
    .work-report-completion-modal.is-central .work-report-completion-body.is-department-execution {
      grid-template-columns: minmax(0, 1fr);
    }

    .work-report-main,
    .work-report-sidebar {
      min-width: 0;
      min-height: 0;
      overflow: auto;
      scrollbar-gutter: stable;
    }

    .work-report-main {
      --work-report-section-gap: 14px;
      display: grid;
      align-content: start;
      gap: var(--work-report-section-gap);
      padding-right: 2px;
    }

    .work-report-main.has-closing-comment-composer {
      display: flex;
      flex-direction: column;
      align-content: normal;
      gap: 0;
      overflow: hidden;
      scrollbar-gutter: auto;
    }

    .work-report-main-scroll {
      display: flex;
      flex: 1 1 auto;
      flex-direction: column;
      gap: var(--work-report-section-gap);
      min-width: 0;
      min-height: 0;
      overflow-y: auto;
      scrollbar-gutter: auto;
      scrollbar-width: none;
    }

    .work-report-main-scroll::-webkit-scrollbar {
      display: none;
    }

    /* Work entries and general media share one surface; other sections keep their spacing. */
    .work-report-work-section:has(+ .work-report-general-photo-section) {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }

    .work-report-work-section + .work-report-general-photo-section {
      margin-top: calc(-1 * var(--work-report-section-gap));
      border-top: 0;
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }

    .work-report-main.has-closing-comment-composer .work-report-main-scroll > .work-report-section:last-child {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }

    .work-report-closing-composer.dossier-composer {
      flex: 0 0 auto;
      width: 100%;
      padding: 11px 16px 13px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      border-top-left-radius: 0;
      border-top-right-radius: 0;
      background: #fff;
    }

    .work-report-closing-composer .dossier-comment-row {
      grid-template-columns: 92px minmax(0, 1fr) minmax(126px, 144px);
    }

    @media (max-width: 620px) {
      .work-report-closing-composer.dossier-composer {
        padding-inline: 12px;
      }

      .work-report-closing-composer .dossier-comment-row {
        grid-template-columns: 52px minmax(0, 1fr) 52px;
      }

      .work-report-closing-composer .dossier-comment-send {
        width: 52px;
        min-width: 52px;
        padding-inline: 0;
      }

      .work-report-closing-composer .dossier-comment-send > span:last-child,
      .work-report-closing-composer .dossier-file-action > span:last-child {
        display: none;
      }
    }

    .work-report-sidebar {
      display: grid;
      align-content: start;
      gap: 0;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .work-report-sidebar .work-report-section {
      border: 0;
    }

    .work-report-sidebar .work-report-section + .work-report-section {
      border-top: 1px solid var(--line);
    }

    .work-report-loading,
    .work-report-error {
      display: grid;
      place-items: center;
      grid-column: 1 / -1;
      min-height: 220px;
      padding: 24px;
      text-align: center;
    }

    .work-report-error {
      color: #a33a32;
    }

    .work-report-section {
      min-width: 0;
      padding: 20px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .work-report-section-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 13px;
    }

    .work-report-section-title {
      display: flex;
      align-items: center;
      gap: 9px;
      margin: 0;
      font-size: 18px;
    }

    .work-report-section-title .material-symbols-outlined {
      color: var(--accent);
      font-size: 23px;
    }

    .work-report-section-hint {
      margin: 5px 0 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.45;
    }

    .work-report-work-list {
      display: grid;
      gap: 10px;
    }

    .work-report-work-section-head {
      align-items: flex-end;
    }

    .work-report-catalog-picker {
      display: grid;
      gap: 12px;
    }

    .work-report-catalog-context {
      color: var(--muted);
      font-size: 13px;
      font-weight: 650;
    }

    .work-report-catalog-heading {
      padding-top: 4px;
      color: var(--text);
      font-size: 13px;
      font-weight: 800;
    }

    .work-report-catalog-types,
    .work-report-catalog-results {
      display: grid;
      border: 1px solid var(--line);
      background: #fff;
    }

    .work-report-catalog-type {
      display: grid;
      grid-template-columns: 30px minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      width: 100%;
      min-height: 58px;
      padding: 10px 12px;
      border: 0;
      background: #fff;
      color: var(--text);
      text-align: left;
    }

    .work-report-catalog-type + .work-report-catalog-type {
      border-top: 1px solid var(--line);
    }

    .work-report-catalog-type:hover,
    .work-report-catalog-type:focus-visible {
      background: #f3faf8;
    }

    .work-report-catalog-type > .material-symbols-outlined {
      color: var(--accent);
      font-size: 23px;
    }

    .work-report-catalog-type-copy {
      min-width: 0;
    }

    .work-report-catalog-type-copy strong,
    .work-report-catalog-type-copy small {
      display: block;
    }

    .work-report-catalog-type-copy strong {
      font-size: 13px;
      line-height: 1.35;
    }

    .work-report-catalog-type-copy small {
      margin-top: 4px;
      color: var(--muted);
      font-size: 10px;
    }

    .work-report-catalog-type-action {
      color: var(--accent);
      font-size: 11px;
      font-weight: 800;
    }

    .work-report-related-types {
      border: 1px solid #c8ddd8;
      background: #eff8f6;
    }

    .work-report-related-types h4 {
      margin: 0;
      padding: 11px 12px 5px;
      color: var(--accent-strong);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .work-report-related-types .work-report-catalog-type {
      min-height: 48px;
      background: transparent;
    }

    .work-report-related-types .work-report-catalog-type + .work-report-catalog-type {
      border-color: #d5e5e1;
    }

    .work-report-related-types .work-report-catalog-type-action {
      display: none;
    }

    .work-report-catalog-actions {
      display: grid;
      border: 1px solid var(--line);
    }

    .work-report-catalog-actions button {
      display: grid;
      grid-template-columns: 24px minmax(0, 1fr) auto;
      gap: 9px;
      align-items: center;
      min-height: 48px;
      padding: 9px 12px;
      border: 0;
      background: #fff;
      color: var(--text);
      text-align: left;
    }

    .work-report-catalog-actions button + button {
      border-top: 1px solid var(--line);
    }

    .work-report-catalog-actions .material-symbols-outlined {
      color: var(--accent);
      font-size: 21px;
    }

    .work-report-catalog-browser {
      display: grid;
      gap: 10px;
      padding-top: 2px;
    }

    .work-report-catalog-search {
      display: grid;
      grid-template-columns: 24px minmax(0, 1fr);
      align-items: center;
      min-height: 46px;
      padding: 0 12px;
      border: 1px solid var(--line);
      background: #fff;
    }

    .work-report-catalog-search .material-symbols-outlined {
      color: var(--accent);
      font-size: 20px;
    }

    .work-report-catalog-search input {
      min-height: 44px;
      border: 0;
      outline: 0;
    }

    .work-report-catalog-groups {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 6px;
    }

    .work-report-catalog-groups button {
      min-width: 0;
      min-height: 34px;
      padding: 6px 9px;
      border: 1px solid var(--line);
      background: #fff;
      color: var(--muted);
      font-size: 10px;
      font-weight: 750;
    }

    .work-report-catalog-groups button.is-active {
      border-color: var(--accent);
      background: var(--accent-soft);
      color: var(--accent-strong);
    }

    .work-report-catalog-results {
      max-height: 360px;
      overflow: auto;
    }

    .work-report-catalog-empty {
      padding: 18px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
      text-align: center;
    }

    .work-report-group {
      container-name: work-report-group;
      container-type: inline-size;
      overflow: hidden;
      border: 1px solid #cbd6de;
      background: #fff;
    }

    .work-report-group-head {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr) 126px 24px;
      gap: 12px;
      align-items: center;
      width: 100%;
      min-height: 66px;
      padding: 11px 14px;
      border: 0;
      background: #f3faf8;
      color: var(--text);
      text-align: left;
    }

    .work-report-group.is-expanded .work-report-group-head {
      border-bottom: 1px solid #cbd6de;
    }

    .work-report-group-head:hover,
    .work-report-group-head:focus-visible {
      background: #eaf6f2;
    }

    .work-report-group-index {
      display: grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border: 1px solid var(--accent-border);
      background: #fff;
      color: var(--accent);
      font-size: 12px;
      font-weight: 800;
    }

    .work-report-group-title,
    .work-report-group-total {
      min-width: 0;
    }

    .work-report-group-title strong,
    .work-report-group-total strong {
      display: block;
    }

    .work-report-group-title strong {
      overflow: hidden;
      font-size: 16px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .work-report-group-total {
      text-align: right;
    }

    .work-report-group-total strong {
      color: var(--accent-strong);
      font-size: 16px;
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }

    .work-report-group-chevron {
      transition: transform 160ms ease;
    }

    .work-report-group.is-expanded .work-report-group-chevron {
      transform: rotate(180deg);
    }

    .work-report-group-body {
      display: grid;
      background: #fff;
    }

    .work-report-execution {
      min-width: 0;
      padding: 14px;
      border-bottom: 1px solid var(--line);
    }

    .work-report-execution-head {
      display: grid;
      grid-template-areas: "number quantity photos status remove";
      grid-template-columns: 28px minmax(130px, 160px) minmax(208px, 1fr) 118px 36px;
      gap: 10px;
      align-items: center;
    }

    .work-report-execution-number {
      grid-area: number;
      display: grid;
      place-items: center;
      width: 24px;
      height: 40px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
    }

    .work-report-execution label > span:first-child,
    .work-report-new-line label > span:first-child,
    .work-report-execution-column-label {
      display: block;
      margin-bottom: 5px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 700;
    }

    .work-report-execution input,
    .work-report-new-line select {
      width: 100%;
      min-height: 40px;
    }

    .work-report-quantity-control {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      border: 1px solid var(--line);
      background: #fff;
    }

    .work-report-quantity-control input {
      min-width: 0;
      border: 0;
      font-variant-numeric: tabular-nums;
    }

    .work-report-quantity-control small {
      padding: 0 10px;
      color: var(--muted);
      font-size: 11px;
    }

    .work-report-execution-quantity.has-error .work-report-quantity-control {
      border-color: #b93838;
      box-shadow: 0 0 0 1px rgba(185, 56, 56, .08);
    }

    .work-report-quantity-error {
      display: block;
      margin-top: 5px;
      color: #a82d2d;
      font-size: 10px;
      font-weight: 750;
      line-height: 1.3;
    }

    .work-report-line-added {
      display: block;
      color: var(--muted);
      font-size: 10px;
      font-weight: 650;
      line-height: 1.3;
    }

    .work-report-execution-quantity.has-warning .work-report-quantity-control {
      border-color: #c4811b;
      box-shadow: 0 0 0 1px rgba(196, 129, 27, .08);
    }

    .work-report-quantity-warning {
      display: block;
      margin-top: 5px;
      color: #8b5b12;
      font-size: 10px;
      font-weight: 750;
      line-height: 1.3;
    }

    .work-report-meter-warning {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      margin-top: 10px;
      padding: 10px 12px;
      border: 1px solid #dfb56e;
      background: #fff8e9;
      color: #6f4810;
    }

    .work-report-meter-warning[hidden] {
      display: none;
    }

    .work-report-meter-warning > .material-symbols-outlined {
      color: #a56810;
    }

    .work-report-meter-warning strong,
    .work-report-meter-warning small {
      display: block;
    }

    .work-report-meter-warning small {
      margin-top: 2px;
      line-height: 1.35;
    }

    .work-report-meter-warning label {
      display: flex;
      gap: 7px;
      align-items: center;
      color: var(--text);
      font-size: 11px;
      font-weight: 750;
      white-space: nowrap;
    }

    .work-report-meter-warning input {
      width: 16px;
      height: 16px;
      min-height: 0;
    }

    .work-report-execution-photos {
      grid-area: photos;
      min-width: 0;
    }

    .work-report-execution-photos > small {
      display: block;
      padding: 12px 0;
      color: var(--muted);
      font-size: 11px;
    }

    .work-report-execution-thumbnails {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 5px;
      align-items: center;
      width: min(100%, 207px);
      min-height: 48px;
    }

    .work-report-execution-thumbnails a,
    .work-report-execution-thumbnails img {
      display: block;
      width: 100%;
      min-width: 0;
      aspect-ratio: 1;
    }

    .work-report-execution-thumbnails img {
      border: 1px solid var(--line);
      object-fit: cover;
    }

    .work-report-execution-thumbnails > .work-report-execution-more {
      display: grid;
      place-items: center;
      width: 100%;
      min-width: 0;
      aspect-ratio: 1;
      border: 1px solid var(--line);
      background: #f6f8fa;
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }

    .work-report-execution-thumb {
      position: relative;
      display: block;
      min-width: 0;
      aspect-ratio: 1;
    }

    .work-report-execution-thumb > button {
      position: absolute;
      top: 2px;
      right: 2px;
      display: grid;
      place-items: center;
      width: 20px;
      min-height: 20px;
      padding: 0;
      border-color: rgba(255, 255, 255, .78);
      background: rgba(24, 32, 45, .8);
      color: #fff;
    }

    .work-report-execution-thumb > button .material-symbols-outlined {
      font-size: 14px;
    }

    .work-report-execution-status {
      grid-area: status;
      display: grid;
      gap: 6px;
      justify-items: stretch;
    }

    .work-report-execution-status > span {
      color: #a56513;
      font-size: 10px;
      font-weight: 750;
      text-align: center;
    }

    .work-report-execution-status.is-complete > span {
      color: var(--accent);
    }

    .work-report-execution-status button {
      min-height: 34px;
      padding: 6px 8px;
      font-size: 10px;
    }

    .work-report-execution-quantity {
      grid-area: quantity;
      min-width: 0;
    }

    .work-report-execution-head > .work-report-icon-btn {
      grid-area: remove;
    }

    .work-report-execution-evidence {
      display: grid;
      gap: 10px;
      margin: 12px 46px 0 38px;
    }

    .work-report-execution-evidence .work-report-photo-grid {
      grid-template-columns: repeat(auto-fill, minmax(102px, 1fr));
      margin-top: 0;
    }

    .work-report-execution-evidence .work-report-photo img {
      height: 74px;
    }

    .work-report-execution-no-photos {
      padding: 10px 12px;
      border: 1px dashed #cbd6de;
      background: #fbfcfd;
      color: var(--muted);
      font-size: 11px;
    }

    .work-report-execution .work-report-photo-card {
      padding: 10px 11px;
      background: #fbfcfd;
    }

    .work-report-add-execution {
      justify-self: start;
      min-height: 38px;
      margin: 12px 14px;
      color: var(--accent);
    }

    .work-report-new-line {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 36px;
      gap: 10px;
      align-items: end;
      padding: 14px;
      border: 1px dashed #9aabba;
      background: #fbfcfd;
    }

    .work-report-line-head,
    .work-report-line {
      display: grid;
      grid-template-columns: 38px minmax(240px, 1fr) 146px 70px 48px;
      align-items: center;
      gap: 12px;
    }

    .work-report-line-head {
      min-height: 34px;
      padding: 0 10px;
      border-bottom: 1px solid var(--line);
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }

    .work-report-line {
      min-height: 74px;
      padding: 10px;
      border-bottom: 1px solid var(--line);
    }

    .work-report-line-number {
      font-weight: 750;
    }

    .work-report-line select,
    .work-report-line input,
    .work-report-comment {
      width: 100%;
    }

    .work-report-line-type small {
      display: block;
      margin-top: 4px;
      overflow: hidden;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.3;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .work-report-line-quantity input {
      min-height: 40px;
      font-size: 15px;
      font-variant-numeric: tabular-nums;
    }

    .work-report-line-unit {
      color: var(--muted);
      font-size: 12px;
    }

    .work-report-icon-btn {
      display: grid;
      place-items: center;
      width: 36px;
      height: 36px;
      padding: 0;
      color: #9a3a34;
    }

    .work-report-add-line {
      margin-top: 14px;
      min-height: 42px;
    }

    .work-report-people {
      display: grid;
    }

    .work-report-people-summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 36px;
      padding-bottom: 9px;
      border-bottom: 1px solid var(--line);
      font-size: 12px;
    }

    .work-report-people-summary span {
      color: var(--accent);
      font-weight: 750;
    }

    .work-report-person {
      display: grid;
      position: relative;
      grid-template-columns: 44px minmax(0, 1fr) auto;
      gap: 11px;
      align-items: center;
      min-height: 72px;
      padding: 10px 0;
      border-bottom: 1px solid var(--line);
      cursor: pointer;
    }

    .work-report-person.is-selected {
      background: transparent;
    }

    .work-report-person:focus-within {
      outline: 2px solid rgba(var(--route-brand-green-rgb), .35);
      outline-offset: 2px;
    }

    .work-report-person > input {
      position: absolute;
      width: 1px;
      height: 1px;
      opacity: 0;
    }

    .work-report-person-avatar {
      position: relative;
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      overflow: hidden;
      border-radius: var(--radius-circle);
      background: var(--accent-soft);
      color: #0d5e55;
      font-size: 12px;
      font-weight: 800;
    }

    .work-report-person-avatar img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .work-report-person-copy strong,
    .work-report-person-copy small {
      display: block;
    }

    .work-report-person-copy small {
      margin-top: 2px;
      color: var(--muted);
      font-size: 11px;
    }

    .work-report-person-share {
      color: var(--accent);
      font-size: 12px;
      white-space: nowrap;
    }

    .work-report-person-aside {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 7px;
    }

    .work-report-person-check {
      color: var(--accent);
      font-size: 23px;
    }

    .work-report-photo-section-head {
      align-items: center;
    }

    .work-report-photo-actions {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .work-report-photo-progress {
      display: grid;
      gap: 6px;
      min-width: 180px;
      color: var(--muted);
      font-size: 11px;
      text-align: right;
    }

    .work-report-photo-progress progress {
      width: 100%;
      height: 4px;
      overflow: hidden;
      border: 0;
      border-radius: var(--radius);
      background: #dfe5ec;
      color: var(--accent);
      accent-color: var(--accent);
    }

    .work-report-photo-progress progress::-webkit-progress-bar { background: #dfe5ec; }
    .work-report-photo-progress progress::-webkit-progress-value { background: var(--accent); }
    .work-report-photo-progress progress::-moz-progress-bar { background: var(--accent); }

    .work-report-photo-dropzone {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      min-height: 70px;
      padding: 14px;
      border: 1px dashed #9aabba;
      background: #fbfcfd;
      cursor: pointer;
      text-align: left;
      transition: border-color 140ms ease, background 140ms ease;
    }

    .work-report-photo-dropzone:hover,
    .work-report-photo-dropzone:focus-visible,
    .work-report-photo-dropzone.is-drag-over {
      border-color: var(--accent);
      background: var(--accent-soft);
      outline: 0;
    }

    .work-report-photo-dropzone > .material-symbols-outlined {
      color: var(--accent);
      font-size: 25px;
    }

    .work-report-photo-dropzone strong,
    .work-report-photo-dropzone small {
      display: block;
    }

    .work-report-photo-dropzone small {
      margin-top: 3px;
      color: var(--muted);
      font-size: 11px;
    }

    .work-report-photo-empty,
    .work-report-empty {
      padding: 18px;
      color: var(--muted);
      font-size: 12px;
      text-align: center;
    }

    .work-report-photo-list {
      display: grid;
      gap: 8px;
      margin-top: 12px;
    }

    .work-report-photo-card {
      padding: 11px 12px;
      border: 1px solid var(--line);
      background: #fbfcfd;
    }

    .work-report-photo-card-head,
    .work-report-photo-scope {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }

    .work-report-photo-card-head strong {
      font-size: 13px;
    }

    .work-report-photo-rule {
      margin-top: 4px;
      color: var(--muted);
      font-size: 12px;
    }

    .work-report-photo-scopes {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
      gap: 7px;
      margin-top: 10px;
    }

    .work-report-photo-scope {
      display: grid;
      grid-template-columns: 22px minmax(0, 1fr) auto;
      min-height: 42px;
      padding: 6px 0;
      border-top: 1px solid var(--line);
      font-size: 12px;
    }

    .work-report-photo-scope > .material-symbols-outlined {
      color: #a56513;
      font-size: 19px;
    }

    .work-report-photo-scope.is-complete > .material-symbols-outlined {
      color: var(--accent);
    }

    .work-report-photo-scope strong,
    .work-report-photo-scope small {
      display: block;
    }

    .work-report-photo-scope small {
      margin-top: 2px;
      color: var(--muted);
      font-size: 10px;
    }

    .work-report-photo-scope button {
      min-height: 32px;
      padding: 5px 8px;
      font-size: 11px;
    }

    .work-report-photo-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
      gap: 8px;
      margin-top: 12px;
    }

    .work-report-photo {
      position: relative;
      min-width: 0;
      border: 1px solid var(--line);
      background: #fff;
    }

    .work-report-media-preview {
      position: relative;
      display: block;
      overflow: hidden;
      background: #17202b;
    }

    .work-report-photo img,
    .work-report-photo video {
      display: block;
      width: 100%;
      height: 96px;
      object-fit: cover;
    }

    .work-report-video-badge {
      position: absolute;
      left: 8px;
      bottom: 8px;
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px 7px;
      background: rgba(20, 28, 38, .82);
      color: #fff;
      font-size: 10px;
      font-weight: 750;
    }

    .work-report-video-badge .material-symbols-outlined {
      font-size: 16px;
    }

    .work-report-photo-category {
      display: inline-block;
      margin: 6px 6px 0;
      padding: 2px 5px;
      border: 1px solid #b9ded6;
      color: #0d5e55;
      font-size: 9px;
      font-weight: 750;
    }

    .work-report-photo-name {
      display: block;
      overflow: hidden;
      padding: 6px;
      font-size: 11px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .work-report-photo > small {
      display: block;
      padding: 0 6px 7px;
      color: var(--muted);
      font-size: 9px;
    }

    .work-report-photo-delete {
      position: absolute;
      top: 4px;
      right: 4px;
      display: grid;
      place-items: center;
      width: 26px;
      height: 26px;
      padding: 0;
      border-color: rgba(255, 255, 255, .75);
      background: rgba(24, 32, 45, .76);
      color: #fff;
    }

    .work-report-issues {
      display: grid;
      gap: 6px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .work-report-issue {
      display: grid;
      grid-template-columns: 18px minmax(0, 1fr);
      gap: 7px;
      color: #8b5312;
      font-size: 12px;
    }

    .work-report-ready {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--accent-strong);
      font-weight: 700;
    }

    .work-report-configuration-warning {
      display: grid;
      grid-template-columns: 22px minmax(0, 1fr) auto;
      gap: 11px;
      align-items: center;
      padding: 12px 14px;
      border: 1px solid #efd39b;
      background: var(--work-soft);
      color: #754b13;
    }

    .work-report-configuration-warning > .material-symbols-outlined {
      color: #a56513;
      font-size: 21px;
    }

    .work-report-configuration-warning strong,
    .work-report-configuration-warning small {
      display: block;
    }

    .work-report-configuration-warning small {
      margin-top: 2px;
      color: #7a6549;
      font-size: 11px;
    }

    .work-report-configuration-warning a {
      color: var(--accent-strong);
      font-size: 12px;
      font-weight: 750;
      text-decoration: none;
      white-space: nowrap;
    }

    .work-report-finance-title {
      margin-bottom: 14px;
      color: var(--accent);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .work-report-finance-values {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .work-report-finance-values span,
    .work-report-finance-values small,
    .work-report-finance-values strong {
      display: block;
    }

    .work-report-finance-values small {
      color: var(--muted);
      font-size: 11px;
    }

    .work-report-finance-values strong {
      margin-top: 4px;
      color: var(--accent);
      font-size: 20px;
      line-height: 1.15;
    }

    .work-report-finance-note {
      display: grid;
      grid-template-columns: 20px minmax(0, 1fr);
      gap: 9px;
      margin-top: 15px;
      padding: 11px;
      border: 1px solid #b9ded6;
      background: #f4fbf9;
      color: #506274;
      font-size: 11px;
      line-height: 1.45;
    }

    .work-report-finance-note .material-symbols-outlined {
      color: var(--accent);
      font-size: 19px;
    }

    .work-report-checklist {
      display: grid;
      gap: 9px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .work-report-check {
      display: grid;
      grid-template-columns: 20px minmax(0, 1fr);
      gap: 8px;
      color: #8b5312;
      font-size: 12px;
      line-height: 1.4;
    }

    .work-report-check .material-symbols-outlined {
      color: #c37817;
      font-size: 19px;
    }

    .work-report-check.is-ok {
      color: var(--text);
    }

    .work-report-check.is-ok .material-symbols-outlined {
      color: var(--accent);
    }

    .work-report-readiness-note {
      margin-bottom: 11px;
      padding: 9px 10px;
      border-left: 3px solid #a7b4c3;
      background: #f6f8fa;
      color: var(--muted);
      font-size: 11px;
    }

    .work-report-readiness-section .work-report-issues,
    .work-report-readiness-section .work-report-ready {
      margin-top: 13px;
      padding-top: 13px;
      border-top: 1px solid var(--line);
    }

    .modal-body.work-report-completion-body {
      grid-template-columns: minmax(0, 1.7fr) minmax(390px, 1fr);
      grid-template-rows: minmax(0, 1fr);
      gap: 12px 16px;
    }

    .work-report-work-section {
      padding: 18px;
    }

    .work-report-catalog-picker {
      gap: 10px;
    }

    .work-report-catalog-context {
      padding: 8px 10px;
      border-left: 3px solid var(--accent-border-strong);
      background: var(--accent-faint);
    }

    .work-report-work-empty,
    .work-report-people-empty {
      display: grid;
      justify-items: center;
      gap: 7px;
      padding: 28px 18px;
      border: 1px dashed #aebbc6;
      background: #fbfcfd;
      color: var(--muted);
      text-align: center;
    }

    .work-report-work-empty > .material-symbols-outlined,
    .work-report-people-empty > .material-symbols-outlined {
      color: var(--accent);
      font-size: 30px;
    }

    .work-report-work-empty strong,
    .work-report-people-empty strong {
      color: var(--text);
      font-size: 14px;
    }

    .work-report-work-empty small,
    .work-report-people-empty small {
      max-width: 420px;
      font-size: 12px;
      line-height: 1.45;
    }

    .work-report-add-type {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      justify-self: start;
      gap: 7px;
      min-height: 42px;
      padding: 8px 13px;
      border-color: var(--accent-border);
      color: var(--accent);
      font-weight: 800;
    }

    .work-report-add-type .material-symbols-outlined {
      font-size: 20px;
    }

    .work-report-catalog-browser {
      padding: 12px;
      border: 1px solid var(--line);
      background: #f8fafb;
    }

    .work-report-catalog-browser-title {
      color: var(--text);
      font-size: 12px;
    }

    .work-report-group {
      border-color: #bccbd4;
    }

    .work-report-group-head {
      min-height: 70px;
      background: #f2faf7;
    }

    .work-report-execution {
      padding: 14px 14px 16px;
    }

    .work-report-execution-head {
      grid-template-areas: "number quantity action remove";
      grid-template-columns: 28px minmax(150px, 180px) minmax(190px, 1fr) 36px;
      align-items: end;
    }

    .work-report-execution-change {
      grid-area: action;
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      justify-self: end;
      gap: 6px;
      min-height: 40px;
      padding: 7px 9px;
      border: 0;
      color: var(--accent);
      font-size: 11px;
      font-weight: 800;
    }

    .work-report-execution-change .material-symbols-outlined {
      font-size: 18px;
    }

    .work-report-line-evidence {
      display: grid;
      gap: 8px;
      margin: 12px 46px 0 38px;
    }

    .work-report-line-photo-rule {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      color: #9c6117;
      font-size: 12px;
      font-weight: 750;
    }

    .work-report-line-photo-rule .work-report-line-added {
      flex: 0 0 auto;
      color: var(--muted);
      font-size: inherit;
      font-weight: 650;
      letter-spacing: 0;
      text-transform: none;
      white-space: nowrap;
    }

    .work-report-line-photo-rule.is-complete {
      color: var(--accent);
    }

    .work-report-line-dropzone {
      display: grid;
      grid-template-columns: 32px auto;
      align-items: center;
      justify-content: center;
      gap: 8px 12px;
      min-height: 210px;
      padding: 20px;
      border: 1px dashed #9aabba;
      background: #fbfcfd;
      color: var(--text);
      text-align: left;
      cursor: pointer;
    }

    .work-report-line-dropzone:hover,
    .work-report-line-dropzone:focus-visible,
    .work-report-line-dropzone.is-drag-over {
      border-color: var(--accent);
      background: #eff8f6;
    }

    .work-report-line-dropzone > .material-symbols-outlined {
      color: var(--accent);
      font-size: 28px;
    }

    .work-report-line-dropzone strong,
    .work-report-line-dropzone small {
      display: block;
    }

    .work-report-line-dropzone strong {
      font-size: 15px;
    }

    .work-report-line-dropzone-action {
      grid-column: 1 / -1;
      justify-self: center;
      min-width: 148px;
      padding: 10px 16px;
      border: 1px solid var(--accent);
      background: #fff;
      color: var(--accent);
      font-size: 12px;
      font-weight: 800;
      text-align: center;
    }

    .work-report-line-dropzone small {
      margin-top: 3px;
      color: var(--muted);
      font-size: 11px;
    }

    .work-report-line-photo-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(72px, 86px));
      gap: 8px;
    }

    .work-report-line-photo,
    .work-report-line-photo-more,
    .work-report-line-photo-add {
      position: relative;
      display: grid;
      place-items: center;
      min-height: 72px;
      border: 1px solid var(--line);
      background: #f8fafb;
    }

    .work-report-line-photo-preview,
    .work-report-line-photo img {
      display: block;
      width: 100%;
      height: 72px;
    }

    .work-report-line-photo-preview {
      padding: 0;
      overflow: hidden;
      border: 0;
      border-radius: var(--radius);
      background: transparent;
      box-shadow: none;
      cursor: zoom-in;
    }

    .work-report-line-photo-preview:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: -2px;
    }

    .work-report-line-photo img {
      object-fit: cover;
    }

    .work-report-line-photo > .ui-icon-button--danger {
      position: absolute;
      top: 4px;
      right: 4px;
      display: grid;
      place-items: center;
      width: 24px;
      height: 24px;
      padding: 0;
      border-color: rgba(255, 255, 255, .85);
      background: rgba(255, 255, 255, .92);
      color: #9a3a34;
    }

    .work-report-line-photo > .ui-icon-button--danger .material-symbols-outlined {
      font-size: 16px;
    }

    .work-report-line-photo:has(> .work-report-photo-duplicate-badge),
    .work-report-photo.is-duplicate .work-report-media-preview {
      border: 2px solid #c7443b;
      background: #fff2f0;
      box-shadow: 0 0 0 2px rgba(199, 68, 59, .16);
    }

    .work-report-line-photo:has(> .work-report-photo-duplicate-badge) img,
    .work-report-photo.is-duplicate .work-report-media-preview > img,
    .work-report-photo.is-duplicate .work-report-media-preview > video {
      opacity: .62;
    }

    .work-report-photo-duplicate-badge {
      position: absolute;
      right: 3px;
      bottom: 3px;
      z-index: 2;
      padding: 2px 4px;
      border-radius: var(--radius);
      background: #b93838;
      color: #fff;
      font-size: 8px;
      font-weight: 850;
      line-height: 1.1;
      letter-spacing: .03em;
      text-transform: uppercase;
      pointer-events: none;
    }

    .work-report-photo.is-duplicate {
      position: relative;
    }

    .work-report-photo.is-duplicate .work-report-photo-duplicate-badge {
      top: 8px;
      right: 8px;
      bottom: auto;
      font-size: 9px;
    }

    .work-report-line-photo-add {
      gap: 2px;
      color: var(--accent);
      font-size: 10px;
      font-weight: 750;
    }

    .work-report-line-photo-add .material-symbols-outlined {
      font-size: 23px;
    }

    .work-report-line-photo-more {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
    }

    .work-report-sidebar {
      align-self: stretch;
      max-height: 100%;
    }

    .work-report-people-section {
      display: flex;
      flex-direction: column;
      min-height: 100%;
    }

    .work-report-people-edit {
      min-height: 34px;
      padding: 6px 9px;
      border: 0;
      color: var(--accent);
      font-size: 11px;
      font-weight: 800;
    }

    .work-report-person.is-summary {
      cursor: default;
    }

    .work-report-people.is-selected-only .work-report-person {
      min-height: 66px;
    }

    .work-report-people.is-picker {
      max-height: 510px;
      overflow: auto;
      scrollbar-gutter: stable;
    }

    .work-report-people-empty button {
      min-height: 38px;
      margin-top: 4px;
      color: var(--accent);
      font-weight: 800;
    }

    .work-report-people-section > .work-report-people-empty {
      flex: 1 1 auto;
      align-content: center;
      min-height: 380px;
    }

    .work-report-people-section > .work-report-people-empty > .material-symbols-outlined {
      color: #8391aa;
      font-size: 48px;
    }

    .work-report-crew-finance {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      margin-top: 12px;
      padding: 11px 0 0;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 10px;
    }

    .work-report-crew-finance strong {
      color: var(--accent);
      font-size: 11px;
    }

    .work-report-completion-footer {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 14px;
      min-height: 74px;
      padding: 14px 24px;
      border-top: 1px solid var(--line);
      background: #fff;
    }

    .work-report-completion-status {
      color: var(--muted);
      font-size: 12px;
    }

    .work-report-completion-status.is-error {
      color: #a33a32;
    }

    .work-report-completion-guidance {
      display: grid;
      gap: 7px;
      min-width: 0;
    }

    .work-report-atlas-field {
      position: relative;
      min-width: 0;
    }

    .work-report-atlas-field input {
      width: 100%;
      min-height: 44px;
      border: 1px solid #b8c4d1;
      border-radius: var(--radius);
      background: #fff;
      color: var(--text);
      padding: 10px 13px;
      font: inherit;
      font-size: 12px;
      font-weight: 650;
    }

    .work-report-atlas-field input {
      padding-right: 52px;
    }

    .work-report-atlas-field .work-report-atlas-open {
      position: absolute;
      top: 5px;
      right: 5px;
      bottom: 5px;
      width: 34px;
      min-width: 34px;
      min-height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      border-color: #8fbdb7;
      background: #fff;
      color: var(--accent-strong);
    }

    .work-report-atlas-open .material-symbols-outlined {
      font-size: 19px;
    }

    .work-report-atlas-field input::placeholder {
      color: #68778e;
      opacity: 1;
    }

    .work-report-atlas-field.has-error input {
      border-color: #d92d20;
      box-shadow: 0 0 0 1px #d92d20;
    }

    .work-report-atlas-field input:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 1px var(--accent);
      outline: 0;
    }

    .work-report-completion-actions {
      display: flex;
      justify-content: flex-end;
      gap: 8px;
    }

    .work-report-completion-actions button {
      min-height: 44px;
      padding-right: 18px;
      padding-left: 18px;
    }

    @media (max-width: 1100px) {
      .modal-body.work-report-completion-body {
        grid-template-columns: minmax(0, 1.45fr) minmax(340px, .9fr);
      }

      .work-report-line-head,
      .work-report-line {
        grid-template-columns: 30px minmax(190px, 1fr) 116px 52px 38px;
        gap: 8px;
      }

      .work-report-photo-section-head,
      .work-report-photo-actions {
        align-items: flex-start;
      }

      .work-report-photo-actions {
        flex-direction: column;
      }

      .work-report-execution-head {
        grid-template-columns: 24px 140px minmax(160px, 1fr) 36px;
        gap: 7px;
      }

      .work-report-execution-evidence,
      .work-report-line-evidence {
        margin-right: 43px;
        margin-left: 31px;
      }
    }

    @media (max-width: 1040px) {
      .modal.work-report-completion-modal {
        width: 100vw;
        height: var(--route-interface-viewport-height);
        max-height: var(--route-interface-viewport-height);
      }

      .modal-body.work-report-completion-body {
        display: block;
        overflow: auto;
      }

      .work-report-main,
      .work-report-sidebar {
        overflow: visible;
      }

      .work-report-sidebar {
        margin-top: 14px;
      }
    }

    @media (max-width: 720px) {
      .work-report-completion-backdrop {
        padding: 0;
      }

      .modal.work-report-completion-modal {
        width: 100%;
        max-height: var(--route-interface-viewport-height);
        height: var(--route-interface-viewport-height);
        border: 0;
      }

      .work-report-completion-footer {
        grid-template-columns: 1fr;
      }

      .work-report-line-head {
        display: none;
      }

      .work-report-line {
        grid-template-columns: 30px minmax(0, 1fr) 96px 42px 36px;
        gap: 7px;
      }

      .work-report-completion-actions {
        display: grid;
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr);
      }

      .work-report-photo-section-head,
      .work-report-photo-actions {
        display: grid;
        width: 100%;
      }

      .work-report-photo-progress {
        min-width: 0;
        text-align: left;
      }

      .work-report-work-section-head {
        display: grid;
      }

      .work-report-execution-head {
        grid-template-columns: 24px 130px minmax(160px, 1fr) 36px;
      }

      .work-report-configuration-warning {
        grid-template-columns: 22px minmax(0, 1fr);
      }

      .work-report-configuration-warning a {
        grid-column: 2;
      }
    }

    @media (max-width: 520px) {
      .work-report-completion-head {
        min-height: 98px;
        padding: 16px;
      }

      .work-report-completion-head h2 {
        font-size: 20px;
      }

      .work-report-completion-meta {
        font-size: 12px;
      }

      .work-report-section {
        padding: 15px;
      }

      .work-report-completion-actions {
        grid-template-columns: 1fr;
      }

      .work-report-catalog-type {
        grid-template-columns: 28px minmax(0, 1fr);
      }

      .work-report-catalog-type-action {
        display: none;
      }

      .work-report-line {
        grid-template-columns: 26px minmax(0, 1fr) 36px;
      }

      .work-report-group-head {
        grid-template-columns: 30px minmax(0, 1fr) 24px;
      }

      .work-report-group-total {
        grid-column: 2;
        text-align: left;
      }

      .work-report-group-chevron {
        grid-column: 3;
        grid-row: 1 / 3;
      }

      .work-report-execution-head {
        grid-template-areas:
          "number quantity remove"
          "number action remove";
        grid-template-columns: 24px minmax(0, 1fr) 36px;
      }

      .work-report-execution-quantity {
        grid-column: 2;
      }

      .work-report-execution-change {
        grid-column: 2;
        justify-self: start;
      }

      .work-report-execution-head .work-report-icon-btn {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
      }

      .work-report-execution-evidence,
      .work-report-line-evidence {
        margin-right: 0;
        margin-left: 31px;
      }

      .work-report-line-quantity,
      .work-report-line-unit {
        grid-column: 2;
      }

      .work-report-icon-btn {
        grid-column: 3;
        grid-row: 1 / 3;
      }

      .work-report-finance-values {
        grid-template-columns: 1fr;
      }
    }

    @container work-report-group (max-width: 980px) {
      .work-report-execution-head {
        grid-template-areas: "number quantity action remove";
        grid-template-columns: 24px 140px minmax(0, 1fr) 36px;
        row-gap: 12px;
        align-items: start;
      }

      .work-report-execution-number,
      .work-report-execution-head > .work-report-icon-btn {
        align-self: center;
      }
    }

    @container work-report-group (max-width: 620px) {
      .work-report-execution-head {
        grid-template-areas:
          "number quantity remove"
          "number action remove";
        grid-template-columns: 24px minmax(0, 1fr) 36px;
      }
    }

    /* Compact work-report editor: one active work row, short evidence strip, shared crew total. */
    .modal-body.work-report-completion-body,
    .work-report-completion-modal.is-central .work-report-completion-body {
      position: relative;
      grid-template-columns: minmax(0, 2.45fr) minmax(250px, .88fr);
      grid-template-rows: minmax(0, 1fr);
      gap: var(--work-report-surface-gap, 10px);
    }

    .modal-body.work-report-completion-body {
      padding: 10px;
    }

    .work-report-completion-modal.is-central .work-report-completion-body {
      padding: 0;
    }

    .work-report-completion-modal .work-report-main:not(.has-closing-comment-composer) {
      --work-report-section-gap: 10px;
      gap: var(--work-report-section-gap);
    }

    .work-report-completion-modal .work-report-return-note {
      flex: 0 0 auto;
      min-width: 0;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      color: var(--text);
      container-type: inline-size;
    }

    .work-report-completion-modal .work-report-return-note + .work-report-work-section {
      margin-top: calc(var(--work-report-surface-gap, var(--dossier-surface-gap, 6px)) - var(--work-report-section-gap));
    }

    .work-report-completion-modal .work-report-return-note__summary {
      display: grid;
      grid-template-columns: 20px auto minmax(0, 1fr) 20px;
      gap: 10px;
      align-items: start;
      padding: 11px;
      cursor: pointer;
      list-style: none;
    }

    .work-report-completion-modal .work-report-return-note__summary::-webkit-details-marker {
      display: none;
    }

    .work-report-completion-modal .work-report-return-note__summary:focus-visible {
      outline: 2px solid var(--accent-strong);
      outline-offset: -2px;
      border-radius: var(--radius);
    }

    .work-report-completion-modal .work-report-return-note__icon {
      color: var(--accent-strong);
      font-size: 20px;
    }

    .work-report-completion-modal .work-report-return-note__chevron {
      align-self: center;
      font-size: 20px;
    }

    .work-report-completion-modal .work-report-return-note[open] .work-report-return-note__chevron {
      transform: rotate(180deg);
    }

    .work-report-completion-modal .work-report-return-note__copy {
      display: grid;
      gap: 4px;
      min-width: 0;
    }

    .work-report-completion-modal .work-report-return-note strong,
    .work-report-completion-modal .work-report-return-note__comment {
      font-size: 12px;
      line-height: 1.4;
      overflow-wrap: anywhere;
    }

    .work-report-completion-modal .work-report-return-note__comment {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 1;
      overflow: hidden;
      white-space: pre-wrap;
    }

    .work-report-completion-modal .work-report-return-note[open] .work-report-return-note__comment {
      display: block;
      overflow: visible;
    }

    .work-report-completion-modal .work-report-return-note__meta {
      min-width: 0;
      color: var(--muted);
      font-size: 10px;
      line-height: 1.3;
    }

    .work-report-completion-modal .work-report-return-note__author {
      display: flex;
      flex-wrap: wrap;
      gap: 3px 6px;
      align-items: baseline;
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .work-report-completion-modal .work-report-return-note__author b {
      font-weight: 400;
    }

    .work-report-completion-modal .work-report-return-note__author time::before {
      content: "·";
      margin-right: 6px;
    }

    @container (max-width: 560px) {
      .work-report-completion-modal .work-report-return-note__summary {
        grid-template-columns: 20px minmax(0, 1fr) 20px;
        row-gap: 4px;
      }

      .work-report-completion-modal .work-report-return-note__copy {
        grid-column: 2;
        grid-row: 2;
      }

      .work-report-completion-modal .work-report-return-note__chevron {
        grid-column: 3;
        grid-row: 1 / 3;
      }

      .work-report-completion-modal .work-report-return-note:not([open]) .work-report-return-note__comment {
        -webkit-line-clamp: 2;
      }
    }

    .work-report-completion-modal .work-report-work-section {
      padding: 0;
    }

    .work-report-completion-modal .work-report-work-section-head {
      align-items: center;
      min-height: 44px;
      margin: 0;
      padding: 8px 11px;
      border-bottom: 1px solid var(--line);
    }

    .work-report-completion-modal .work-report-section-title {
      gap: 6px;
      font-size: 14px;
    }

    .work-report-completion-modal .work-report-section-title .material-symbols-outlined {
      font-size: 18px;
    }

    .work-report-work-summary {
      color: var(--muted);
      font-size: 10px;
      font-weight: 700;
      white-space: nowrap;
    }

    .work-report-completion-modal .work-report-catalog-picker,
    .work-report-completion-modal .work-report-work-list {
      gap: 0;
    }

    .work-report-completion-modal .work-report-group {
      border: 0;
      border-bottom: 1px solid #cbd6de;
    }

    .work-report-completion-modal .work-report-group-head {
      grid-template-columns: 30px minmax(0, 1fr) 92px 20px;
      gap: 8px;
      min-height: 58px;
      padding: 8px 10px;
      background: #f3faf8;
    }

    .work-report-completion-modal .work-report-group.is-expanded .work-report-group-head {
      border-bottom: 1px solid #cbd6de;
    }

    .work-report-completion-modal .work-report-group.has-error .work-report-group-head {
      box-shadow: inset 3px 0 0 #b93838;
      background: #fff3f2;
    }

    .work-report-completion-modal .work-report-group.has-error .work-report-group-head:hover,
    .work-report-completion-modal .work-report-group.has-error .work-report-group-head:focus-visible {
      background: #feeae8;
    }

    .work-report-completion-modal .work-report-group.has-error .work-report-group-index {
      border-color: #d99696;
      color: #a82d2d;
    }

    .work-report-completion-modal .work-report-group-index {
      width: 24px;
      height: 28px;
      font-size: 11px;
    }

    .work-report-completion-modal .work-report-group-title strong {
      font-size: 13px;
    }

    .work-report-completion-modal .work-report-group-issue {
      display: flex;
      align-items: center;
      gap: 3px;
      min-width: 0;
      margin-top: 2px;
      overflow: hidden;
      color: #a82d2d;
      font-size: 9px;
      font-weight: 800;
      line-height: 11px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .work-report-completion-modal .work-report-group-issue[hidden] {
      display: none;
    }

    .work-report-completion-modal .work-report-group-issue .material-symbols-outlined {
      flex: 0 0 auto;
      font-size: 12px;
    }

    .work-report-completion-modal .work-report-group-issue [data-work-report-group-issue-text] {
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .work-report-completion-modal .work-report-group-total strong {
      font-size: 13px;
    }

    .work-report-completion-modal .work-report-group.has-error .work-report-group-total strong,
    .work-report-completion-modal .work-report-group.has-error .work-report-group-chevron {
      color: #a82d2d;
    }

    .work-report-completion-modal .work-report-execution {
      padding: 12px 10px;
    }

    .work-report-completion-modal .work-report-execution-head,
    .work-report-completion-modal .work-report-group .work-report-execution-head {
      grid-template-areas: "number quantity photos actions";
      grid-template-columns: 22px minmax(110px, 130px) minmax(0, 1fr) 100px;
      gap: 8px;
      align-items: stretch;
    }

    .work-report-completion-modal .work-report-execution-number {
      width: 20px;
      height: 48px;
      align-self: end;
    }

    .work-report-completion-modal .work-report-execution label > span:first-child,
    .work-report-completion-modal .work-report-execution-column-label {
      min-height: 13px;
      margin-bottom: 0;
      font-size: 9px;
      line-height: 13px;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .work-report-completion-modal .work-report-execution-quantity {
      display: grid;
      grid-template-rows: 13px 48px;
      gap: 5px;
      align-self: stretch;
    }

    .work-report-completion-modal .work-report-execution input,
    .work-report-completion-modal .work-report-quantity-control {
      height: 48px;
      min-height: 48px;
    }

    .work-report-completion-modal .work-report-quantity-control {
      grid-template-columns: minmax(56px, 1fr) fit-content(72px);
    }

    .work-report-completion-modal .work-report-quantity-control small {
      min-width: 0;
      max-width: 72px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .work-report-completion-modal .work-report-line-evidence {
      grid-area: photos;
      grid-template-areas:
        "rule added"
        "photos added";
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-rows: 13px 48px;
      column-gap: 12px;
      row-gap: 5px;
      align-self: stretch;
      min-width: 0;
      margin: 0;
    }

    .work-report-completion-modal .work-report-line-photo-rule {
      grid-area: rule;
      min-height: 13px;
      font-size: 9px;
      line-height: 13px;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .work-report-completion-modal .work-report-line-added {
      grid-area: added;
      align-self: center;
      font-size: 12px;
      line-height: 16px;
      white-space: nowrap;
    }

    .work-report-completion-modal .work-report-line-evidence.has-error .work-report-line-photo-rule {
      color: #a82d2d;
    }

    .work-report-completion-modal .work-report-line-photo-grid {
      grid-area: photos;
      display: flex;
      gap: 5px;
      height: 48px;
      min-width: 0;
      overflow: hidden;
    }

    .work-report-completion-modal .work-report-line-photo,
    .work-report-completion-modal .work-report-line-photo-more,
    .work-report-completion-modal .work-report-line-photo-add {
      flex: 0 0 58px;
      min-height: 48px;
    }

    .work-report-completion-modal .work-report-line-photo[hidden],
    .work-report-completion-modal .work-report-line-photo-more[hidden] {
      display: none;
    }

    .work-report-completion-modal .work-report-line-photo-preview,
    .work-report-completion-modal .work-report-line-photo img {
      height: 48px;
    }

    .work-report-completion-modal .work-report-line-photo > .ui-icon-button--danger {
      top: 2px;
      right: 2px;
      width: 19px;
      height: 19px;
    }

    .work-report-completion-modal .work-report-line-photo-add {
      font-size: 0;
    }

    .work-report-completion-modal .work-report-line-photo-add .material-symbols-outlined {
      font-size: 20px;
    }

    .work-report-completion-modal .work-report-line-dropzone {
      grid-area: photos;
      grid-template-columns: 22px minmax(0, 1fr) auto;
      gap: 6px;
      height: 48px;
      min-height: 48px;
      padding: 6px 8px;
    }

    .work-report-completion-modal .work-report-line-evidence.has-error .work-report-line-dropzone {
      border-color: #d99696;
      background: #fff8f7;
    }

    .work-report-completion-modal .work-report-line-dropzone > .material-symbols-outlined {
      font-size: 21px;
    }

    .work-report-completion-modal .work-report-line-dropzone strong {
      font-size: 11px;
    }

    .work-report-completion-modal .work-report-line-dropzone small {
      display: none;
    }

    .work-report-completion-modal .work-report-line-dropzone-action {
      grid-column: auto;
      min-width: 0;
      padding: 6px 8px;
      font-size: 9px;
    }

    .work-report-execution-actions {
      display: flex;
      grid-area: actions;
      align-items: center;
      align-self: end;
      justify-content: flex-end;
      gap: 4px;
      width: 100px;
      height: 48px;
      min-height: 48px;
    }

    .work-report-completion-modal .work-report-execution-change,
    .work-report-completion-modal .work-report-execution-actions .work-report-icon-btn {
      display: grid;
      place-items: center;
      place-content: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      min-height: 48px;
      padding: 0;
      border: 1px solid var(--line);
      background: #fff;
    }

    .work-report-completion-modal .work-report-execution-change .material-symbols-outlined,
    .work-report-completion-modal .work-report-execution-actions .material-symbols-outlined {
      font-size: 17px;
      line-height: 1;
    }

    .work-report-editor-actions {
      display: flex;
      align-items: center;
      gap: 6px;
      min-height: 46px;
      padding: 7px 10px;
    }

    .work-report-editor-actions button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      min-height: 34px;
      padding: 6px 10px;
      font-size: 11px;
      font-weight: 800;
    }

    .work-report-editor-actions .material-symbols-outlined {
      font-size: 17px;
    }

    .work-report-editor-actions .work-report-add-type {
      justify-self: auto;
      min-height: 34px;
      padding: 6px 10px;
    }

    .work-report-completion-modal .work-report-catalog-browser {
      position: absolute;
      z-index: 8;
      top: 0;
      right: 0;
      bottom: 0;
      display: grid;
      grid-template-rows: auto auto auto minmax(0, 1fr);
      align-content: stretch;
      width: min(1040px, 100%);
      max-width: var(--route-interface-viewport-width, 100vw);
      padding: 14px;
      overflow: hidden;
      border: 0;
      border-left: 1px solid #c7d2dc;
      background: #f7f9fa;
      box-shadow: -18px 0 44px rgba(16, 33, 58, .18);
    }

    .work-report-completion-modal .work-report-catalog-results {
      min-height: 0;
      max-height: none;
      align-content: start;
      overflow: auto;
    }

    .work-report-catalog-browser-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .work-report-catalog-browser-head button {
      display: grid;
      place-items: center;
      width: 32px;
      min-height: 32px;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .work-report-completion-modal .work-report-sidebar {
      align-self: start;
      max-height: 100%;
    }

    .work-report-completion-modal .work-report-people-section {
      min-height: 0;
      padding: 0 11px 10px;
    }

    .work-report-completion-modal .work-report-people-section > .work-report-section-head {
      align-items: center;
      min-height: 44px;
      margin: 0;
      padding: 8px 0;
      border-bottom: 1px solid var(--line);
    }

    .work-report-people-heading {
      display: flex;
      min-width: 0;
      align-items: center;
      gap: 8px;
    }

    .work-report-people-heading > span {
      color: var(--accent);
      font-size: 9px;
      font-weight: 800;
      white-space: nowrap;
    }

    .work-report-completion-modal .work-report-person {
      grid-template-columns: 44px minmax(0, 1fr) auto;
      gap: 10px;
      min-height: 68px;
      padding: 10px 0;
    }

    .work-report-completion-modal .work-report-person-avatar {
      width: 44px;
      height: 44px;
      font-size: 11px;
    }

    .work-report-completion-modal .work-report-person-copy strong {
      font-size: 12px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }

    .work-report-completion-modal .work-report-person-copy small {
      margin-top: 2px;
      font-size: 10px;
    }

    .work-report-completion-modal .work-report-person-share {
      font-size: 11px;
    }

    .work-report-completion-modal .work-report-person-check {
      font-size: 20px;
    }

    .work-report-completion-modal .work-report-people-section > .work-report-people-empty {
      min-height: 180px;
    }

    @media (min-width: 1041px) {
      .work-report-completion-modal .work-report-main {
        display: flex;
        flex-direction: column;
      }

      .work-report-completion-modal .work-report-main-scroll {
        flex: 1 1 auto;
      }

      .work-report-completion-modal .work-report-work-section {
        flex: 1 0 auto;
      }

      .work-report-completion-modal .work-report-sidebar {
        align-self: stretch;
        height: 100%;
        grid-template-rows: minmax(0, 1fr);
        align-content: stretch;
        overflow: hidden;
      }

      .work-report-completion-modal .work-report-people-section {
        min-height: 100%;
        height: 100%;
        overflow: hidden;
      }

      .work-report-completion-modal .work-report-people-section > .work-report-people.is-picker,
      .work-report-completion-modal .work-report-people-section > .work-report-people.is-selected-only {
        flex: 1 1 auto;
        max-height: none;
        min-height: 0;
        align-content: start;
        overflow: auto;
        scrollbar-gutter: stable;
      }

      .work-report-completion-modal .work-report-people-section > .work-report-finance-compact {
        flex: 0 0 auto;
        margin-top: auto;
      }
    }

    .work-report-finance-compact {
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px solid var(--line);
    }

    .work-report-finance-compact .work-report-finance-title {
      margin-bottom: 5px;
      font-size: 9px;
    }

    .work-report-finance-compact .work-report-finance-live > span {
      display: block;
      padding: 8px 0;
      color: var(--muted);
      font-size: 10px;
    }

    .work-report-finance-compact .work-report-finance-values {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
    }

    .work-report-finance-compact .work-report-finance-values > span {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
      min-height: 30px;
      padding: 6px 0;
      border-bottom: 1px solid var(--line);
    }

    .work-report-finance-compact .work-report-finance-values > span.is-total {
      border-bottom: 0;
    }

    .work-report-finance-compact .work-report-finance-values small {
      font-size: 9px;
    }

    .work-report-finance-compact .work-report-finance-values strong {
      margin: 0;
      color: var(--text);
      font-size: 11px;
      white-space: nowrap;
    }

    .work-report-finance-compact .work-report-finance-values .is-total strong {
      color: var(--accent);
      font-size: 15px;
    }

    .work-report-completion-modal .work-report-general-photo-section,
    .work-report-completion-modal .work-report-comment-section {
      padding: 12px;
    }

    .work-report-completion-modal .work-report-general-photo-section .work-report-section-head,
    .work-report-completion-modal .work-report-comment-section .work-report-section-head {
      align-items: center;
      margin-bottom: 8px;
    }

    .work-report-completion-modal .work-report-general-photo-section .work-report-section-hint {
      font-size: 10px;
    }

    @media (max-width: 1040px) {
      .modal-body.work-report-completion-body,
      .work-report-completion-modal.is-central .work-report-completion-body {
        display: block;
        overflow: auto;
      }

      .work-report-completion-modal .work-report-sidebar {
        margin-top: 10px;
      }

      .work-report-main.has-closing-comment-composer {
        overflow: visible;
      }

      .work-report-main-scroll {
        overflow: visible;
      }
    }

    @media (max-width: 620px) {
      .work-report-completion-modal .work-report-execution-head,
      .work-report-completion-modal .work-report-group .work-report-execution-head {
        grid-template-areas:
          "quantity actions"
          "photos photos";
        grid-template-columns: minmax(0, 1fr) auto;
      }

      .work-report-completion-modal .work-report-execution-number {
        display: none;
      }

      .work-report-completion-modal .work-report-line-photo-grid {
        overflow-x: auto;
      }

      .work-report-completion-modal .work-report-group-head {
        grid-template-columns: 28px minmax(0, 1fr) 20px;
      }

      .work-report-completion-modal .work-report-group-total {
        grid-column: 2;
        text-align: left;
      }

      .work-report-completion-modal .work-report-group-chevron {
        grid-column: 3;
        grid-row: 1 / 3;
      }

      .work-report-completion-modal .work-report-catalog-browser {
        width: 100%;
      }

      .work-report-catalog-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    .modal-backdrop[hidden] {
      display: none;
    }

    #filesModal,
    #commentsModal,
    .field-assignment-modal-backdrop,
    #taskModal,
    #fieldAssignmentModal {
      z-index: 12;
    }
    #attachmentPreviewModal {
      z-index: 1500;
    }
    .field-review-transition-backdrop {
      z-index: 1450;
      background: rgba(18, 32, 45, .55);
      backdrop-filter: blur(1px);
    }

    .modal.field-review-transition {
      width: min(680px, calc(100vw - 36px));
      max-height: calc(100vh - 32px);
      overflow: hidden;
      border: 1px solid #d7dfe6;
      border-radius: var(--radius-surface);
      background: #fff;
      box-shadow: 0 22px 56px rgba(16, 31, 43, .26);
    }

    .modal.field-review-transition[data-mode="manual"] {
      width: min(720px, calc(100vw - 36px));
    }

    .field-review-transition__close {
      border: 0;
      background: transparent;
      box-shadow: none;
    }

    .field-review-transition__close:is(:hover, :focus-visible) {
      border-color: transparent;
      background: transparent;
      box-shadow: none;
      color: var(--accent-strong);
    }

    .field-review-transition__close .material-symbols-outlined {
      font-size: 19px;
    }

    .field-review-transition__body {
      display: grid;
      gap: 18px;
      padding: 22px 24px 20px;
    }

    .field-review-transition__route {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
      align-items: center;
      gap: 12px;
      color: #43576d;
      font-size: 13px;
    }

    .field-review-transition__stage {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      min-width: 0;
      min-height: 62px;
      padding: 10px 13px;
      border: 1px solid #d8e1e8;
      border-radius: var(--radius);
      background: #fbfcfd;
    }

    .field-review-transition__stage.is-target {
      border-color: rgba(var(--accent-rgb), .24);
      background: linear-gradient(135deg, rgba(var(--accent-rgb), .08), rgba(var(--accent-rgb), .025));
    }

    .field-review-transition__stage-icon {
      display: grid;
      width: 36px;
      height: 36px;
      place-items: center;
      border-radius: var(--radius);
      background: rgba(var(--accent-rgb), .09);
      color: var(--accent-strong);
    }

    .field-review-transition__stage-icon .material-symbols-outlined {
      font-size: 21px;
    }

    .field-review-transition__stage-copy {
      display: grid;
      min-width: 0;
      gap: 2px;
    }

    .field-review-transition__stage-copy span {
      color: var(--muted);
      font-size: 10px;
      font-weight: 750;
      letter-spacing: .03em;
      line-height: 1.2;
      text-transform: uppercase;
    }

    .field-review-transition__stage-copy strong {
      overflow: hidden;
      overflow-wrap: anywhere;
      color: var(--ink);
      font-size: 13px;
      line-height: 1.3;
      text-overflow: ellipsis;
    }

    .field-review-transition__route-arrow {
      display: grid;
      place-items: center;
      color: #557085;
    }

    .field-review-transition__route-arrow .material-symbols-outlined {
      font-size: 28px;
    }

    .field-review-transition__summary {
      display: grid;
      grid-template-columns: 64px minmax(0, 1fr);
      gap: 14px;
      align-items: center;
      min-height: 88px;
      padding: 12px;
      border: 1px solid #d7e0e7;
      border-radius: var(--radius);
      background: #fbfcfd;
    }

    .field-review-transition__preview {
      display: grid;
      place-items: center;
      width: 64px;
      height: 64px;
      overflow: hidden;
      border-radius: var(--radius);
      background: var(--accent-soft);
      color: var(--accent-strong);
    }

    .field-review-transition__preview img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .field-review-transition__preview .material-symbols-outlined {
      font-size: 26px;
    }

    .field-review-transition__target {
      display: grid;
      min-width: 0;
      gap: 5px;
    }

    .field-review-transition__target strong {
      color: var(--ink);
      font-size: 15px;
      line-height: 1.3;
    }

    .field-review-transition__target span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.3;
    }

    .field-review-transition__meta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 5px 12px;
    }

    .field-review-transition__meta-location {
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }

    .field-review-transition__meta-location .material-symbols-outlined {
      font-size: 15px;
    }

    .field-review-transition__report {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      min-width: 0;
    }

    .field-review-transition__report .material-symbols-outlined {
      flex: 0 0 auto;
      font-size: 15px;
    }

    .field-review-transition[data-mode="manual"] .field-review-transition__report {
      width: fit-content;
      margin-top: 2px;
      padding: 4px 6px;
      border-left: 3px solid #bb7714;
      background: #fff8e8;
    }

    .field-review-transition[data-mode="manual"] .field-review-transition__report,
    .field-review-transition[data-mode="manual"] .field-review-transition__report span {
      color: #7d4b09;
      font-weight: 700;
    }

    .field-review-transition__field {
      display: grid;
      gap: 8px;
      color: var(--ink);
      font-size: 13px;
      font-weight: 700;
    }

    .field-review-transition__field textarea {
      width: 100%;
      min-height: 92px;
      padding: 13px 14px;
      resize: vertical;
    }

    .field-review-transition__field textarea:focus {
      border-color: var(--accent);
      outline: 0;
      box-shadow: 0 0 0 2px rgba(var(--accent-rgb), .16);
    }

    .field-review-transition__field .is-required::after {
      content: " *";
      color: #d92d20;
    }

    .field-review-transition__manual-files {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: center;
      gap: 7px 10px;
    }

    .field-review-transition__manual-files[hidden] {
      display: none;
    }

    .field-review-transition__file-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      min-height: 40px;
      padding: 7px 10px;
      border-color: var(--accent-border-strong);
      background: var(--accent-faint);
      color: var(--accent-strong);
      font-size: 12px;
    }

    .field-review-transition__file-button .material-symbols-outlined {
      font-size: 17px;
    }

    .field-review-transition__file-hint {
      color: var(--muted);
      font-size: 11px;
    }

    .field-review-transition__file-list {
      grid-column: 1 / -1;
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
    }

    .field-review-transition__file {
      display: inline-flex;
      align-items: center;
      min-width: 0;
      max-width: 100%;
      gap: 4px;
      padding: 4px 6px;
      border: 1px solid var(--accent-border);
      background: var(--accent-faint);
      color: var(--accent-strong);
      font-size: 10px;
    }

    .field-review-transition__file .material-symbols-outlined {
      flex: 0 0 auto;
      color: var(--accent);
      font-size: 15px;
    }

    .field-review-transition__file span:last-child {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .field-review-transition__error {
      margin: -4px 0 0;
      color: #b42318;
      font-size: 11px;
      font-weight: 700;
    }

    .field-review-transition__error[hidden] {
      display: none;
    }

    .field-review-transition__note {
      display: flex;
      align-items: center;
      gap: 7px;
      margin: 0;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.35;
    }

    .field-review-transition__note .material-symbols-outlined {
      color: #5d7184;
      font-size: 16px;
    }

    .field-review-transition__footer {
      display: flex;
      min-height: 64px;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 12px 24px;
      border-top: 1px solid #e3e8ed;
      background: #fff;
    }

    .field-review-transition__actions {
      display: flex;
      flex: 0 0 auto;
      justify-content: flex-end;
      gap: 8px;
      background: #fff;
    }

    .field-review-transition__actions button {
      min-height: 40px;
      padding: 8px 20px;
    }

    .field-review-transition__actions .primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      background: var(--accent);
      border-color: var(--accent);
    }

    @media (max-width: 640px) {
      .modal.field-review-transition:not([data-mode="repeat-survey"]) {
        --route-modal-head-height: 60px;
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
        overflow: auto;
      }

      #fieldReviewTransitionTitle {
        white-space: normal;
      }

      .field-review-transition__body {
        gap: 16px;
        padding: 18px 16px;
      }

      .field-review-transition__route {
        grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
        gap: 6px;
      }

      .field-review-transition__stage {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 7px;
        min-height: 68px;
        padding: 8px;
      }

      .field-review-transition__stage-icon {
        width: 30px;
        height: 30px;
      }

      .field-review-transition__stage-icon .material-symbols-outlined {
        font-size: 18px;
      }

      .field-review-transition__stage-copy strong {
        white-space: normal;
      }

      .field-review-transition__route-arrow .material-symbols-outlined {
        font-size: 22px;
      }

      .field-review-transition__summary {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 11px;
        min-height: 76px;
        padding: 10px;
      }

      .field-review-transition__preview {
        width: 48px;
        height: 48px;
      }

      .field-review-transition__target strong {
        font-size: 14px;
      }

      .field-review-transition__footer {
        min-height: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 14px 16px 16px;
      }

      .field-review-transition__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .field-review-transition__actions button {
        width: 100%;
        padding: 8px 6px;
        font-size: 13px;
      }
    }

    .modal.field-review-transition[data-mode="repeat-survey"] {
      --repeat-survey-notch-start: 51%;
      --repeat-survey-notch-run: 44px;
      --repeat-survey-notch-depth: 54px;
      width: min(1020px, calc(100vw - 48px));
      max-height: min(980px, calc(100vh - 32px));
      overflow: auto;
      border-color: #c4d4d2;
      border-radius: var(--radius);
      background: #fff;
      clip-path: polygon(
        0 0,
        var(--repeat-survey-notch-start) 0,
        calc(var(--repeat-survey-notch-start) + var(--repeat-survey-notch-run)) var(--repeat-survey-notch-depth),
        100% var(--repeat-survey-notch-depth),
        100% 100%,
        0 100%
      );
      filter: drop-shadow(0 30px 45px rgba(7, 28, 37, .32));
      box-shadow: none;
    }

    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head {
      position: sticky;
      top: 0;
      z-index: 20;
      align-items: flex-start;
      min-height: 102px;
      padding: 18px 28px 13px;
      border-bottom: 0;
      background: rgba(255, 255, 255, .98);
    }

    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head::before,
    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head::after {
      content: "";
      position: absolute;
      z-index: 2;
      pointer-events: none;
    }

    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head::before {
      top: var(--repeat-survey-notch-depth);
      right: 0;
      left: calc(var(--repeat-survey-notch-start) + var(--repeat-survey-notch-run));
      height: 1px;
      background: #c4d4d2;
    }

    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head::after {
      top: 0;
      left: var(--repeat-survey-notch-start);
      width: var(--repeat-survey-notch-run);
      height: var(--repeat-survey-notch-depth);
      background: #c4d4d2;
      clip-path: polygon(0 0, 2px 0, 100% calc(100% - 2px), 100% 100%, calc(100% - 2px) 100%, 0 2px);
    }

    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head h2 {
      max-width: calc(var(--repeat-survey-notch-start) - 40px);
      color: #10233e;
      font-size: 30px;
      line-height: 1.1;
      letter-spacing: -.035em;
    }

    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head .field-review-transition__close {
      position: absolute;
      top: calc(var(--repeat-survey-notch-depth) + 5px);
      right: 28px;
      width: 38px;
      min-height: 38px;
      border: 0;
      border-radius: var(--radius-circle);
      background: transparent;
      color: #52647c;
    }

    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head .field-review-transition__close:is(:hover, :focus-visible) {
      background: #edf5f4;
      color: #10233e;
    }

    .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head .field-review-transition__close .material-symbols-outlined {
      font-size: 25px;
    }

    .field-review-transition[data-mode="repeat-survey"] .field-review-transition__standard,
    .repeat-survey-confirmation[hidden] {
      display: none;
    }

    .repeat-survey-confirmation {
      display: grid;
      gap: 20px;
      padding: 0 34px 26px;
    }

    .repeat-survey-confirmation__cycle {
      display: grid;
      grid-template-columns: minmax(0, 352px) minmax(140px, 1fr) minmax(0, 352px);
      gap: 22px;
      align-items: stretch;
      justify-content: center;
    }

    .repeat-survey-confirmation__document {
      position: relative;
      isolation: isolate;
      display: grid;
      align-content: start;
      min-height: 328px;
      overflow: hidden;
      padding: 24px 25px 22px;
      border: 2px solid #18877c;
      border-radius: var(--radius);
      background:
        repeating-radial-gradient(ellipse at 24% 18%, rgba(16, 130, 120, .045) 0 1px, transparent 1px 7px),
        linear-gradient(148deg, #f2fbf9 0%, #fff 72%);
      box-shadow: 0 12px 28px rgba(19, 91, 83, .12), inset 0 0 0 5px rgba(255, 255, 255, .72);
    }

    .repeat-survey-confirmation__document.is-new {
      overflow: visible;
      border-color: #e88b16;
      border-radius: var(--radius);
      background: linear-gradient(145deg, #fffdf9 0%, #fff8ed 100%);
      box-shadow: 0 12px 28px rgba(151, 91, 5, .1);
    }

    .repeat-survey-confirmation__document.is-new::before {
      content: "";
      position: absolute;
      z-index: 2;
      top: -2px;
      right: -2px;
      width: 52px;
      height: 52px;
      border-left: 1px solid #e88b16;
      border-bottom: 1px solid #e88b16;
      border-radius: var(--radius);
      background: linear-gradient(225deg, #fff 0 49%, #fff0d7 50% 100%);
      box-shadow: -4px 4px 9px rgba(159, 92, 4, .08);
    }

    .repeat-survey-confirmation__document.is-new::after {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 20px;
      border: 1px dashed #efc689;
      border-radius: var(--radius);
      pointer-events: none;
    }

    .repeat-survey-confirmation__document-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      position: relative;
      z-index: 4;
      color: var(--accent-strong);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .1em;
    }

    .repeat-survey-confirmation__document.is-sealed .repeat-survey-confirmation__document-head > span:first-child {
      padding: 8px 12px;
      border-radius: var(--radius);
      background: #0c8c80;
      color: #fff;
      box-shadow: 0 6px 14px rgba(5, 123, 112, .18);
    }

    .repeat-survey-confirmation__document.is-sealed .repeat-survey-confirmation__document-head > .material-symbols-outlined {
      display: none;
    }

    .repeat-survey-confirmation__document.is-new .repeat-survey-confirmation__document-head {
      padding: 4px 12px 0;
      color: #ad5e00;
    }

    .repeat-survey-confirmation__document-head .material-symbols-outlined {
      font-size: 21px;
    }

    .repeat-survey-confirmation__document-main {
      position: relative;
      z-index: 4;
      display: grid;
      align-items: end;
      margin-top: auto;
    }

    .repeat-survey-confirmation__document-main div {
      display: grid;
      gap: 6px;
      min-width: 0;
    }

    .repeat-survey-confirmation__document-main strong {
      color: #10233e;
      font-size: 20px;
      line-height: 1.2;
    }

    .repeat-survey-confirmation__document-main span:not(.material-symbols-outlined) {
      color: #53667c;
      font-size: 13px;
      line-height: 1.35;
    }

    .repeat-survey-confirmation__document.is-new .repeat-survey-confirmation__document-main {
      margin: 52px 16px 0;
    }

    .repeat-survey-confirmation__seal-cluster {
      position: absolute;
      z-index: 3;
      top: 55px;
      left: 50%;
      width: 190px;
      height: 155px;
      transform: translateX(-43%);
      pointer-events: none;
    }

    .repeat-survey-confirmation__seal {
      position: absolute;
      display: grid;
      place-items: center;
      border-radius: var(--radius-circle);
    }

    .repeat-survey-confirmation__seal.is-primary {
      inset: 0 auto auto 0;
      width: 128px;
      height: 128px;
      border: 8px double rgba(126, 139, 146, .25);
      background:
        radial-gradient(circle at 38% 34%, #fff 0 17%, #f4f5f4 44%, #d8dddf 70%, #f7f7f6 72% 100%);
      color: #9aa3a8;
      box-shadow: 0 12px 22px rgba(30, 52, 59, .18), inset 0 0 0 3px rgba(255, 255, 255, .75);
    }

    .repeat-survey-confirmation__seal.is-primary::before,
    .repeat-survey-confirmation__seal.is-primary::after {
      content: "";
      position: absolute;
      inset: -7px;
      border: 1px dashed rgba(107, 122, 129, .36);
      border-radius: var(--radius-circle);
    }

    .repeat-survey-confirmation__seal.is-primary .material-symbols-outlined {
      font-size: 62px;
      font-weight: 700;
      filter: drop-shadow(0 2px 0 #fff);
    }

    .repeat-survey-confirmation__seal.is-lock {
      right: 0;
      bottom: 0;
      width: 68px;
      height: 68px;
      border: 6px double rgba(255, 255, 255, .74);
      background: radial-gradient(circle at 35% 30%, #42b8ab, #087c72 68%);
      color: #fff;
      box-shadow: 0 8px 18px rgba(5, 109, 100, .28);
    }

    .repeat-survey-confirmation__seal.is-lock .material-symbols-outlined {
      font-size: 33px;
    }

    .repeat-survey-confirmation__immutable {
      position: relative;
      z-index: 4;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      width: fit-content;
      margin-top: 18px;
      padding-top: 14px;
      border-top: 1px solid rgba(11, 126, 116, .16);
      color: var(--accent-strong);
      font-size: 13px;
      font-weight: 750;
    }

    .repeat-survey-confirmation__immutable .material-symbols-outlined {
      font-size: 17px;
    }

    .repeat-survey-confirmation__tags {
      position: relative;
      z-index: 4;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin: 30px 16px 16px;
    }

    .repeat-survey-confirmation__tags span {
      display: grid;
      place-items: center;
      align-content: center;
      gap: 8px;
      min-height: 102px;
      padding: 10px 6px;
      border: 1px solid #efbd75;
      border-radius: var(--radius);
      background: rgba(255, 251, 242, .86);
      color: #6f4110;
      font-size: 11px;
      font-weight: 750;
      line-height: 1.2;
      text-align: center;
    }

    .repeat-survey-confirmation__tags i {
      color: #d36f00;
      font-size: 31px;
      font-style: normal;
    }

    .repeat-survey-confirmation__cycle-arrow {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      justify-items: center;
      min-height: 240px;
      color: #7c8c99;
    }

    .repeat-survey-confirmation__cycle-arrow::before,
    .repeat-survey-confirmation__cycle-arrow::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      width: 116px;
      height: 116px;
      border: 2px solid #11897e;
      border-right-color: #e68c18;
      border-bottom-style: dashed;
      border-radius: var(--radius-circle);
      transform: translate(-50%, -50%) rotate(-32deg);
    }

    .repeat-survey-confirmation__cycle-arrow::after {
      width: 88px;
      height: 88px;
      border-width: 1px;
      border-left-style: dashed;
      opacity: .7;
      transform: translate(-50%, -50%) rotate(147deg);
    }

    .repeat-survey-confirmation__cycle-arrow > span:not(.material-symbols-outlined) {
      position: relative;
      z-index: 4;
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border: 4px solid #dff5f1;
      border-radius: var(--radius-circle);
      background: #0b8b80;
      color: #fff;
      font-size: 20px;
      font-weight: 850;
      box-shadow: 0 5px 12px rgba(10, 117, 107, .18);
    }

    .repeat-survey-confirmation__cycle-arrow > span:last-child {
      border-color: #fff0d4;
      background: #fff;
      color: #dd7600;
      box-shadow: 0 5px 12px rgba(170, 96, 3, .14);
    }

    .repeat-survey-confirmation__cycle-arrow .material-symbols-outlined {
      position: absolute;
      z-index: 3;
      left: 50%;
      top: 50%;
      color: #bd7416;
      font-size: 42px;
      transform: translate(-50%, -50%);
    }

    .repeat-survey-confirmation__impact {
      display: grid;
      grid-template-columns: minmax(220px, .72fr) minmax(0, 1.6fr);
      gap: 22px;
      align-items: center;
      min-height: 92px;
      padding: 13px 20px;
      border: 1px solid #eea43c;
      border-radius: var(--radius);
      background: linear-gradient(90deg, #fff8ec, #fffdf9);
    }

    .repeat-survey-confirmation__impact-title {
      display: grid;
      grid-template-columns: 46px minmax(0, 1fr);
      gap: 13px;
      align-items: center;
    }

    .repeat-survey-confirmation__impact-title > .material-symbols-outlined {
      display: grid;
      place-items: center;
      width: 46px;
      height: 46px;
      border-radius: var(--radius);
      background: #f69312;
      color: #fff;
      font-size: 27px;
    }

    .repeat-survey-confirmation__impact-title div {
      display: grid;
      gap: 3px;
    }

    .repeat-survey-confirmation__impact-title strong {
      color: #774700;
      font-size: 17px;
      line-height: 1.16;
    }

    .repeat-survey-confirmation__impact-title span:not(.material-symbols-outlined) {
      color: #7b6241;
      font-size: 11px;
      line-height: 1.35;
      display: none;
    }

    .repeat-survey-confirmation__impact-steps {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
    }

    .repeat-survey-confirmation__impact-steps span {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      min-height: 52px;
      padding: 0 17px;
      border-left: 1px solid #e5ccb0;
      color: #3d3328;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.25;
    }

    .repeat-survey-confirmation__impact-steps i {
      color: #b16a08;
      color: #70400d;
      font-size: 28px;
      font-style: normal;
    }

    .repeat-survey-confirmation__reasons {
      min-width: 0;
      margin: 0;
      padding: 0;
      border: 0;
    }

    .repeat-survey-confirmation__reasons legend,
    .repeat-survey-confirmation__detail > span {
      margin-bottom: 10px;
      color: var(--ink);
      font-size: 15px;
      font-weight: 800;
    }

    .repeat-survey-confirmation__reason-options {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }

    .repeat-survey-confirmation__reason-options button {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 46px;
      padding: 8px 12px;
      border: 1px solid #c6d1db;
      border-radius: var(--radius);
      background: #fff;
      color: #53647c;
      font-size: 14px;
      font-weight: 750;
      box-shadow: none;
    }

    .repeat-survey-confirmation__reason-options button:hover {
      border-color: var(--accent-border-strong);
      background: var(--accent-faint);
      color: var(--accent-strong);
    }

    .repeat-survey-confirmation__reason-options button.is-selected {
      border-color: var(--accent);
      background: #f2fbf9;
      color: var(--accent-strong);
      box-shadow: inset 0 0 0 1px var(--accent);
    }

    .repeat-survey-confirmation__reason-options .material-symbols-outlined {
      display: none;
    }

    .repeat-survey-confirmation__reason-options button.is-selected::after {
      content: "check";
      display: grid;
      place-items: center;
      width: 20px;
      height: 20px;
      margin-left: auto;
      border-radius: var(--radius-circle);
      background: var(--accent);
      color: #fff;
      font-family: "Material Symbols Outlined";
      font-size: 15px;
    }

    .repeat-survey-confirmation__detail {
      display: grid;
    }

    .repeat-survey-confirmation__detail b {
      color: #c9382b;
    }

    .repeat-survey-confirmation__detail textarea {
      width: 100%;
      min-height: 92px;
      padding: 13px 15px;
      border-radius: var(--radius);
      color: #172a44;
      font-size: 14px;
      resize: vertical;
    }

    .repeat-survey-confirmation__detail textarea:focus {
      border-color: var(--accent);
      outline: 0;
      box-shadow: 0 0 0 2px rgba(var(--accent-rgb), .14);
    }

    .repeat-survey-confirmation__detail small {
      justify-self: end;
      margin-top: 6px;
      color: var(--muted);
      font-size: 11px;
    }

    .repeat-survey-confirmation__error {
      margin: -6px 0 0;
      color: #b42318;
      font-size: 11px;
      font-weight: 750;
    }

    .repeat-survey-confirmation__error[hidden] {
      display: none;
    }

    .repeat-survey-confirmation__actions {
      display: grid;
      grid-template-columns: 180px minmax(0, 1fr);
      gap: 40px;
      align-items: stretch;
    }

    .repeat-survey-confirmation__actions > button {
      min-height: 94px;
      border-radius: var(--radius);
    }

    .repeat-survey-confirmation__actions > .ui-button--cancel {
      border-color: var(--route-brand-green);
      background: #fff;
      color: #0b6f67;
      font-size: 16px;
      font-weight: 800;
    }

    .repeat-survey-confirmation__hold {
      --hold-progress: 0%;
      position: relative;
      display: grid;
      grid-template-columns: 72px minmax(0, 1fr) 56px;
      gap: 18px;
      align-items: center;
      overflow: hidden;
      padding: 11px 18px;
      border: 1px solid var(--accent-strong);
      background: linear-gradient(115deg, #08776e, #029b8d);
      color: #fff;
      text-align: left;
      box-shadow: 0 7px 18px rgba(4, 106, 96, .2);
      touch-action: none;
      user-select: none;
    }

    .repeat-survey-confirmation__hold:disabled {
      border-color: #cbd5dc;
      background: linear-gradient(115deg, #eef3f3, #e7eded);
      color: #849198;
      box-shadow: inset 0 0 0 1px #fff;
      cursor: not-allowed;
    }

    .repeat-survey-confirmation__hold-progress {
      position: absolute;
      inset: auto auto 0 0;
      width: var(--hold-progress);
      height: 9px;
      background: linear-gradient(90deg, #efffff, var(--route-brand-green));
      box-shadow: 0 0 16px rgba(var(--route-brand-green-rgb), .9);
      pointer-events: none;
    }

    .repeat-survey-confirmation__hold-icon,
    .repeat-survey-confirmation__hold-copy,
    .repeat-survey-confirmation__hold-value {
      position: relative;
      z-index: 1;
    }

    .repeat-survey-confirmation__hold-icon {
      display: grid;
      place-items: center;
      width: 64px;
      height: 64px;
      border: 1px solid rgba(255, 255, 255, .42);
      border-radius: var(--radius-circle);
      background: rgba(255, 255, 255, .1);
      font-size: 36px;
    }

    .repeat-survey-confirmation__hold-copy {
      display: grid;
      gap: 5px;
      text-align: center;
    }

    .repeat-survey-confirmation__hold-copy strong {
      font-size: 17px;
      line-height: 1.25;
    }

    .repeat-survey-confirmation__hold-copy span {
      color: rgba(255, 255, 255, .75);
      font-size: 12px;
      line-height: 1.3;
    }

    .repeat-survey-confirmation__hold:disabled .repeat-survey-confirmation__hold-copy span {
      color: inherit;
    }

    .repeat-survey-confirmation__hold-value {
      justify-self: end;
      font-size: 13px;
      font-weight: 850;
      font-variant-numeric: tabular-nums;
    }

    .repeat-survey-confirmation__hold.is-holding .repeat-survey-confirmation__hold-icon {
      animation: repeat-survey-hold-pulse .65s ease-in-out infinite alternate;
    }

    @keyframes repeat-survey-hold-pulse {
      to { transform: scale(.9); background: rgba(255, 255, 255, .25); }
    }

    @media (max-width: 1100px) {
      .modal.field-review-transition[data-mode="repeat-survey"] {
        width: calc(100vw - 28px);
      }

      .field-review-transition[data-mode="repeat-survey"] .field-review-transition__head {
        padding-inline: 26px;
      }

      .repeat-survey-confirmation {
        padding-inline: 26px;
      }

      .repeat-survey-confirmation__cycle {
        grid-template-columns: minmax(0, 1fr) 112px minmax(0, 1fr);
        gap: 16px;
      }

      .repeat-survey-confirmation__document {
        min-height: 300px;
      }

      .repeat-survey-confirmation__tags {
        gap: 6px;
      }

      .repeat-survey-confirmation__tags span {
        min-height: 92px;
        padding-inline: 4px;
      }

      .repeat-survey-confirmation__actions {
        grid-template-columns: 160px minmax(0, 1fr);
        gap: 22px;
      }
    }

    /* Fit the complete repeat-survey decision into the common portal viewport without scrolling. */
    @media (min-width: 721px) and (max-height: 900px) {
      .modal.field-review-transition[data-mode="repeat-survey"] {
        --repeat-survey-notch-start: 52%;
        --repeat-survey-notch-run: 38px;
        --repeat-survey-notch-depth: 46px;
      }

      .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head {
        min-height: 94px;
        padding: 15px 22px 8px;
      }

      .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head h2 {
        font-size: 20px;
      }

      .modal.field-review-transition[data-mode="repeat-survey"] > .field-review-transition__head .field-review-transition__close {
        top: calc(var(--repeat-survey-notch-depth) + 4px);
        right: 20px;
      }

      .repeat-survey-confirmation {
        gap: 9px;
        padding: 0 24px 13px;
      }

      .repeat-survey-confirmation__cycle {
        grid-template-columns: minmax(0, 1fr) 94px minmax(0, 1fr);
        gap: 11px;
      }

      .repeat-survey-confirmation__document {
        min-height: 196px;
        padding: 13px 15px 12px;
      }

      .repeat-survey-confirmation__document.is-new::before {
        width: 38px;
        height: 38px;
      }

      .repeat-survey-confirmation__document.is-new::after {
        inset: 11px;
      }

      .repeat-survey-confirmation__document-head {
        gap: 7px;
        font-size: 10px;
      }

      .repeat-survey-confirmation__document.is-sealed .repeat-survey-confirmation__document-head > span:first-child {
        padding: 5px 8px;
      }

      .repeat-survey-confirmation__document.is-new .repeat-survey-confirmation__document-head {
        padding: 2px 7px 0;
      }

      .repeat-survey-confirmation__document-main div {
        gap: 2px;
      }

      .repeat-survey-confirmation__document-main strong {
        font-size: 16px;
      }

      .repeat-survey-confirmation__document-main span:not(.material-symbols-outlined) {
        font-size: 11px;
      }

      .repeat-survey-confirmation__document.is-new .repeat-survey-confirmation__document-main {
        margin: 28px 8px 0;
      }

      .repeat-survey-confirmation__seal-cluster {
        top: 40px;
        width: 106px;
        height: 85px;
      }

      .repeat-survey-confirmation__seal.is-primary {
        width: 72px;
        height: 72px;
        border-width: 5px;
      }

      .repeat-survey-confirmation__seal.is-primary::before,
      .repeat-survey-confirmation__seal.is-primary::after {
        inset: -5px;
      }

      .repeat-survey-confirmation__seal.is-primary .material-symbols-outlined {
        font-size: 36px;
      }

      .repeat-survey-confirmation__seal.is-lock {
        width: 40px;
        height: 40px;
        border-width: 4px;
      }

      .repeat-survey-confirmation__seal.is-lock .material-symbols-outlined {
        font-size: 21px;
      }

      .repeat-survey-confirmation__immutable {
        margin-top: 7px;
        padding-top: 6px;
        font-size: 11px;
      }

      .repeat-survey-confirmation__immutable .material-symbols-outlined {
        font-size: 14px;
      }

      .repeat-survey-confirmation__tags {
        gap: 5px;
        margin: 11px 7px 7px;
      }

      .repeat-survey-confirmation__tags span {
        gap: 3px;
        min-height: 52px;
        padding: 5px 3px;
        font-size: 9px;
      }

      .repeat-survey-confirmation__tags i {
        font-size: 19px;
      }

      .repeat-survey-confirmation__cycle-arrow {
        min-height: 196px;
      }

      .repeat-survey-confirmation__cycle-arrow::before {
        width: 78px;
        height: 78px;
      }

      .repeat-survey-confirmation__cycle-arrow::after {
        width: 58px;
        height: 58px;
      }

      .repeat-survey-confirmation__cycle-arrow > span:not(.material-symbols-outlined) {
        width: 34px;
        height: 34px;
        border-width: 3px;
        font-size: 14px;
      }

      .repeat-survey-confirmation__cycle-arrow .material-symbols-outlined {
        font-size: 27px;
      }

      .repeat-survey-confirmation__impact {
        grid-template-columns: minmax(180px, .72fr) minmax(0, 1.6fr);
        gap: 10px;
        min-height: 60px;
        padding: 6px 11px;
      }

      .repeat-survey-confirmation__impact-title {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 8px;
      }

      .repeat-survey-confirmation__impact-title > .material-symbols-outlined {
        width: 34px;
        height: 34px;
        font-size: 21px;
      }

      .repeat-survey-confirmation__impact-title strong {
        font-size: 14px;
      }

      .repeat-survey-confirmation__impact-steps span {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 5px;
        min-height: 38px;
        padding: 0 8px;
        font-size: 10px;
      }

      .repeat-survey-confirmation__impact-steps i {
        font-size: 19px;
      }

      .repeat-survey-confirmation__reasons legend,
      .repeat-survey-confirmation__detail > span {
        margin-bottom: 5px;
        font-size: 13px;
      }

      .repeat-survey-confirmation__reason-options {
        gap: 7px;
      }

      .repeat-survey-confirmation__reason-options button {
        min-height: 36px;
        padding: 5px 8px;
        font-size: 12px;
      }

      .repeat-survey-confirmation__reason-options button.is-selected::after {
        width: 16px;
        height: 16px;
        font-size: 12px;
      }

      .repeat-survey-confirmation__detail textarea {
        min-height: 58px;
        padding: 8px 10px;
        font-size: 12px;
        resize: none;
      }

      .repeat-survey-confirmation__detail small {
        margin-top: 2px;
        font-size: 10px;
      }

      .repeat-survey-confirmation__actions {
        grid-template-columns: 145px minmax(0, 1fr);
        gap: 14px;
      }

      .repeat-survey-confirmation__actions > button {
        min-height: 58px;
      }

      .repeat-survey-confirmation__actions > .ui-button--cancel {
        font-size: 14px;
      }

      .repeat-survey-confirmation__hold {
        grid-template-columns: 44px minmax(0, 1fr) 40px;
        gap: 9px;
        padding: 6px 11px;
      }

      .repeat-survey-confirmation__hold-icon {
        width: 40px;
        height: 40px;
        font-size: 25px;
      }

      .repeat-survey-confirmation__hold-copy {
        gap: 1px;
      }

      .repeat-survey-confirmation__hold-copy strong {
        font-size: 13px;
      }

      .repeat-survey-confirmation__hold-copy span {
        font-size: 10px;
      }
    }

    @media (max-width: 720px) {
      .modal.field-review-transition[data-mode="repeat-survey"] {
        --repeat-survey-notch-start: 72%;
        --repeat-survey-notch-run: 26px;
        --repeat-survey-notch-depth: 36px;
        width: min(560px, calc(100vw - 20px));
        max-height: calc(100vh - 20px);
      }

      .field-review-transition[data-mode="repeat-survey"] .field-review-transition__head {
        min-height: 84px;
        padding: 11px 17px 10px;
      }

      .field-review-transition[data-mode="repeat-survey"] .field-review-transition__head h2 {
        max-width: calc(var(--repeat-survey-notch-start) - 34px);
        font-size: 20px;
      }

      .field-review-transition[data-mode="repeat-survey"] .field-review-transition__head .field-review-transition__close {
        top: calc(var(--repeat-survey-notch-depth) + 3px);
        right: 12px;
      }

      .repeat-survey-confirmation {
        gap: 13px;
        padding: 0 17px 17px;
      }

      .repeat-survey-confirmation__cycle {
        grid-template-columns: 1fr;
      }

      .repeat-survey-confirmation__cycle-arrow {
        grid-template-columns: 1fr 1fr;
        min-height: 86px;
      }

      .repeat-survey-confirmation__cycle-arrow::before {
        width: 76px;
        height: 76px;
      }

      .repeat-survey-confirmation__cycle-arrow::after {
        width: 58px;
        height: 58px;
      }

      .repeat-survey-confirmation__cycle-arrow > span:not(.material-symbols-outlined) {
        width: 38px;
        height: 38px;
        font-size: 16px;
      }

      .repeat-survey-confirmation__cycle-arrow .material-symbols-outlined {
        font-size: 30px;
      }

      .repeat-survey-confirmation__impact {
        grid-template-columns: 1fr;
      }

      .repeat-survey-confirmation__impact-steps {
        grid-template-columns: 1fr;
      }

      .repeat-survey-confirmation__impact-steps span {
        min-height: 42px;
        padding: 8px 0;
        border-top: 1px solid #e5ccb0;
        border-left: 0;
      }

      .repeat-survey-confirmation__reason-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .repeat-survey-confirmation__actions {
        grid-template-columns: 1fr;
      }

      .repeat-survey-confirmation__hold {
        grid-template-columns: 54px minmax(0, 1fr) 38px;
        gap: 10px;
        min-height: 82px;
        padding: 9px 11px;
      }

      .repeat-survey-confirmation__hold-icon {
        width: 50px;
        height: 50px;
        font-size: 28px;
      }

      .repeat-survey-confirmation__hold-copy strong {
        font-size: 14px;
      }

      .repeat-survey-confirmation__actions .ui-button--cancel {
        order: 2;
        min-height: 52px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .repeat-survey-confirmation__hold.is-holding .repeat-survey-confirmation__hold-icon {
        animation: none;
      }
    }

    .field-assignment-transition-lock-backdrop {
      z-index: 1460;
      background: rgba(18, 32, 45, .54);
      backdrop-filter: blur(2px);
    }

    .modal.field-assignment-transition-lock {
      width: min(680px, calc(100vw - 36px));
      overflow: hidden;
      border: 1px solid #d3dbe2;
      border-radius: var(--radius-surface);
      background: #fff;
      box-shadow: 0 22px 58px rgba(16, 31, 43, .28);
    }

    .field-assignment-transition-lock__head {
      min-height: var(--route-modal-head-height);
    }

    .field-assignment-transition-lock__eyebrow {
      display: none;
    }

    .field-assignment-transition-lock__head h2 {
      margin: 0;
    }

    .field-assignment-transition-lock__close {
      margin: 0;
    }

    .field-assignment-transition-lock__close:is(:hover, :focus-visible) {
      background: transparent;
      color: var(--accent-strong);
    }

    .field-assignment-transition-lock__close .material-symbols-outlined {
      font-size: 19px;
    }

    .field-assignment-transition-lock__body {
      display: grid;
      gap: 18px;
      padding: 24px;
    }

    .field-assignment-transition-lock__route {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
      align-items: center;
      gap: 10px;
    }

    .field-assignment-transition-lock__route-stage {
      display: flex;
      min-width: 0;
      min-height: 62px;
      box-sizing: border-box;
      align-items: center;
      gap: 12px;
      padding: 13px 16px;
      border: 1px solid #d5dde5;
      border-radius: var(--radius);
      background: #f8fafb;
      color: var(--ink);
    }

    .field-assignment-transition-lock__route-stage strong {
      overflow: hidden;
      font-size: 14px;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .field-assignment-transition-lock__route-stage.is-source .material-symbols-outlined {
      color: var(--accent);
      font-size: 30px;
    }

    .field-assignment-transition-lock__route-stage.is-target > span {
      width: 28px;
      height: 28px;
      box-sizing: border-box;
      flex: 0 0 auto;
      border: 1px dashed var(--route-brand-green);
      border-radius: var(--radius-circle);
    }

    .field-assignment-transition-lock__route-arrow {
      color: #526474;
      font-size: 27px;
      text-align: center;
    }

    .field-assignment-transition-lock__summary {
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr) auto;
      align-items: center;
      min-height: 86px;
      padding: 11px 12px;
      border: 1px solid var(--accent);
      border-radius: var(--radius);
      background: #fff;
    }

    .field-assignment-transition-lock[data-mode="acceptance"] .field-assignment-transition-lock__summary {
      border-color: #bd7b18;
    }

    .field-assignment-transition-lock[data-mode="rework"] .field-assignment-transition-lock__summary {
      border-color: #a84336;
    }

    .field-assignment-transition-lock__icon {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border-radius: var(--radius-circle);
      background: #e4f3f0;
      color: var(--accent);
      font-size: 26px;
    }

    .field-assignment-transition-lock__icon .field-person-avatar {
      width: 48px;
      height: 48px;
      box-shadow: 0 0 0 1px #d4dde3;
    }

    .field-assignment-transition-lock__icon > .material-symbols-outlined {
      font-size: 26px;
    }

    .field-assignment-transition-lock[data-mode="acceptance"] .field-assignment-transition-lock__icon {
      background: #fff7e8;
      color: #a56a12;
    }

    .field-assignment-transition-lock[data-mode="rework"] .field-assignment-transition-lock__icon {
      background: #fff2ef;
      color: #a84336;
    }

    .field-assignment-transition-lock__summary-copy {
      display: grid;
      min-width: 0;
      gap: 5px;
      padding: 2px 12px;
    }

    .field-assignment-transition-lock__summary-copy strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.2;
    }

    .field-assignment-transition-lock__summary-copy span {
      overflow: hidden;
      color: #667789;
      font-size: 12px;
      line-height: 1.35;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .field-assignment-transition-lock__badge {
      margin-right: 2px;
      padding: 6px 9px;
      background: var(--accent-soft);
      color: var(--accent-strong);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .06em;
      white-space: nowrap;
      text-transform: uppercase;
    }

    .field-assignment-transition-lock[data-mode="acceptance"] .field-assignment-transition-lock__badge {
      background: #fff6e4;
      color: #8e611b;
    }

    .field-assignment-transition-lock[data-mode="rework"] .field-assignment-transition-lock__badge {
      background: #fff0ed;
      color: #9a4035;
    }

    .field-assignment-transition-lock__description {
      margin: 0;
      color: #30465a;
      font-size: 14px;
      line-height: 1.6;
    }

    .field-assignment-transition-lock__note {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0;
      padding: 11px 12px;
      border-radius: var(--radius);
      background: #f5f7f8;
      color: #768493;
      font-size: 12px;
      line-height: 1.4;
    }

    .field-assignment-transition-lock__note .material-symbols-outlined {
      flex: 0 0 auto;
      font-size: 18px;
    }

    .field-assignment-transition-lock__reason {
      display: grid;
      gap: 7px;
      color: var(--ink);
      font-size: 12px;
      font-weight: 700;
    }

    .field-assignment-transition-lock__reason[hidden] {
      display: none;
    }

    .field-assignment-transition-lock__reason strong {
      color: #c13f32;
    }

    .field-assignment-transition-lock__reason textarea {
      width: 100%;
      min-height: 78px;
      padding: 10px;
      resize: vertical;
    }

    .field-assignment-transition-lock__reason textarea:focus {
      border-color: #a84336;
      outline: 0;
      box-shadow: 0 0 0 2px rgba(168, 67, 54, .14);
    }

    .field-assignment-transition-lock__error {
      margin: -6px 0 0;
      color: #b42318;
      font-size: 12px;
      font-weight: 700;
    }

    .field-assignment-transition-lock__error[hidden] {
      display: none;
    }

    .field-assignment-transition-lock__actions {
      display: flex;
      align-items: center;
      gap: 9px;
      min-height: 64px;
      box-sizing: border-box;
      padding: 11px 24px;
      border-top: 1px solid #e2e7eb;
      background: #fff;
    }

    .field-assignment-transition-lock__actions button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      min-height: 40px;
      padding: 8px 15px;
    }

    .field-assignment-transition-lock__actions .material-symbols-outlined {
      font-size: 18px;
    }

    .field-assignment-transition-lock__actions-spacer {
      flex: 1 1 auto;
    }

    .field-assignment-transition-lock__danger {
      border-color: transparent;
      background: transparent;
      color: #a84336;
      font-weight: 700;
    }

    .field-assignment-transition-lock__danger:hover {
      border-color: transparent;
      background: transparent;
      color: #8f3027;
    }

    .field-assignment-transition-lock__actions .primary {
      border-color: var(--accent);
      background: var(--accent);
    }

    .field-assignment-transition-lock__actions .primary.is-danger {
      border-color: var(--button-danger-border);
      background: var(--button-danger-background);
      box-shadow: var(--button-danger-shadow);
      color: var(--button-danger-text);
    }

    .field-assignment-transition-lock__actions .primary.is-danger:not(:disabled):hover {
      border-color: var(--button-danger-border-hover);
      background: var(--button-danger-background-hover);
      box-shadow: var(--button-danger-shadow-hover);
      color: var(--button-danger-text);
    }

    .field-assignment-transition-lock__actions .primary.is-danger:not(:disabled):active {
      border-color: var(--button-danger-border-pressed);
      background: var(--button-danger-background-pressed);
      box-shadow: var(--button-danger-shadow-pressed);
      color: var(--button-danger-text);
    }

    .field-assignment-transition-lock__actions .primary.is-danger:focus-visible {
      border-color: var(--button-danger-border-hover);
      background: var(--button-danger-background-hover);
      box-shadow: var(--button-danger-shadow-hover);
      color: var(--button-danger-text);
      outline-color: var(--button-danger-focus-ring);
    }

    .field-assignment-transition-lock[data-view="cancel"] .field-assignment-transition-lock__route {
      display: none;
    }

    .field-assignment-transition-lock[data-view="cancel"] .field-assignment-transition-lock__badge {
      background: #fff0ed;
      color: #9a4035;
    }

    @media (max-width: 620px) {
      .modal.field-assignment-transition-lock[data-view] {
        --route-modal-head-title-size: 15px;
        --route-modal-head-padding: 10px;
        --route-modal-head-action-padding: 7px;
        --route-modal-head-wedge: 20px;
        width: min(100% - 20px, 680px);
      }

      .field-assignment-transition-lock__body {
        gap: 14px;
        padding: 18px 16px;
      }

      .field-assignment-transition-lock__route {
        grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr);
        gap: 5px;
      }

      .field-assignment-transition-lock__route-stage {
        min-height: 68px;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        padding: 7px 4px;
        text-align: center;
      }

      .field-assignment-transition-lock__route-stage strong {
        font-size: 12px;
        overflow: visible;
        white-space: normal;
      }

      .field-assignment-transition-lock__route-stage.is-source .material-symbols-outlined {
        font-size: 24px;
      }

      .field-assignment-transition-lock__route-stage.is-target > span {
        width: 23px;
        height: 23px;
      }

      .field-assignment-transition-lock__route-arrow {
        font-size: 21px;
      }

      .field-assignment-transition-lock__summary {
        grid-template-columns: 50px minmax(0, 1fr);
        min-height: 78px;
        padding: 10px;
      }

      .field-assignment-transition-lock__badge {
        grid-column: 2;
        width: fit-content;
        margin: 3px 0 2px 10px;
      }

      .field-assignment-transition-lock__summary-copy span {
        overflow: visible;
        white-space: normal;
      }

      .field-assignment-transition-lock__actions {
        flex-wrap: wrap;
        padding: 11px 16px 14px;
      }

      .field-assignment-transition-lock__actions-spacer {
        display: none;
      }

      .field-assignment-transition-lock__actions button {
        flex: 1 1 calc(50% - 8px);
      }

      .field-assignment-transition-lock__danger {
        flex-basis: 100% !important;
        justify-content: flex-start !important;
      }
    }

    .modal {
      width: min(620px, 100%);
      max-height: min(680px, calc(var(--route-interface-viewport-height) - 44px));
      overflow: auto;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: 0 24px 70px rgba(23, 32, 51, .22);
    }

    .modal-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 14px;
      padding: 16px;
      border-bottom: 1px solid var(--line);
    }

    .modal-head h2 {
      margin: 0;
      font-size: 18px;
      line-height: 1.2;
      letter-spacing: 0;
    }

    .modal-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px;
    }

    .detail-copy-link-btn {
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .detail-copy-link-btn .material-symbols-outlined {
      font-size: 18px;
    }

    .modal-body {
      padding: 14px 16px 16px;
    }

    .modal.team-commandment-modal {
      width: min(920px, calc(100% - 24px));
      max-height: min(760px, calc(var(--route-interface-viewport-height) - 44px)); overflow: hidden;
    }

    .team-commandment-modal form {
      max-height: inherit; display: grid; grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .team-commandment-head {
      --route-modal-head-padding: 20px;
      --route-modal-head-action-padding: 18px;
    }

    .team-commandment-head h2 {
      margin: 0;
    }

    .team-commandment-close {
      width: 36px; min-width: 36px; min-height: 36px;
      display: inline-grid; place-items: center;
      border: 0; background: transparent; color: var(--muted); padding: 0;
    }

    .team-commandment-close .material-symbols-outlined {
      font-size: 22px;
    }

    .team-commandment-body {
      min-height: 0; overflow: auto; padding: 0; background: #fff;
    }

    .team-commandment-layout {
      display: grid; grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
      gap: 12px; padding: 8px;
    }

    .team-commandment-section {
      min-width: 0; display: grid; align-content: start;
      gap: var(--route-space-field);
    }

    /* Grid gap supplies the shared heading-to-content spacing exactly once. */
    .team-commandment-section.route-panel > .route-panel-title,
    .team-attendance-modal-panel.route-panel > .route-panel-title {
      margin-bottom: 0;
    }

    .team-commandment-people {
      display: grid; gap: var(--route-space-field);
    }

    .team-commandment-person {
      min-width: 0; display: flex; align-items: center; gap: 12px; padding: 0;
    }

    .team-commandment-person .team-person-avatar {
      width: 42px; min-width: 42px; height: 42px; font-size: 11px;
    }

    .team-commandment-person > span:last-child {
      min-width: 0; display: grid; gap: 2px;
    }

    .team-commandment-person strong,
    .team-commandment-person small {
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }

    .team-commandment-person strong {
      color: #172033; font-size: 12px; line-height: 1.3;
    }

    .team-commandment-person small {
      color: var(--muted); font-size: var(--route-text-note-size); font-weight: var(--route-text-note-weight); line-height: 1.4;
    }

    .team-commandment-route {
      display: flex; min-height: 24px; align-items: center; gap: 10px;
      margin: 1px 0 2px; color: #172033; font-size: 13px; font-weight: 850;
    }

    .team-commandment-route .material-symbols-outlined {
      color: #627286; font-size: 18px;
    }

    .team-commandment-route .is-pending {
      color: var(--muted);
    }

    .team-commandment-field {
      display: grid; gap: var(--route-space-label); color: var(--text);
      font-size: var(--route-text-label-size); font-weight: var(--route-text-label-weight); line-height: 1.4;
    }

    .team-commandment-field b {
      color: #b3261e;
    }

    .team-commandment-field em {
      color: var(--muted); font-style: normal; font-weight: 600;
    }

    .team-commandment-field input,
    .team-commandment-field select,
    .team-commandment-field textarea {
      width: 100%; min-height: 42px; border: 1px solid #cbd3dc;
      background: #fff; color: var(--text); padding: 9px 11px;
      font: inherit; font-weight: 600;
    }

    .team-commandment-field textarea {
      min-height: 88px; resize: vertical;
    }

    .team-commandment-period {
      display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--route-space-field);
    }

    .team-commandment-note {
      display: flex; align-items: flex-start; gap: 9px; margin-top: 2px;
      padding: 0; border: 0; background: transparent;
      color: #63748a; font-size: var(--route-text-note-size); font-weight: var(--route-text-note-weight); line-height: 1.4;
    }

    .team-commandment-note .material-symbols-outlined {
      flex: 0 0 auto; color: #35658c; font-size: 18px;
    }

    .team-commandment-error {
      margin: 0 26px 18px; padding: 9px 11px; border: 1px solid #e0aaa6;
      background: #fff3f2; color: #9b2c25; font-size: 12px; font-weight: 720;
    }

    .team-commandment-actions {
      display: flex; min-height: 64px; align-items: center; justify-content: space-between;
      gap: var(--route-space-field); padding: 11px var(--route-space-section); border-top: 1px solid var(--line); background: #fff;
    }

    .team-commandment-summary {
      min-width: 0; color: #253247; font-size: var(--route-text-note-size);
      font-weight: var(--route-text-note-weight); line-height: 1.4; overflow-wrap: anywhere;
    }

    .team-commandment-summary .is-pending {
      color: var(--muted);
    }

    .team-commandment-action-buttons {
      display: flex; flex: 0 0 auto; align-items: center; gap: 9px;
    }

    .team-commandment-actions button {
      min-height: 40px; gap: 7px;
    }

    .team-commandment-actions .material-symbols-outlined {
      font-size: 18px;
    }

    @media (max-width: 700px) {
      .modal.team-commandment-modal {
        width: calc(100% - 20px); max-height: calc(var(--route-interface-viewport-height) - 20px);
      }

      .team-commandment-layout {
        grid-template-columns: minmax(0, 1fr);
      }

      .team-commandment-actions {
        display: grid; padding-inline: var(--route-space-section);
      }

      .team-commandment-action-buttons {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .team-commandment-action-buttons button {
        width: 100%;
      }
    }

    @media (max-width: 480px) {
      .team-commandment-period,
      .team-commandment-action-buttons {
        grid-template-columns: minmax(0, 1fr);
      }
    }

    .modal.team-attendance-modal {
      width: min(780px, 100%);
      max-height: min(780px, calc(var(--route-interface-viewport-height) - 44px));
      overflow: hidden;
    }

    .team-attendance-modal form {
      max-height: inherit;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .team-attendance-modal-body {
      display: grid;
      gap: var(--route-space-field);
      min-height: 0;
      overflow: auto;
      padding: 8px;
    }

    .team-attendance-modal-grid {
      display: grid;
      gap: 12px;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .team-attendance-modal-panel {
      min-width: 0;
      display: grid;
      align-content: start;
      gap: var(--route-space-field);
    }

    .team-attendance-person-control {
      min-height: 54px;
      display: grid;
      grid-template-columns: 38px minmax(0, 1fr);
      align-items: center;
      gap: 9px;
      padding: 6px 9px;
      border: 1px solid #cbd3dc;
      background: #fff;
    }

    .team-attendance-person-avatar {
      display: grid;
      place-items: center;
    }

    .team-attendance-person-avatar .team-person-avatar {
      width: 36px;
      height: 36px;
    }

    .team-attendance-person-copy {
      min-width: 0;
      display: grid;
    }

    .team-attendance-person-copy select {
      min-height: 25px;
      padding: 0 26px 0 0;
      overflow: hidden;
      border: 0;
      outline: 0;
      background-color: transparent;
      font-size: 12px;
      font-weight: 800;
      text-overflow: ellipsis;
    }

    .team-attendance-person-copy small {
      min-width: 0;
      overflow: hidden;
      color: var(--muted);
      font-size: 10px;
      font-weight: 650;
      line-height: 1.3;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .team-attendance-hours {
      max-width: 180px;
    }

    .team-attendance-availability {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      color: #68768a;
      font-size: 11px;
      font-weight: 700;
      line-height: 1.45;
    }

    .team-attendance-availability .material-symbols-outlined {
      flex: 0 0 auto;
      color: #0c7c70;
      font-size: 17px;
    }

    .team-attendance-date-strip {
      display: grid;
      grid-template-columns: repeat(var(--team-attendance-strip-columns, 1), minmax(0, 1fr));
      min-height: 58px;
      overflow: hidden;
      border: 1px solid #72a9a2;
      background: #fff;
      box-shadow: inset 0 0 0 1px rgba(13, 123, 112, .08);
    }

    .team-attendance-date-cell {
      min-width: 0;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 2px;
      padding: 8px 4px;
      color: #657188;
      text-align: center;
    }

    .team-attendance-date-cell + .team-attendance-date-cell {
      border-left: 1px solid #e0e6ed;
    }

    .team-attendance-date-cell strong {
      color: var(--text);
      font-size: 15px;
      line-height: 1;
    }

    .team-attendance-date-cell small {
      font-size: 9px;
      font-weight: 760;
      text-transform: uppercase;
    }

    .team-attendance-date-cell.is-weekend {
      background: #f3f5f7;
    }

    .team-attendance-date-cell.is-summary {
      background: #eef6f4;
      color: #0c746b;
    }

    .team-attendance-date-cell.is-summary strong {
      color: #0c746b;
      font-size: 13px;
    }

    .team-attendance-date-strip.is-invalid {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 12px;
      color: #9b2c25;
      font-size: 11px;
      font-weight: 720;
    }

    .team-attendance-note-field textarea {
      min-height: 84px;
    }

    .team-attendance-conflict {
      display: grid;
      gap: 7px;
      padding: 12px 14px;
      border: 1px solid #e3ad72;
      border-radius: var(--radius);
      background: #fff8ee;
      color: #7b470d;
      font-size: 12px;
      line-height: 1.45;
    }

    .team-attendance-conflict[hidden] {
      display: none;
    }

    .team-attendance-conflict ul {
      display: grid;
      gap: 3px;
      margin: 0;
      padding-left: 18px;
    }

    .team-attendance-modal-actions {
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }

    .team-attendance-period-summary {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 700;
      line-height: 1.35;
    }

    .team-attendance-period-summary .material-symbols-outlined {
      flex: 0 0 auto;
      color: #0d7b70;
      font-size: 18px;
    }

    .team-attendance-period-summary strong {
      color: #223046;
    }

    .team-attendance-modal-action-buttons {
      display: flex;
      flex: 0 0 auto;
      align-items: center;
      gap: 9px;
    }

    #teamAttendanceResolveConflict {
      border-color: #c7761b;
      background: #c7761b;
      color: #fff;
    }

    @media (max-width: 700px) {
      .team-attendance-modal-grid {
        grid-template-columns: minmax(0, 1fr);
      }

      .team-attendance-modal-actions {
        display: grid;
        justify-content: stretch;
      }

      .team-attendance-modal-action-buttons {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #teamAttendanceResolveConflict {
        grid-column: 1 / -1;
        grid-row: 1;
      }

      .team-attendance-delete {
        grid-column: 1 / -1;
      }

      .team-attendance-date-strip {
        min-height: 54px;
      }
    }

    .detail-modal {
      width: min(1080px, 100%);
      max-height: min(820px, calc(var(--route-interface-viewport-height) - 44px));
    }

    .detail-body {
      display: grid;
      gap: 16px;
    }

    .detail-source-link {
      border-color: var(--accent);
      background: var(--accent);
      color: #fff;
    }

    .detail-section {
      display: grid;
      gap: 10px;
      min-width: 0;
    }

    .detail-section + .detail-section {
      padding-top: 14px;
      border-top: 1px solid var(--line);
    }

    .detail-section-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
    }

    .detail-section-head h3 {
      margin: 0;
      font-size: 15px;
      line-height: 1.25;
    }

    .detail-section-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
    }

    .detail-section-actions button {
      min-height: 32px;
      padding: 6px 10px;
      font-size: 12px;
    }

    .detail-fields {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
      gap: 8px;
    }

    .detail-field {
      min-width: 0;
      padding: 9px 10px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fbfcfe;
    }

    .detail-field.is-wide {
      grid-column: 1 / -1;
    }

    .detail-field-label {
      display: block;
      margin-bottom: 3px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .detail-field-value {
      display: block;
      overflow-wrap: anywhere;
      font-weight: 650;
    }

    .detail-text {
      white-space: pre-wrap;
      overflow-wrap: anywhere;
    }

    .workflow-actions {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
      gap: 8px;
    }

    .workflow-transition-btn {
      min-height: 44px;
      display: grid;
      gap: 3px;
      justify-items: start;
      border-radius: var(--radius);
      text-align: left;
      white-space: normal;
    }

    .workflow-transition-label {
      font-weight: 850;
      line-height: 1.2;
    }

    .workflow-transition-next {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
      line-height: 1.25;
    }

    .site-characteristics {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      align-items: baseline;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fbfcfe;
    }

    .site-characteristics-item {
      display: inline-flex;
      gap: 8px;
      align-items: baseline;
      min-width: 0;
    }

    .site-characteristics-item--address {
      flex: 1 1 420px;
    }

    .site-characteristics-label {
      flex: 0 0 auto;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .site-characteristics-value {
      min-width: 0;
      overflow-wrap: anywhere;
      font-size: 14px;
      font-weight: 800;
      line-height: 1.3;
    }

    .site-characteristics-coords {
      color: var(--accent);
      font-weight: 800;
      text-decoration: none;
    }

    .site-characteristics-coords:hover {
      text-decoration: underline;
    }

    .detail-comment-editor {
      display: grid;
      gap: 8px;
    }

    .detail-comment-editor textarea {
      min-height: 86px;
    }

    .detail-comment-actions {
      display: flex;
      justify-content: flex-end;
    }

    .detail-gallery {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
      gap: 10px;
    }

    .detail-photo {
      display: grid;
      gap: 6px;
      min-width: 0;
      min-height: 0;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--text);
      cursor: zoom-in;
      font: inherit;
      text-align: left;
      text-decoration: none;
      white-space: normal;
    }

    .detail-photo img,
    .detail-photo iframe {
      width: 100%;
      aspect-ratio: 4 / 3;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #eef2f7;
      object-fit: cover;
    }

    .detail-photo iframe {
      display: block;
      pointer-events: none;
    }

    .detail-photo span,
    .detail-photo a {
      overflow: hidden;
      color: var(--muted);
      font-size: 12px;
      font-weight: 650;
      text-decoration: none;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .detail-photo a:hover {
      color: var(--accent);
      text-decoration: underline;
    }

    .detail-file-list {
      display: grid;
      gap: 7px;
    }

    .detail-file-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      padding: 8px 0;
      border-top: 1px solid var(--line);
    }

    .detail-file-row:first-child {
      border-top: 0;
      padding-top: 0;
    }

    .detail-linked-site {
      min-height: 32px;
      padding: 6px 10px;
      font-size: 12px;
    }

    #detailModal {
      padding: 12px;
    }

    .detail-modal {
      width: min(1560px, calc(100vw - 24px));
      height: calc(var(--route-interface-viewport-height) - 24px);
      max-height: none;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      overflow: hidden;
    }

    .detail-workspace-head {
      min-height: 74px;
      align-items: center;
      padding: 12px 16px;
    }

    .detail-workspace-title {
      min-width: 220px;
    }

    .detail-workspace-title h2 {
      font-size: 22px;
      letter-spacing: .01em;
    }

    .detail-workspace-head-meta {
      flex: 1 1 auto;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px 18px;
      min-width: 0;
      margin-left: auto;
    }

    .detail-workspace-meta-item {
      display: grid;
      gap: 2px;
      min-width: 90px;
    }

    .detail-workspace-meta-label {
      color: var(--muted);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .detail-workspace-meta-value {
      overflow: hidden;
      font-size: 12px;
      font-weight: 800;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .detail-body.is-workspace {
      display: block;
      min-height: 0;
      padding: 0;
      overflow: hidden;
    }

    .site-workspace {
      height: 100%;
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(230px, 270px) minmax(440px, 1fr) minmax(330px, 400px);
      grid-template-rows: minmax(0, 1fr) auto auto;
      background: #fff;
    }

    .workflow-pilot-workspace {
      height: 100%;
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(280px, 320px) minmax(520px, 1fr) minmax(320px, 380px);
      grid-template-rows: auto minmax(0, 1fr) auto;
      background: #fff;
    }

    .workflow-pilot-passport {
      grid-column: 1 / -1;
      min-width: 0;
      border-bottom: 1px solid var(--line);
      background: #fbfcfe;
    }

    .workflow-pilot-passport summary {
      min-height: 48px;
      display: grid;
      grid-template-columns: minmax(160px, .75fr) repeat(4, minmax(120px, 1fr));
      gap: 18px;
      align-items: center;
      padding: 9px 16px;
      cursor: pointer;
      list-style: none;
    }

    .workflow-pilot-passport summary::-webkit-details-marker {
      display: none;
    }

    .workflow-pilot-passport-title {
      display: flex;
      gap: 8px;
      align-items: center;
      font-size: 12px;
      font-weight: 900;
    }

    .workflow-pilot-passport-title::before {
      content: "+";
      width: 18px;
      color: var(--muted);
      font-size: 14px;
      text-align: center;
    }

    .workflow-pilot-passport[open] .workflow-pilot-passport-title::before {
      content: "−";
    }

    .workflow-pilot-passport-fact {
      min-width: 0;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 6px;
      color: var(--muted);
      font-size: 11px;
      white-space: nowrap;
    }

    .workflow-pilot-passport-fact strong {
      min-width: 0;
      overflow: hidden;
      color: var(--text);
      font-weight: 800;
      text-overflow: ellipsis;
    }

    .workflow-pilot-passport-body {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0 18px;
      padding: 0 16px 12px 42px;
      border-top: 1px solid #edf0f4;
    }

    .workflow-pilot-passport-detail {
      display: grid;
      gap: 4px;
      padding-top: 10px;
      color: var(--muted);
      font-size: 10px;
    }

    .workflow-pilot-passport-detail strong {
      color: var(--text);
      font-size: 11px;
      overflow-wrap: anywhere;
    }

    .workflow-pilot-route,
    .workflow-pilot-work,
    .workflow-pilot-context {
      min-width: 0;
      min-height: 0;
      overflow: auto;
      scrollbar-width: thin;
    }

    .workflow-pilot-route {
      padding: 16px;
      border-right: 1px solid var(--line);
      background: #fbfcfe;
    }

    .workflow-pilot-route-head {
      display: grid;
      gap: 5px;
      padding-bottom: 14px;
    }

    .workflow-pilot-route-title {
      margin: 0;
      font-size: 14px;
      font-weight: 900;
    }

    .workflow-pilot-route-method {
      color: var(--muted);
      font-size: 11px;
    }

    .workflow-pilot-phase-list {
      display: grid;
      gap: 0;
    }

    .workflow-pilot-phase {
      border-top: 1px solid var(--line);
    }

    .workflow-pilot-phase:first-child {
      border-top: 0;
    }

    .workflow-pilot-phase-head {
      width: 100%;
      min-height: 56px;
      display: grid;
      grid-template-columns: 32px minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      padding: 10px 0;
      border: 0;
      background: transparent;
      color: inherit;
      text-align: left;
    }

    .workflow-pilot-phase-head:hover,
    .workflow-pilot-phase-head:focus-visible {
      background: #f4f8fb;
    }

    .workflow-pilot-phase-number {
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      border: 1px solid #b9c4d1;
      border-radius: var(--radius-circle);
      background: #fff;
      color: #48566b;
      font-size: 12px;
      font-weight: 900;
    }

    .workflow-pilot-phase.is-current .workflow-pilot-phase-number,
    .workflow-pilot-phase.is-complete .workflow-pilot-phase-number {
      border-color: var(--accent);
      background: var(--accent);
      color: #fff;
    }

    .workflow-pilot-phase-name {
      display: grid;
      gap: 3px;
      font-size: 12px;
      font-weight: 900;
    }

    .workflow-pilot-phase-name small,
    .workflow-pilot-phase-summary {
      color: var(--muted);
      font-size: 10px;
      font-weight: 700;
    }

    .workflow-pilot-phase.is-current .workflow-pilot-phase-summary {
      color: var(--accent);
    }

    .workflow-pilot-steps {
      display: grid;
      margin: -3px 0 10px 15px;
      padding-left: 26px;
      border-left: 1px solid #cfd8e3;
    }

    .workflow-pilot-step {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      padding: 9px 0;
      border-top: 1px solid #e8edf3;
    }

    .workflow-pilot-step:first-child {
      border-top: 0;
    }

    .workflow-pilot-step-main {
      display: grid;
      gap: 3px;
      font-size: 11px;
      font-weight: 850;
    }

    .workflow-pilot-step-main small,
    .workflow-pilot-step-status {
      color: var(--muted);
      font-size: 10px;
      font-weight: 700;
    }

    .workflow-pilot-step.is-active .workflow-pilot-step-status,
    .workflow-pilot-step.is-complete .workflow-pilot-step-status {
      color: var(--accent);
      font-weight: 850;
    }

    .workflow-pilot-route-footer {
      display: grid;
      gap: 5px;
      margin-top: 18px;
      padding-top: 12px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 10px;
    }

    .workflow-pilot-work {
      padding: 18px 22px;
      border-right: 1px solid var(--line);
      background: #fff;
    }

    .workflow-pilot-work-head {
      display: grid;
      gap: 5px;
      padding-bottom: 14px;
    }

    .workflow-pilot-work-title {
      margin: 0;
      font-size: 19px;
      line-height: 1.2;
    }

    .workflow-pilot-work-department {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }

    .workflow-pilot-tabs {
      display: flex;
      gap: 22px;
      margin-bottom: 4px;
      border-bottom: 1px solid var(--line);
    }

    .workflow-pilot-tab {
      min-height: 38px;
      padding: 8px 2px 7px;
      border: 0;
      border-bottom: 2px solid transparent;
      background: transparent;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
    }

    .workflow-pilot-tab.is-active {
      border-bottom-color: var(--accent);
      color: var(--accent);
    }

    .workflow-pilot-work-section {
      display: grid;
      gap: 8px;
      padding: 13px 0;
      border-bottom: 1px solid var(--line);
    }

    .workflow-pilot-work-section:last-child {
      border-bottom: 0;
    }

    .workflow-pilot-work-section h4 {
      margin: 0;
      font-size: 12px;
      font-weight: 900;
    }

    .workflow-pilot-work-copy,
    .workflow-pilot-list {
      margin: 0;
      color: #475467;
      font-size: 12px;
      line-height: 1.5;
    }

    .workflow-pilot-list {
      padding-left: 19px;
    }

    .workflow-pilot-assignment-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(180px, .65fr);
      gap: 14px;
    }

    .workflow-pilot-field {
      display: grid;
      gap: 6px;
      color: #475467;
      font-size: 11px;
      font-weight: 750;
    }

    .workflow-pilot-field-value {
      min-height: 38px;
      display: flex;
      align-items: center;
      padding: 8px 10px;
      border: 1px solid var(--line);
      background: #fbfcfe;
      color: var(--muted);
      font-weight: 700;
    }

    .workflow-pilot-result-editor textarea {
      width: 100%;
      min-height: 94px;
      resize: vertical;
      font-size: 12px;
    }

    .workflow-pilot-empty,
    .workflow-pilot-notice {
      padding: 12px;
      border-left: 3px solid #b9c2cf;
      background: #f6f8fb;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.45;
    }

    .workflow-pilot-notice.is-success {
      border-left-color: var(--accent);
      background: var(--accent-faint);
      color: var(--accent-strong);
    }

    .workflow-pilot-context {
      display: grid;
      align-content: start;
      gap: 10px;
      padding: 16px;
      background: #fbfcfe;
    }

    .workflow-pilot-context-section {
      display: grid;
      gap: 9px;
      padding: 12px;
      border: 1px solid var(--line);
      background: #fff;
    }

    .workflow-pilot-context-section h4 {
      margin: 0;
      font-size: 12px;
      font-weight: 900;
    }

    .workflow-pilot-context-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      color: var(--muted);
      font-size: 11px;
    }

    .workflow-pilot-context-row strong {
      max-width: 62%;
      color: var(--text);
      text-align: right;
      overflow-wrap: anywhere;
    }

    .workflow-pilot-transfer {
      border-color: #c9e1dc;
      background: #f7fbfa;
    }

    .workflow-pilot-transfer-action {
      width: 100%;
      min-height: 42px;
      margin-top: 3px;
      font-size: 12px;
      font-weight: 850;
    }

    .workflow-pilot-transfer-note {
      margin: 0;
      color: var(--muted);
      font-size: 10px;
      line-height: 1.4;
    }

    .workflow-pilot-draft-action {
      width: 100%;
      min-height: 36px;
      font-size: 11px;
      font-weight: 800;
    }

    @media (max-width: 1280px) {
      .workflow-pilot-workspace {
        grid-template-columns: minmax(250px, 280px) minmax(440px, 1fr) minmax(290px, 330px);
      }

      .workflow-pilot-passport summary {
        gap: 12px;
      }

      .workflow-pilot-work {
        padding-inline: 16px;
      }
    }

    .site-workspace-pane {
      min-width: 0;
      min-height: 0;
      overflow: auto;
      scrollbar-width: thin;
    }

    .site-workspace-passport,
    .site-workspace-route {
      border-right: 1px solid var(--line);
    }

    .site-workspace-passport {
      padding: 14px;
      background: #fbfcfe;
    }

    .site-workspace-route {
      padding: 14px 16px;
    }

    .site-workspace-inspector {
      padding: 14px 16px;
    }

    .workspace-section-title,
    .workspace-pane-title {
      margin: 0;
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
      line-height: 1.25;
    }

    .workspace-pane-title {
      font-size: 16px;
    }

    .workspace-eyebrow {
      color: var(--accent);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .workspace-passport-list {
      display: grid;
      gap: 0;
      margin: 12px 0 0;
    }

    .workspace-passport-row {
      display: grid;
      grid-template-columns: 82px minmax(0, 1fr);
      gap: 8px;
      padding: 7px 0;
      border-top: 1px solid #e9edf3;
    }

    .workspace-passport-row:first-child {
      border-top: 0;
    }

    .workspace-passport-label {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }

    .workspace-passport-value {
      min-width: 0;
      overflow-wrap: anywhere;
      font-size: 12px;
      font-weight: 800;
    }

    .workspace-passport-value a {
      color: var(--accent);
      text-decoration: none;
    }

    .workspace-readiness,
    .workspace-blockers,
    .workspace-participants {
      display: grid;
      gap: 9px;
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
    }

    .workspace-readiness-head,
    .workspace-section-head,
    .workspace-inspector-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 10px;
    }

    .workspace-readiness-value {
      color: var(--accent);
      font-size: 20px;
      font-weight: 900;
      line-height: 1;
    }

    .workspace-progress {
      height: 5px;
      overflow: hidden;
      background: #e4e9ef;
    }

    .workspace-progress > span {
      display: block;
      height: 100%;
      background: var(--accent);
    }

    .workspace-status-counts {
      display: grid;
      gap: 5px;
    }

    .workspace-status-count {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      color: var(--muted);
      font-size: 11px;
    }

    .workspace-status-count strong {
      color: var(--text);
    }

    .workspace-blocker-item {
      display: grid;
      gap: 4px;
      padding: 9px 10px;
      border-left: 3px solid #e88718;
      background: #fff8ec;
      font-size: 11px;
    }

    .workspace-blocker-item strong {
      color: #99580a;
      line-height: 1.3;
    }

    .workspace-blocker-empty {
      color: var(--muted);
      font-size: 11px;
    }

    .workspace-stat-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
      margin-top: 14px;
    }

    .workspace-stat {
      display: grid;
      gap: 3px;
      padding: 9px 8px;
      border: 1px solid var(--line);
      background: #fff;
    }

    .workspace-stat span {
      color: var(--muted);
      font-size: 9px;
      font-weight: 800;
      text-transform: uppercase;
    }

    .workspace-stat strong {
      font-size: 15px;
    }

    .workspace-route-intro {
      display: grid;
      gap: 4px;
      margin-bottom: 12px;
    }

    .workspace-route-intro p {
      margin: 0;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.4;
    }

    .workspace-phases {
      display: grid;
      gap: 9px;
    }

    .workspace-phase {
      border: 1px solid var(--line);
      background: #fff;
    }

    .workspace-phase.is-current {
      border-color: #9bc9df;
      background: #f5fbfe;
    }

    .workspace-phase.is-focused:not(.is-current) {
      border-color: #bfd5f1;
      background: #f8fbff;
    }

    .workspace-phase-head {
      width: 100%;
      display: grid;
      grid-template-columns: 24px minmax(0, 1fr) auto 16px;
      gap: 9px;
      align-items: center;
      min-height: 44px;
      padding: 9px 11px;
      border: 0;
      background: transparent;
      color: inherit;
      text-align: left;
      cursor: pointer;
    }

    .workspace-phase-head:hover,
    .workspace-phase-head:focus-visible {
      background: rgba(53, 105, 169, .045);
      outline: 0;
    }

    .workspace-phase-head:focus-visible {
      box-shadow: inset 0 0 0 2px rgba(53, 105, 169, .35);
    }

    .workspace-phase-index {
      color: var(--muted);
      font-size: 11px;
      font-weight: 900;
      text-align: center;
    }

    .workspace-phase-title {
      font-size: 13px;
      font-weight: 900;
    }

    .workspace-phase-summary {
      color: var(--muted);
      font-size: 10px;
      font-weight: 750;
      white-space: nowrap;
    }

    .workspace-phase.is-current .workspace-phase-summary {
      color: var(--accent);
    }

    .workspace-phase.is-focused .workspace-phase-summary {
      color: #3569a9;
    }

    .workspace-phase-chevron {
      color: var(--muted);
      font-size: 13px;
      font-weight: 900;
      text-align: center;
    }

    .workspace-phase-body {
      display: grid;
      gap: 8px;
      padding: 0 11px 11px 44px;
    }

    .workspace-route-task {
      width: 100%;
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(110px, .65fr) auto;
      gap: 10px;
      align-items: center;
      padding: 10px 11px;
      border: 1px solid var(--line);
      background: #fff;
      color: var(--text);
      text-align: left;
      white-space: normal;
    }

    .workspace-route-task:hover,
    .workspace-route-task.is-selected {
      border-color: #5f99e6;
      background: #f7fbff;
    }

    .task-workspace-stage-node {
      cursor: default;
    }

    .task-workspace-stage-node:hover:not(.is-selected) {
      border-color: var(--line);
      background: #fff;
    }

    .workspace-route-task.is-complete {
      border-left: 3px solid var(--accent);
    }

    .workspace-route-task-main,
    .workspace-route-task-result {
      min-width: 0;
      display: grid;
      gap: 4px;
    }

    .workspace-route-task-title {
      overflow: hidden;
      font-size: 12px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .workspace-route-task-meta,
    .workspace-route-task-result {
      color: var(--muted);
      font-size: 10px;
      line-height: 1.35;
    }

    .workspace-route-task-result {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    .workspace-route-task-state {
      display: grid;
      gap: 4px;
      justify-items: end;
      color: var(--muted);
      font-size: 10px;
      font-weight: 800;
      white-space: nowrap;
    }

    .workspace-route-task-state.is-active {
      color: #1762b5;
    }

    .workspace-route-task-state.is-complete {
      color: var(--accent);
    }

    .workspace-phase-empty {
      padding: 10px 11px;
      border: 1px dashed #cbd4df;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.4;
    }

    .workspace-phase-empty button {
      min-height: 28px;
      margin-top: 8px;
      padding: 5px 8px;
      font-size: 11px;
    }

    .workspace-inspector-head {
      padding-bottom: 12px;
      border-bottom: 1px solid var(--line);
    }

    .workspace-inspector-status {
      color: #1762b5;
      font-size: 11px;
      font-weight: 850;
      white-space: nowrap;
    }

    .workspace-inspector-status.is-complete {
      color: var(--accent);
    }

    .workspace-inspector-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 5px 10px;
      margin-top: 6px;
      color: var(--muted);
      font-size: 10px;
      font-weight: 750;
    }

    .workspace-inspector-section {
      display: grid;
      gap: 8px;
      padding: 13px 0;
      border-bottom: 1px solid var(--line);
    }

    .workspace-inspector-section:last-child {
      border-bottom: 0;
    }

    .workspace-inspector-copy {
      margin: 0;
      color: #475467;
      font-size: 11px;
      line-height: 1.45;
      white-space: pre-wrap;
    }

    .workspace-result {
      padding: 9px 10px;
      border-left: 3px solid var(--accent);
      background: var(--accent-faint);
      color: var(--accent-strong);
      font-size: 11px;
      line-height: 1.4;
    }

    .workspace-result.is-empty {
      border-left-color: #b9c2cf;
      background: #f6f8fb;
      color: var(--muted);
    }

    .workflow-route-action {
      display: grid;
      gap: 9px;
      padding: 10px;
      border: 1px solid #c9e1dc;
      background: #f7fbfa;
    }

    .workflow-route-action textarea,
    .workflow-route-return textarea {
      width: 100%;
      min-height: 76px;
      resize: vertical;
    }

    .workflow-route-action-buttons {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }

    .workflow-route-action-buttons button {
      min-height: 31px;
      padding: 6px 10px;
      font-size: 11px;
    }

    .workflow-route-option-list {
      display: grid;
      gap: 7px;
      color: #475467;
      font-size: 11px;
    }

    .workflow-route-option-list label {
      display: flex;
      gap: 7px;
      align-items: center;
    }

    .workflow-route-access-note {
      padding: 9px 10px;
      border: 1px dashed #cbd4df;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.4;
    }

    .workflow-route-return {
      display: grid;
      gap: 8px;
      padding: 10px;
      border: 1px solid #efd5d0;
      background: #fffafa;
    }

    .workflow-route-return summary,
    .workflow-attempt-history summary {
      cursor: pointer;
      color: var(--text);
      font-size: 11px;
      font-weight: 850;
    }

    .workflow-route-return button {
      justify-self: start;
    }

    .workflow-attempt-history {
      margin-top: 12px;
      padding: 11px;
      border: 1px solid var(--line);
      background: #fbfcfe;
    }

    .workflow-attempt-history-list {
      display: grid;
      gap: 9px;
      margin-top: 10px;
    }

    .workflow-attempt-history-item {
      display: grid;
      gap: 6px;
      padding: 9px 10px;
      border-left: 3px solid #b9c2cf;
      background: #fff;
      color: var(--muted);
      font-size: 10px;
      line-height: 1.4;
    }

    .workflow-attempt-history-item strong {
      color: var(--text);
      font-size: 11px;
    }

    .workflow-attempt-history-steps {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
    }

    .workflow-attempt-history-step {
      padding: 3px 6px;
      border: 1px solid var(--line);
      background: #f7f9fc;
    }

    .workflow-attempt-history-step.is-complete {
      border-color: var(--accent-border);
      background: var(--accent-soft);
      color: var(--accent-strong);
    }

    .workspace-files-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
    }

    .workspace-files-head button {
      min-height: 26px;
      padding: 4px 7px;
      font-size: 10px;
    }

    .workspace-file-strip {
      display: block;
    }

    .workspace-file-strip .detail-gallery {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
    }

    .workspace-file-strip .detail-photo {
      gap: 4px;
    }

    .workspace-file-strip .detail-photo img,
    .workspace-file-strip .detail-photo iframe {
      aspect-ratio: 1 / 1;
      border-radius: var(--radius);
    }

    .workspace-file-strip .detail-photo span {
      font-size: 9px;
    }

    .workspace-comments-preview {
      display: grid;
      gap: 8px;
    }

    .workspace-comment-preview {
      display: grid;
      gap: 3px;
      font-size: 10px;
      line-height: 1.35;
    }

    .workspace-comment-preview span {
      color: var(--muted);
    }

    .workspace-comment-preview p {
      margin: 0;
      color: #475467;
    }

    .workspace-comment-editor {
      display: grid;
      gap: 7px;
    }

    .workspace-comment-editor textarea {
      min-height: 72px;
      font-size: 11px;
    }

    .workspace-comment-actions,
    .workspace-transition-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 7px;
    }

    .workspace-comment-actions button,
    .workspace-transition-actions button {
      min-height: 31px;
      padding: 6px 9px;
      font-size: 10px;
    }

    .workspace-transition-actions .workflow-transition-btn {
      flex: 1 1 150px;
      min-height: 42px;
    }

    .workspace-transition-actions .workflow-transition-btn.primary .workflow-transition-label {
      color: #fff;
    }

    .workspace-transition-actions .workflow-transition-btn.primary .workflow-transition-next {
      color: rgba(255, 255, 255, .8);
    }

    .workspace-activity {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: 250px minmax(0, 1fr) auto;
      gap: 14px;
      align-items: center;
      min-height: 70px;
      padding: 10px 16px;
      border-top: 1px solid var(--line);
      background: #fff;
      font-size: 10px;
    }

    .workspace-activity strong {
      font-size: 11px;
    }

    .workspace-activity-copy {
      min-width: 0;
      color: #475467;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .workspace-activity-time {
      color: var(--muted);
      white-space: nowrap;
    }

    .workspace-standalone {
      max-width: 1080px;
      margin: 0 auto;
      padding: 16px;
      overflow: auto;
    }

    .attachment-preview-modal {
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      overflow: hidden;
    }

    .attachment-preview-body {
      position: relative;
      min-height: 0;
      padding: 12px;
      background: #f7fafc;
      overflow: hidden;
    }

    .attachment-preview-body.is-image-preview {
      background: #10211f;
    }

    .attachment-preview-body.has-preview-notice {
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
    }

    .attachment-preview-notice {
      display: flex;
      align-items: center;
      gap: 9px;
      padding: 10px 14px;
      border-bottom: 1px solid #cdd8e2;
      background: #f3f8f8;
      color: #344054;
      font-size: 12px;
      font-weight: 650;
      line-height: 1.4;
    }

    .attachment-preview-notice .material-symbols-outlined {
      flex: 0 0 auto;
      color: var(--accent);
      font-size: 20px;
    }

    .attachment-preview-stage {
      position: relative;
      width: 100%;
      height: 100%;
      min-width: 0;
      min-height: 0;
      display: grid;
      place-items: center;
    }

    .attachment-preview-media {
      display: block;
      width: 100%;
      height: 100%;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .attachment-text-preview-shell,
    .attachment-generated-preview-shell {
      position: absolute;
      inset: 0;
      overflow: auto;
      background: #f7f9fb;
      scrollbar-gutter: stable;
    }

    .attachment-text-preview {
      min-width: 100%;
      min-height: 100%;
      margin: 0;
      padding: 24px 28px;
      background: #fff;
      color: #17212f;
      font: 14px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      tab-size: 2;
      white-space: pre;
    }

    .attachment-text-preview:focus-visible {
      outline: 3px solid rgba(var(--accent-rgb), .3);
      outline-offset: -3px;
    }

    .attachment-text-preview-status {
      display: grid;
      min-height: 100%;
      place-items: center;
      padding: 24px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
      text-align: center;
    }

    .attachment-text-preview-status.is-error {
      color: var(--danger);
    }

    .attachment-generated-preview-status {
      display: grid;
      min-height: 100%;
      place-content: center;
      justify-items: center;
      gap: 14px;
      padding: 24px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
      text-align: center;
    }

    .attachment-generated-preview-status.is-error {
      color: var(--danger);
    }

    .attachment-generated-preview-status .ui-button {
      min-height: 40px;
      padding: 0 18px;
    }

    img.attachment-preview-media {
      position: absolute;
      inset: 0;
      object-fit: contain;
      object-position: center;
    }

    video.attachment-preview-media {
      position: absolute;
      inset: 0;
      object-fit: contain;
      background: #101828;
    }

    .ui-icon-button.attachment-preview-nav {
      position: absolute;
      z-index: 2;
      top: 50%;
      width: 46px;
      height: 64px;
      display: grid;
      place-items: center;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: var(--radius);
      background: rgba(9, 30, 28, .78);
      color: #fff;
      cursor: pointer;
      transform: translateY(-50%);
      backdrop-filter: blur(8px);
    }

    .attachment-preview-nav.is-previous {
      left: 24px;
    }

    .attachment-preview-nav.is-next {
      right: 24px;
    }

    .ui-icon-button.attachment-preview-nav:not(:disabled):hover,
    .ui-icon-button.attachment-preview-nav:focus-visible {
      border-color: var(--accent-border-strong);
      background: rgba(var(--accent-rgb), .94);
      color: #fff;
      box-shadow: 0 12px 28px rgba(9, 30, 28, .24);
      transform: translateY(-50%);
      outline: 0;
    }

    .ui-icon-button.attachment-preview-nav:not(:disabled):active {
      border-color: var(--accent-border-strong);
      background: rgba(var(--accent-rgb), .82);
      color: #fff;
      box-shadow: 0 5px 14px rgba(9, 30, 28, .2);
      transform: translateY(-50%);
    }

    .ui-icon-button.attachment-preview-nav:disabled {
      opacity: .28;
      cursor: default;
      transform: translateY(-50%);
    }

    .attachment-preview-nav .material-symbols-outlined {
      font-size: 32px;
    }

    .attachment-preview-position {
      position: absolute;
      z-index: 2;
      left: 50%;
      bottom: 24px;
      padding: 7px 11px;
      border: 1px solid rgba(255, 255, 255, .24);
      border-radius: var(--radius);
      background: rgba(9, 30, 28, .78);
      color: #fff;
      font-size: 11px;
      font-weight: 850;
      line-height: 1;
      transform: translateX(-50%);
      backdrop-filter: blur(8px);
    }

    .modal-file-row {
      display: grid;
      grid-template-columns: 112px minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
      padding: 11px 0;
      border-top: 1px solid var(--line);
    }

    .modal-file-row:first-child {
      border-top: 0;
      padding-top: 0;
    }

    .modal-file-actions {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .modal-file-preview {
      position: relative;
      width: 112px;
      height: 80px;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #f7fafc;
      color: var(--muted);
    }

    .modal-file-preview-button,
    .dossier-attachment-preview {
      display: block;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: pointer;
    }

    .modal-file-preview-button:hover .modal-file-preview,
    .modal-file-preview-button:focus-visible .modal-file-preview,
    .dossier-attachment-preview:hover .modal-file-preview,
    .dossier-attachment-preview:focus-visible .modal-file-preview {
      border-color: var(--accent);
      box-shadow: 0 0 0 2px rgba(var(--accent-rgb), .14);
    }

    .file-preview-name {
      display: block;
      max-width: 100%;
      overflow: hidden;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--accent);
      font: inherit;
      font-weight: 750;
      text-align: left;
      text-overflow: ellipsis;
      white-space: nowrap;
      cursor: pointer;
    }

    .file-preview-name:hover,
    .file-preview-name:focus-visible {
      color: var(--accent-strong);
      text-decoration: underline;
    }

    .modal-file-preview img,
    .modal-file-preview iframe,
    .modal-file-preview video {
      display: block;
      width: 100%;
      height: 100%;
      border: 0;
      background: #fff;
      pointer-events: none;
    }

    .modal-file-preview.is-text {
      display: grid;
      place-items: center;
      background: #f7f9fb;
    }

    .modal-file-preview-text-icon {
      color: #667085;
      font-size: 38px;
    }

    .modal-file-preview img {
      object-fit: cover;
    }

    .modal-file-preview video {
      object-fit: cover;
    }

    .modal-file-preview.is-video {
      background: #101828;
    }

    .modal-file-preview-play {
      position: absolute;
      top: 50%;
      left: 50%;
      display: grid;
      width: 36px;
      height: 36px;
      place-items: center;
      border: 1px solid rgba(255, 255, 255, .82);
      border-radius: var(--radius-circle);
      background: rgba(16, 33, 58, .78);
      color: #fff;
      font-size: 25px;
      line-height: 1;
      transform: translate(-50%, -50%);
      transition: background-color 140ms ease, transform 140ms ease;
    }

    .modal-file-preview-button:hover .modal-file-preview-play,
    .modal-file-preview-button:focus-visible .modal-file-preview-play,
    .dossier-attachment-preview:hover .modal-file-preview-play,
    .dossier-attachment-preview:focus-visible .modal-file-preview-play {
      background: var(--accent);
      transform: translate(-50%, -50%) scale(1.06);
    }

    .modal-file-preview.is-document {
      display: grid;
      place-items: center;
      background:
        linear-gradient(135deg, rgba(var(--accent-rgb), .12), rgba(var(--accent-rgb), .02)),
        #fbfcfe;
    }

    .modal-file-preview.is-document-preview {
      background: #e8edf2;
    }

    .modal-file-preview.is-spreadsheet-preview {
      background: #eef6f3;
    }

    .modal-file-preview-ext {
      display: inline-flex;
      min-width: 46px;
      min-height: 32px;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--accent-border);
      border-radius: var(--radius);
      background: var(--accent-soft);
      color: var(--accent-strong);
      font-size: 12px;
      font-weight: 850;
      text-transform: uppercase;
    }

    .modal-file-preview-type {
      position: absolute;
      right: 5px;
      bottom: 5px;
      padding: 2px 5px;
      border-radius: var(--radius);
      background: rgba(23, 32, 51, .72);
      color: #fff;
      font-size: 10px;
      font-weight: 800;
      line-height: 1.1;
      text-transform: uppercase;
    }

    #taskModal .task-editor-modal {
      width: min(990px, 100%);
      max-height: min(900px, calc(var(--route-interface-viewport-height) - 44px));
    }

    .task-editor-modal .modal-head {
      align-items: center;
      padding: 22px 28px;
    }

    .task-editor-modal .modal-head h2 {
      font-size: 24px;
    }

    .task-modal-close {
      width: 40px;
      min-height: 40px;
      display: grid;
      place-items: center;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--text);
    }

    .task-modal-close .material-symbols-outlined {
      font-size: 28px;
      font-weight: 400;
    }

    .task-editor-modal .modal-body {
      padding: 0;
    }

    .task-form {
      display: grid;
      gap: 0;
    }

    .task-form-main {
      display: block;
      min-width: 0;
    }

    .task-form-layout {
      display: grid;
      grid-template-columns: minmax(300px, .36fr) minmax(0, .64fr);
      min-width: 0;
    }

    .task-form-pane {
      min-width: 0;
      padding: 24px 28px 26px;
    }

    .task-form-content-pane {
      border-left: 1px solid var(--line);
    }

    .task-form-section-title {
      margin: 0 0 20px;
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      line-height: 1.3;
    }

    .task-form-grid {
      display: grid;
      gap: 22px 28px;
    }

    .task-form-context {
      grid-template-columns: minmax(0, 1fr);
      gap: 16px;
    }

    .task-form-context.has-stage-field {
      grid-template-columns: minmax(0, 1fr);
    }

    .task-field-region,
    .task-field-type,
    .task-field-stage,
    .task-field-object {
      grid-column: 1;
    }

    .task-form-context.has-stage-field > :is(.task-field-region, .task-field-type, .task-field-stage) {
      grid-column: 1;
    }

    .task-form-context.has-stage-field > .task-field-object { grid-column: 1; }

    .task-form-content {
      grid-template-columns: 1fr;
      gap: 18px;
    }

    .task-form .is-wide {
      grid-column: 1 / -1;
    }

    .task-field,
    .task-files-field {
      min-width: 0;
      display: grid;
      align-content: start;
      gap: 8px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 650;
    }

    .task-field-label {
      min-height: 20px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 650;
      line-height: 1.4;
      letter-spacing: 0;
      text-transform: none;
    }

    .task-field-label-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 16px;
    }

    .task-field-counter {
      flex: 0 0 auto;
      color: var(--muted-2);
      font-size: 12px;
      font-weight: 550;
      font-variant-numeric: tabular-nums;
    }

    .task-field-optional {
      font-weight: 500;
    }

    .task-field-required {
      color: var(--danger);
    }

    .task-field.is-required-empty .task-field-required {
      color: var(--danger);
    }

    .task-field.is-required-filled .task-field-required {
      color: var(--danger);
    }

    .task-field.is-required-empty > :is(input, select, textarea) {
      border-color: var(--route-field-error-border, #ca4a41);
      background: var(--route-field-error-surface, #fff6f4);
      box-shadow: inset 0 0 0 1px var(--route-field-error-ring, rgba(202, 74, 65, .18));
    }

    .task-field.is-required-filled > :is(input, select, textarea) {
      border-color: var(--route-field-filled-border, #a7d1cb);
      background: var(--route-field-filled-surface, #f3fbf9);
      box-shadow: none;
    }

    .task-field.is-required-empty > :is(input, select, textarea):focus {
      outline: 0;
      box-shadow:
        inset 0 0 0 1px var(--route-field-error-ring, rgba(202, 74, 65, .18)),
        0 0 0 3px var(--route-field-error-focus-ring, rgba(202, 74, 65, .1));
    }

    .task-field.is-required-filled > :is(input, select, textarea):focus {
      border-color: var(--route-field-focus, var(--accent));
      background: var(--route-field-surface, #fff);
      outline: 0;
      box-shadow:
        inset 0 0 0 1px var(--route-field-focus, var(--accent)),
        0 0 0 3px var(--route-field-focus-ring, rgba(var(--accent-rgb), .12));
    }

    .task-control-shell,
    .task-site-link-control {
      position: relative;
      display: block;
      min-width: 0;
    }

    .task-control-shell > :is(input, select, textarea),
    .task-site-link-control > input {
      width: 100%;
      padding-left: 44px;
    }

    .task-control-icon {
      position: absolute;
      z-index: 1;
      top: 50%;
      left: 14px;
      color: var(--muted-2);
      font-size: 20px;
      font-weight: 400;
      pointer-events: none;
      transform: translateY(-50%);
      transition: color 140ms ease;
    }

    .task-control-shell--textarea .task-control-icon {
      top: 16px;
      transform: none;
    }

    .task-control-shell:focus-within .task-control-icon,
    .task-site-link-control:focus-within .task-control-icon {
      color: var(--route-field-focus, var(--accent));
    }

    .task-control-shell:has([aria-invalid="true"]) .task-control-icon,
    .task-site-link-control:has([aria-invalid="true"]) .task-control-icon {
      color: var(--route-field-error-border, #ca4a41);
    }

    .task-control-shell:has(> :is(:disabled, [readonly])) .task-control-icon {
      color: var(--route-field-disabled-text, #98a2af);
    }

    .task-control-shell:has(> :disabled)::after {
      content: "lock";
      position: absolute;
      z-index: 1;
      top: 50%;
      right: 34px;
      color: var(--route-field-disabled-text, #98a2af);
      font-family: "Material Symbols Outlined";
      font-size: 18px;
      font-style: normal;
      font-weight: 400;
      line-height: 1;
      pointer-events: none;
      transform: translateY(-50%);
      font-feature-settings: "liga";
      font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;
    }

    .task-field-validation {
      color: var(--route-field-error-border, #ca4a41);
      font-size: 12px;
      font-weight: 650;
      line-height: 1.35;
    }

    .task-field-validation[hidden] {
      display: none;
    }

    .task-field-object {
      position: relative;
    }

    .task-site-link-control {
      position: relative;
    }

    .task-field-object input {
      width: 100%;
      padding-left: 44px;
      padding-right: 42px;
    }

    .task-site-link-control input::-webkit-calendar-picker-indicator {
      opacity: 0;
      cursor: pointer;
    }

    .task-object-indicator {
      position: absolute;
      top: 50%;
      right: 13px;
      color: var(--text);
      font-size: 22px;
      pointer-events: none;
      transform: translateY(-50%);
    }

    .task-field-object.is-link-invalid input {
      border-color: var(--route-field-error-border, #ca4a41);
      background: var(--route-field-error-surface, #fff6f4);
      box-shadow: inset 0 0 0 1px var(--route-field-error-ring, rgba(202, 74, 65, .18));
    }

    .task-field-object.is-linked-site input,
    .task-field-region.is-linked-site select {
      border-color: var(--route-field-filled-border, #a7d1cb);
      background: var(--route-field-filled-surface, #f3fbf9);
      box-shadow: none;
    }

    .task-field-region.is-linked-site select:disabled {
      color: var(--text);
      opacity: 1;
      cursor: default;
    }

    .task-site-link-summary {
      min-height: 46px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      padding: 8px 9px 8px 11px;
      border: 1px solid var(--accent-border);
      border-radius: var(--radius);
      background: var(--accent-soft);
      color: var(--accent-strong);
    }

    .task-site-link-summary[hidden] {
      display: none;
    }

    .task-site-link-icon {
      font-size: 20px;
    }

    .task-site-link-copy {
      min-width: 0;
      display: grid;
      gap: 2px;
    }

    .task-site-link-copy strong,
    .task-site-link-copy span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .task-site-link-copy strong {
      color: var(--text);
      font-size: 13px;
      font-weight: 850;
    }

    .task-site-link-copy span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 600;
    }

    .task-site-link-clear {
      width: 30px;
      min-height: 30px;
      display: grid;
      place-items: center;
      padding: 0;
      border: 0;
      border-radius: var(--radius);
      background: transparent;
      color: var(--muted);
    }

    .task-site-link-clear:hover,
    .task-site-link-clear:focus-visible {
      background: var(--accent-soft);
      color: var(--accent-strong);
    }

    .task-site-link-clear .material-symbols-outlined {
      font-size: 18px;
    }

    .task-field-hint {
      color: #7c8799;
      font-size: 13px;
      font-weight: 500;
    }

    .task-form input,
    .task-form select {
      min-height: 50px;
      padding: 12px 14px;
      background: #fff;
      font-size: 15px;
      font-weight: 600;
    }

    .task-form .task-control-shell > :is(input, select),
    .task-form .task-site-link-control > input {
      padding-left: 44px;
    }

    .task-form .task-field-object input {
      padding-right: 42px;
    }

    .task-form select:required:invalid {
      color: #7c8799;
      font-weight: 500;
    }

    .task-form select option {
      color: var(--text);
      font-weight: 600;
    }

    .task-priority-field {
      position: relative;
    }

    .task-priority-field select {
      padding-left: 44px;
    }

    .task-priority-field[data-priority="low"] .task-control-icon { color: #8b95a5; }
    .task-priority-field[data-priority="normal"] .task-control-icon { color: #2864c8; }
    .task-priority-field[data-priority="high"] .task-control-icon { color: #e53935; }
    .task-priority-field[data-priority="urgent"] .task-control-icon { color: #b42318; }

    .task-control-shell--date input::-webkit-calendar-picker-indicator {
      cursor: pointer;
      opacity: 0;
    }

    .task-form textarea {
      min-height: 136px;
      padding: 14px 14px 14px 44px;
      background: #fff;
      font-size: 15px;
      line-height: 1.55;
    }

    .task-form-divider {
      height: 1px;
      background: var(--line);
    }

    .task-attachment-list-field {
      display: grid;
      gap: 8px;
      margin-top: 20px;
    }

    .task-attachment-list-field:has(.task-attachment-list:empty) {
      display: none;
    }

    .task-controls-grid {
      display: grid;
      grid-template-columns: minmax(170px, .85fr) minmax(180px, .9fr) minmax(280px, 1.5fr);
      gap: 28px;
      align-items: start;
      padding: 20px 28px 22px;
    }

    .task-attachments {
      min-height: 50px;
      display: flex;
      align-items: center;
      gap: 14px;
      min-width: 0;
    }

    .task-attachment-add {
      min-height: 38px;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 6px 0;
      border: 0;
      background: transparent;
      color: #1769d2;
      font-weight: 700;
    }

    .task-attachment-add .material-symbols-outlined {
      font-size: 24px;
    }

    .task-attachment-list {
      min-width: 0;
      display: grid;
      gap: 8px;
      font-size: 13px;
      font-weight: 500;
    }

    .task-attachment-list .file-empty {
      color: var(--muted);
      white-space: nowrap;
    }

    .task-attachment-row {
      min-width: 0;
      display: grid;
      grid-template-columns: 22px minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fbfcfe;
    }

    .task-attachment-row:first-child {
      padding-top: 10px;
      border-top: 1px solid var(--line);
    }

    .task-attachment-icon {
      color: var(--muted);
      font-size: 20px;
    }

    .task-attachment-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      justify-content: flex-end;
    }

    .task-attachment-actions button {
      min-height: 28px;
      padding: 5px 8px;
      font-size: 12px;
    }

    .task-form-footer {
      min-height: 78px;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 14px;
      padding: 14px 28px;
      border-top: 1px solid var(--line);
    }

    .task-form-footer button {
      min-height: 48px;
      padding: 11px 24px;
      font-size: 15px;
    }

    .task-save-status {
      min-width: 0;
      display: inline-flex;
      align-items: center;
      margin-right: auto;
      color: var(--muted);
      font-size: 12px;
      font-weight: 720;
      line-height: 1.35;
    }

    .task-save-status[hidden] {
      display: none;
    }

    .task-save-btn {
      width: 220px;
      max-width: 100%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      padding-inline: 16px;
      font-size: 14px;
      white-space: nowrap;
    }

    .task-save-btn.is-loading:disabled {
      opacity: 1;
      cursor: progress;
    }

    .task-save-btn__spinner {
      flex: 0 0 auto;
      font-size: 19px;
      animation: task-save-spinner .8s linear infinite;
    }

    @keyframes task-save-spinner {
      to { transform: rotate(360deg); }
    }

    @media (prefers-reduced-motion: reduce) {
      .task-save-btn__spinner { animation-duration: 1.6s; }
    }

    select {
      width: 100%;
      min-height: 38px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fbfcfe;
      color: var(--text);
      padding: 9px 11px;
      font: inherit;
    }

    button,
    .link-button,
    input,
    textarea,
    select,
    .panel,
    .analytics-card,
    .analytics-block,
    .analytics-bar,
    .site-mode-switch,
    .mode-btn,
    .table-scroll,
    .kanban-board::-webkit-scrollbar-track,
    .kanban-board::-webkit-scrollbar-thumb,
    .kanban-column,
    .kanban-column-count,
    .kanban-card,
    .work-count,
    .task-attachments,
    .stage-progress-bar,
    .stage-progress-fill,
    .badge,
    .action-logs-scroll,
    .modal {
      border-radius: var(--radius);
    }

    @media (prefers-reduced-motion: reduce) {
      .field-person-chip,
      .field-person-chip__copy {
        transition: none;
      }

      .field-person-drag-ghost__body,
      .field-person-drag-ghost__shadow {
        display: none;
      }
    }

    @media (max-width: 1600px) {
      .field-staff-panel {
        grid-template-columns: max-content minmax(0, 1fr) 154px;
      }

      .field-staff-list {
        min-height: 58px;
        gap: 4px;
      }

      .field-person-chip {
        width: 48px;
        min-width: 48px;
        max-width: 48px;
        min-height: 48px;
        grid-template-columns: 44px minmax(0, 1fr);
      }

      .field-person-chip.has-availability-time {
        min-height: 58px;
      }

      .field-person-avatar {
        width: 44px;
        height: 44px;
      }

      .field-person-chip__presence {
        left: 37px;
        width: 9px;
        height: 9px;
      }

      .field-staff-panel:not(.is-field-hover-suppressed) .field-person-chip:hover:not(.is-drag-cancelled),
      .field-person-chip:focus-visible:not(.is-drag-cancelled),
      .field-person-chip.is-selected:not(.is-drag-cancelled) {
        width: max-content;
        max-width: 350px;
        min-height: 48px;
        grid-template-columns: 44px auto;
      }
    }

    @media (max-width: 1400px) {
      .field-staff-panel {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 10px;
      }

      .field-staff-panel.is-overview {
        grid-template-columns: minmax(0, 1fr);
      }

      .field-staff-panel:not(.is-overview) {
        grid-template-columns: max-content minmax(0, 1fr) 154px;
      }

      .field-staff-city-load {
        min-width: 154px;
        padding-left: 12px;
      }

      .field-staff-overview {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
      }

      .field-staff-overview__metric {
        gap: 5px;
        padding-inline: 10px;
        font-size: 10.5px;
      }

      .field-staff-overview__metric strong {
        font-size: 16px;
      }

      .field-staff-list {
        min-height: 56px;
        gap: 2px;
      }

      .field-person-chip {
        width: 46px;
        min-width: 46px;
        max-width: 46px;
        min-height: 46px;
        grid-template-columns: 42px minmax(0, 1fr);
      }

      .field-person-chip.has-availability-time {
        min-height: 56px;
      }

      .field-person-avatar {
        width: 42px;
        height: 42px;
      }

      .field-person-chip__presence {
        left: 35px;
      }

      .field-staff-panel:not(.is-field-hover-suppressed) .field-person-chip:hover:not(.is-drag-cancelled),
      .field-person-chip:focus-visible:not(.is-drag-cancelled),
      .field-person-chip.is-selected:not(.is-drag-cancelled) {
        width: max-content;
        max-width: min(330px, calc(100vw - 64px));
        min-height: 46px;
        grid-template-columns: 42px auto;
      }

    }

    @media (max-width: 980px) {
      :root {
        --mobile-sidebar-width: min(320px, calc(100vw - 52px));
      }
      .app {
        height: auto;
        min-height: var(--route-interface-dynamic-viewport-height);
        overflow: visible;
        padding: 66px var(--route-workspace-edge-inset) var(--route-workspace-edge-inset);
      }
      body.has-sidebar-view .app { padding-left: var(--route-workspace-edge-inset); }
      body.has-sidebar-view .sidebar-view .layout { grid-template-columns: 1fr; }
      body.has-sidebar-view .sidebar-view .filters {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 10501;
        width: var(--mobile-sidebar-width);
        height: var(--route-interface-dynamic-viewport-height);
        max-height: var(--route-interface-dynamic-viewport-height);
        padding-top: 58px;
        overflow-x: hidden;
        overflow-y: auto;
        border-radius: var(--radius);
        transform: translateX(calc(-100% - 12px));
        transition: transform 180ms ease;
        overscroll-behavior: contain;
      }
      body.mobile-sidebar-open {
        overflow: hidden;
      }
      body.mobile-sidebar-open .sidebar-view:not([hidden]) .filters {
        transform: translateX(0);
      }
      body.has-sidebar-view .mobile-sidebar-toggle {
        position: fixed;
        top: 12px;
        left: 14px;
        z-index: 60;
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 8px 12px;
        border: 1px solid rgba(106, 132, 126, .32);
        background: #fff;
        color: var(--text);
        box-shadow: 0 8px 24px rgba(20, 35, 50, .14);
      }
      body.has-sidebar-view .mobile-sidebar-toggle:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
      }
      body.mobile-sidebar-open .mobile-sidebar-toggle {
        left: calc(var(--mobile-sidebar-width) - 50px);
        z-index: 10502;
        padding-inline: 9px;
        border-color: rgba(var(--sidebar-highlight-rgb), .34);
        background: rgba(var(--sidebar-account-hover-rgb), .9);
        color: #fff;
        box-shadow: none;
      }
      body.mobile-sidebar-open .mobile-sidebar-toggle > span:last-child {
        display: none;
      }
      body.has-sidebar-view .mobile-sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 10500;
        width: 100vw;
        height: var(--route-interface-dynamic-viewport-height);
        border: 0;
        border-radius: var(--radius);
        background: rgba(3, 15, 12, .42);
        backdrop-filter: blur(1px);
        -webkit-backdrop-filter: blur(1px);
      }
      body.mobile-sidebar-open .mobile-sidebar-backdrop:not([hidden]) {
        display: block;
      }
      .sidebar-city-section {
        flex: 0 0 auto;
        grid-template-rows: auto auto;
        min-height: auto;
        overflow: visible;
      }
      .sidebar-city-section .city-list {
        min-height: auto;
        overflow: visible;
      }
      #sitesView { display: block; }
      #tasksView { display: block; }
      #analyticsView { display: block; }
      #teamView { display: block; }
      #actionLogsView { display: block; }
      .layout { grid-template-columns: 1fr; align-items: start; }
      .filters { position: static; }
      .content { display: block; }
      .content-stack { display: grid; gap: 10px; }
	      .source-ready-filter-toolbar {
	        width: 100%;
	        flex-wrap: wrap;
	      }
	      .launch-summary-group {
	        width: 100%;
	        margin-left: 0;
	        justify-content: flex-start;
	      }
	      .sites-panel-title .panel-controls {
	        flex-wrap: wrap;
	        justify-content: flex-start;
	      }
	      .field-staff-panel {
	        width: 100%;
	        min-width: 0;
	        grid-template-columns: max-content minmax(0, 1fr);
	      }
	      .field-staff-panel:not(.is-overview) {
	        grid-template-columns: max-content minmax(0, 1fr);
	      }
	      .field-staff-city-load {
	        grid-column: 1 / -1;
	        min-width: 0;
	        padding: 8px 0 0;
	        border-top: 1px solid rgba(197, 209, 224, .8);
	        border-left: 0;
	      }
	      .weekly-launch-popover {
	        right: auto;
	        left: 0;
	        width: min(430px, calc(100vw - 28px));
	      }
	      .table-panel { display: block; }
      .analytics-sections { grid-template-columns: 1fr; }
      .table-scroll,
      .kanban-board { max-height: 620px; }
      .kanban-column { min-height: 460px; }
      .task-form-layout { grid-template-columns: minmax(280px, .38fr) minmax(0, .62fr); }
      .task-form-context,
      .task-form-context.has-stage-field { grid-template-columns: minmax(0, 1fr); }
      .task-field-region,
      .task-field-type,
      .task-form-context.has-stage-field > :is(.task-field-region, .task-field-type, .task-field-stage) { grid-column: 1; }
      .task-form-context.has-stage-field > .task-field-object,
      .task-field-object { grid-column: 1; }
      .task-controls-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .task-files-field { grid-column: 1 / -1; }
      .stage-timeline { width: min(100%, max(720px, calc(100vw - 48px))); }
      .team-content { display: grid; gap: 10px; }
      .team-completion-strip { width: 100%; }
      .team-completion-metrics { gap: 18px; }
      .team-search { width: 100%; }
      #detailModal { padding: 0; }
      .detail-modal {
        width: 100vw;
        height: var(--route-interface-viewport-height);
      }
      .detail-workspace-head {
        align-items: flex-start;
      }
      .detail-workspace-head-meta {
        display: none;
      }
      .detail-body.is-workspace {
        overflow: auto;
      }
      .site-workspace {
        display: block;
        height: auto;
        overflow: visible;
      }
      .workflow-pilot-workspace {
        display: block;
        height: auto;
        overflow: visible;
      }
      .workflow-pilot-passport summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .workflow-pilot-passport-title {
        grid-column: 1 / -1;
      }
      .workflow-pilot-passport-body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-left: 16px;
      }
      .workflow-pilot-route,
      .workflow-pilot-work,
      .workflow-pilot-context {
        overflow: visible;
        border-right: 0;
        border-bottom: 1px solid var(--line);
      }
      .site-workspace-pane {
        overflow: visible;
      }
      .site-workspace-passport,
      .site-workspace-route {
        border-right: 0;
        border-bottom: 1px solid var(--line);
      }
      .workspace-route-task {
        grid-template-columns: minmax(0, 1fr) auto;
      }
      .workspace-route-task-result {
        grid-column: 1 / -1;
      }
      .workspace-activity {
        grid-template-columns: 1fr;
      }
      .workflow-pilot-assignment-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 980px) and (prefers-reduced-motion: reduce) {
      body.has-sidebar-view .sidebar-view .filters {
        transition: none;
      }
    }

    @media (max-width: 760px) {
      #taskModal { padding: 10px; }
      #taskModal .task-editor-modal { max-height: calc(var(--route-interface-viewport-height) - 20px); }
      .task-editor-modal .modal-head { padding: 18px 20px; }
      .task-editor-modal .modal-head h2 { font-size: 21px; }
      .task-form-main { padding: 0; }
      .task-form-layout { grid-template-columns: 1fr; }
      .task-form-pane { padding: 20px; }
      .task-form-content-pane {
        border-top: 1px solid var(--line);
        border-left: 0;
      }
      .task-form-section-title { margin-bottom: 16px; }
      .task-form-context,
      .task-form-context.has-stage-field { grid-template-columns: 1fr; gap: 18px; }
      .task-field-region,
      .task-field-type,
      .task-field-stage,
      .task-field-object { grid-column: 1; }
      .task-controls-grid { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
      .task-files-field { grid-column: 1; }
      .task-form-footer { padding: 12px 20px; }
      .sites-panel-heading,
      .sites-panel-title .panel-controls,
      .tasks-panel-heading,
      .tasks-panel-title .panel-controls {
        width: 100%;
      }
      .sites-panel-title .panel-controls,
      .tasks-panel-title .panel-controls {
        justify-content: space-between;
      }
      .field-staff-overview {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 8px;
      }
      .team-context-copy,
      .team-context-metrics {
        flex-basis: 100%;
      }
      .team-context-metrics {
        justify-content: space-between;
      }
    }

    @media (max-width: 560px) {
      #taskModal { padding: 0; }
      #taskModal .task-editor-modal {
        width: 100vw;
        height: var(--route-interface-dynamic-viewport-height);
        max-height: var(--route-interface-dynamic-viewport-height);
        border: 0;
      }
      .task-form-footer {
        position: sticky;
        /* Above field icons (1), below the linked-site picker (5). */
        z-index: 2;
        bottom: 0;
        background: var(--panel);
      }
      .task-save-status { display: none; }
      .task-form-footer button { flex: 1; padding-inline: 12px; }
      .source-ready-filter-toolbar {
        align-items: flex-start;
        gap: 6px;
      }
      .launch-summary-group {
        overflow-x: auto;
      }
      .field-staff-panel {
        grid-template-columns: 1fr;
        gap: 8px;
      }

      .field-staff-panel:not(.is-overview) {
        grid-template-columns: 1fr;
      }

      .field-staff-panel.is-overview {
        grid-template-columns: 1fr;
      }

      .field-staff-overview {
        grid-template-columns: 1fr;
        gap: 10px;
      }

      .field-staff-overview__metrics {
        min-width: 0;
        justify-content: space-between;
      }

      .field-staff-overview__metric {
        gap: 3px;
        padding-inline: 6px;
        font-size: 9.5px;
      }

      .field-staff-overview__metric strong {
        font-size: 14px;
      }

      .field-staff-utilization__track {
        height: 10px;
      }

      .field-staff-panel__controls {
        min-width: 0;
      }
      .field-staff-panel:not(.is-field-hover-suppressed) .field-person-chip:hover:not(.is-drag-cancelled),
      .field-person-chip:focus-visible:not(.is-drag-cancelled),
      .field-person-chip.is-selected:not(.is-drag-cancelled) {
        width: max-content;
        max-width: min(260px, calc(100vw - 64px));
      }
      .page-status { text-align: left; }
      .modal-file-row,
      .task-attachment-row {
        grid-template-columns: 86px minmax(0, 1fr);
      }
      .modal-file-preview {
        width: 86px;
        height: 64px;
      }
      .modal-file-actions,
      .task-attachment-actions {
        grid-column: 2;
        justify-content: flex-start;
      }
      .workflow-pilot-passport summary,
      .workflow-pilot-passport-body {
        grid-template-columns: 1fr;
      }
      .workflow-pilot-tabs {
        gap: 12px;
        overflow-x: auto;
      }
      .team-completion-strip {
        gap: 10px;
        padding-inline: 10px;
      }
      .team-completion-title {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
      }
      .team-completion-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
      }
      .team-completion-metric {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 6px;
      }
      .team-completion-ring {
        width: 22px;
        height: 22px;
      }
      .team-completion-percent {
        min-width: 0;
        font-size: 12px;
      }
      .team-completion-label {
        grid-column: 1 / -1;
        font-size: 10px;
      }
    }
/* Duplicate-evidence warning remains part of the unified dossier acceptance surface. */
.work-review-evidence-warning {
  padding: 13px 14px;
  border: 1px solid #d89a3d;
  box-shadow: inset 3px 0 0 #c4811b;
  background: #fff8eb;
  color: #70470b;
}

.work-review-evidence-warning__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #5f3900;
}

.work-review-evidence-warning p {
  margin: 7px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.work-review-evidence-warning ul {
  display: grid;
  gap: 7px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.work-review-evidence-warning li {
  display: grid;
  grid-template-columns: minmax(140px, .45fr) minmax(0, 1fr);
  gap: 10px;
  padding-top: 7px;
  border-top: 1px solid rgba(196, 129, 27, .25);
  font-size: 12px;
}

.work-review-evidence-warning li span {
  color: #815619;
}

@media (max-width: 720px) {
  .work-review-evidence-warning li {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

/* Final approval — compact two-column review, aligned with the Route modal shell. */
.work-final-approval-backdrop {
  z-index: 20;
  padding: 22px;
  background: rgba(18, 30, 45, .5);
  backdrop-filter: blur(3px);
}

.modal.work-final-approval-modal {
  --route-modal-head-height: 64px;
  --route-modal-head-padding: 28px;
  --route-modal-head-action-padding: 24px;
  --route-modal-head-title-size: 22px;
  --route-modal-head-wedge: 38px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(1040px, 100%);
  max-height: min(780px, calc(var(--route-interface-viewport-height) - 44px));
  overflow: hidden;
  border: 1px solid var(--route-modal-border, #d5dde7);
  background: #fff;
  box-shadow: var(--route-modal-shadow, 0 18px 48px rgba(24, 40, 64, .18));
}

.work-final-approval-modal > .work-final-approval-head {
  min-height: var(--route-modal-head-height);
  padding: 0;
}

.work-final-approval-heading {
  display: flex !important;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 14px;
  padding: 8px var(--route-modal-head-padding) !important;
}

.work-final-approval-heading__icon.material-symbols-outlined {
  flex: 0 0 auto;
  color: #f4fffd;
  font-size: 28px;
}

.work-final-approval-heading > div {
  min-width: 0;
}

.work-final-approval-head h2 {
  margin: 0;
  color: var(--route-modal-header-text, #f4fffd);
  font-size: var(--route-modal-head-title-size);
  letter-spacing: -.01em;
}

.work-final-approval-head .work-report-completion-meta {
  margin-top: 3px;
  color: var(--route-modal-header-muted, rgba(236, 255, 251, .72));
  font-size: 11px;
  font-weight: 700;
}

.work-final-approval-head > .work-final-approval-close {
  position: relative;
  inset: auto;
  z-index: 0;
  min-width: 122px;
  min-height: var(--route-modal-head-height);
  margin: 0;
  border: 0;
  border-radius: inherit;
  color: var(--route-modal-header-action-text, #0b655d);
  background: transparent;
  box-shadow: none;
}

.work-final-approval-head > .work-final-approval-close:is(:hover, :focus-visible) {
  border: 0;
  color: var(--accent-strong);
  background: transparent;
  box-shadow: none;
}

.work-final-approval-head > .work-final-approval-close .material-symbols-outlined {
  font-size: 20px;
}

.work-final-approval-content {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  min-height: 0;
  overflow: auto;
  background: #fff;
}

.work-final-approval-summary,
.work-final-approval-verification {
  min-width: 0;
  padding: 30px 34px;
}

.work-final-approval-summary {
  display: grid;
  align-content: start;
  gap: 22px;
  border-right: 1px solid #dce3ea;
  background: #f6f8fa;
}

.work-final-approval-summary > h3,
.work-final-approval-verification > h3 {
  margin: 0;
  color: #172033;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.25;
}

.work-final-approval-ready {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 18px;
  border: 1px solid #cfe0dc;
  border-radius: var(--radius);
  background: #fff;
}

.work-final-approval-ready > .material-symbols-outlined {
  color: #168474;
  font-size: 42px;
}

.work-final-approval-ready p {
  display: grid;
  gap: 3px;
  margin: 0;
}

.work-final-approval-ready strong {
  color: #0d5e55;
  font-size: 23px;
  line-height: 1;
}

.work-final-approval-ready small {
  color: #687386;
  font-size: 11px;
  font-weight: 750;
}

.work-final-approval-modal.has-scale-signals .work-final-approval-ready {
  border-color: #e5c78f;
  background: #fffaf1;
}

.work-final-approval-modal.has-scale-signals .work-final-approval-ready > .material-symbols-outlined,
.work-final-approval-modal.has-scale-signals .work-final-approval-ready strong {
  color: #a66b14;
}

.work-final-approval-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #dce3ea;
  border-radius: var(--radius);
  background: #fff;
}

.work-final-approval-facts > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 14px 10px;
  border-left: 1px solid #e3e8ee;
  text-align: center;
}

.work-final-approval-facts > span:first-child {
  border-left: 0;
}

.work-final-approval-facts strong {
  color: #172033;
  font-size: 18px;
}

.work-final-approval-facts small {
  overflow: hidden;
  color: #687386;
  font-size: 10px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-final-approval-result {
  display: grid;
  gap: 9px;
}

.work-final-approval-section-label {
  color: #687386;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.work-final-approval-result__lines {
  display: grid;
  gap: 8px;
}

.work-final-approval-result__line {
  display: flex;
  min-width: 0;
  justify-content: space-between;
  gap: 18px;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px solid #dce3ea;
}

.work-final-approval-result__line span {
  min-width: 0;
  overflow: hidden;
  color: #263247;
  font-size: 13px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-final-approval-result__line strong {
  flex: 0 0 auto;
  color: #0d655b;
  font-size: 14px;
  white-space: nowrap;
}

.work-final-approval-finance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #d4e1df;
  border-radius: var(--radius);
  background: #fff;
}

.work-final-approval-finance[hidden] {
  display: none;
}

.work-final-approval-finance > span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 13px 10px;
  border-left: 1px solid #e0e8e6;
}

.work-final-approval-finance > span:first-child {
  border-left: 0;
}

.work-final-approval-finance small {
  overflow: hidden;
  color: #687386;
  font-size: 9px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-final-approval-finance strong {
  overflow: hidden;
  color: #263247;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-final-approval-finance .is-total {
  background: #eaf4f1;
}

.work-final-approval-finance .is-total strong {
  color: #0d655b;
}

.work-final-approval-verification {
  display: grid;
  align-content: start;
  gap: 20px;
  background: #fff;
}

.work-final-approval-checks {
  display: grid;
  gap: 0;
  border: 1px solid #dce3ea;
  border-radius: var(--radius);
  background: #fff;
}

.work-final-approval-check {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 15px 16px;
  border-top: 1px solid #e4e9ef;
}

.work-final-approval-check:first-child {
  border-top: 0;
}

.work-final-approval-check[hidden] {
  display: none;
}

.work-final-approval-check > .material-symbols-outlined {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: var(--radius-circle);
  color: #fff;
  background: #168474;
  font-size: 16px;
  font-weight: 800;
}

.work-final-approval-check p {
  display: grid;
  gap: 3px;
  min-width: 0;
  margin: 0;
}

.work-final-approval-check strong {
  color: #263247;
  font-size: 13px;
}

.work-final-approval-check small {
  color: #687386;
  font-size: 11px;
  line-height: 1.35;
}

.work-final-approval-check.is-warning {
  background: #fffaf1;
}

.work-final-approval-check.is-warning > .material-symbols-outlined {
  color: #fff;
  background: #c18424;
}

.work-final-approval-body {
  min-height: 0;
  padding: 0;
  overflow: visible;
}

.work-final-approval-lock-note {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 16px;
  border: 1px solid #dce3ea;
  border-radius: var(--radius);
  background: #f7f9fb;
}

.work-final-approval-lock-note > .material-symbols-outlined {
  color: #607083;
  font-size: 21px;
}

.work-final-approval-lock-note p {
  display: grid;
  gap: 4px;
  margin: 0;
}

.work-final-approval-lock-note strong {
  color: #263247;
  font-size: 12px;
}

.work-final-approval-lock-note span {
  color: #687386;
  font-size: 11px;
  line-height: 1.45;
}

.work-final-approval-scale {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid #e4c78f;
  border-radius: var(--radius);
  background: #fffaf1;
}

.work-final-approval-scale__attention {
  display: none;
}

.work-final-approval-scale__heading {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
  margin: 0;
}

.work-final-approval-scale__heading strong {
  color: #70470a;
  font-size: 15px;
}

.work-final-approval-scale__heading p {
  margin: 3px 0 0;
  color: #7d653d;
  font-size: 11px;
}

.work-final-approval-scale__heading > .material-symbols-outlined {
  color: #a66b14;
  font-size: 24px;
}

.work-final-approval-scale__list {
  display: grid;
  gap: 7px;
  border: 0;
}

.work-final-approval-scale__item {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid #ead9b8;
  border-radius: var(--radius);
  background: #fff;
}

.work-final-approval-scale__value {
  display: flex;
  min-width: 0;
  justify-content: space-between;
  gap: 14px;
  align-items: baseline;
}

.work-final-approval-scale__value > span {
  min-width: 0;
  overflow: hidden;
  color: #263247;
  font-size: 11px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-final-approval-scale__value > strong {
  flex: 0 0 auto;
  color: #9b6310;
  font-size: 16px;
}

.work-final-approval-scale__item > small {
  color: #7d653d;
  font-size: 10px;
  line-height: 1.4;
}

.work-final-approval-ruler,
.work-final-approval-scale__equation {
  display: none;
}

.work-final-approval-scale__confirm {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 0;
  color: #593b0d;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.work-final-approval-scale__confirm input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.work-final-approval-scale__checkbox {
  display: grid;
  flex-basis: 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #b39969;
  border-radius: var(--radius);
  background: #fff;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.work-final-approval-scale__checkbox > .material-symbols-outlined {
  color: transparent;
  font-size: 17px;
}

.work-final-approval-scale__confirm input:checked + .work-final-approval-scale__checkbox {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(var(--route-brand-green-rgb), .1);
}

.work-final-approval-scale__confirm input:checked + .work-final-approval-scale__checkbox > .material-symbols-outlined {
  color: #fff;
}

.work-final-approval-scale__confirm input:focus-visible + .work-final-approval-scale__checkbox {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.work-final-approval-footer {
  display: grid;
  grid-template-columns: minmax(180px, auto) minmax(340px, 470px);
  justify-content: end;
  gap: 14px;
  align-items: stretch;
  padding: 16px 28px;
  border-top: 1px solid #dce3ea;
  background: #fff;
}

.work-final-approval-back {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-height: 58px;
  justify-content: center;
  padding: 0 14px;
  border: 0;
  color: #526079;
  background: transparent;
  box-shadow: none;
}

.work-final-approval-back:hover {
  color: var(--accent-strong);
  background: transparent;
}

.work-final-approval-hold {
  --hold-progress: 0%;
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 58px;
  padding: 9px 15px;
  overflow: hidden;
  border: 1px solid #0c7666;
  color: #fff;
  background:
    repeating-linear-gradient(120deg, rgba(255, 255, 255, .055) 0 24px, transparent 24px 48px),
    #0b7566;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
  text-align: left;
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.work-final-approval-hold__progress {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--hold-progress);
  background: linear-gradient(90deg, var(--accent), var(--route-brand-green));
  box-shadow: 7px 0 20px rgba(var(--route-brand-green-rgb), .35);
  transition: width .05s linear;
}

.work-final-approval-hold__shield,
.work-final-approval-hold__copy,
.work-final-approval-hold__percent {
  position: relative;
  z-index: 1;
}

.work-final-approval-hold__shield {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .22);
  line-height: 0;
}

.work-final-approval-hold__shield > svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.work-final-approval-hold__copy {
  display: grid;
  gap: 3px;
}

.work-final-approval-hold__copy strong {
  font-size: 13px;
}

.work-final-approval-hold__copy small {
  color: rgba(255, 255, 255, .68);
  font-size: 10px;
}

.work-final-approval-hold__percent {
  min-width: 32px;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.work-final-approval-hold.is-holding {
  cursor: grabbing;
}

.work-final-approval-hold.is-disabled {
  border-color: #c9d3d0;
  color: #71807c;
  background: #edf1f0;
  box-shadow: none;
  cursor: not-allowed;
}

.work-final-approval-hold.is-disabled .work-final-approval-hold__shield {
  border-color: #ccd5d2;
}

.work-final-approval-hold.is-disabled .work-final-approval-hold__copy small,
.work-final-approval-hold.is-disabled .work-final-approval-hold__percent {
  color: #98a4a1;
}

.work-final-approval-hold:focus-visible,
.work-final-approval-back:focus-visible,
.work-final-approval-close:focus-visible {
  outline: 2px solid var(--route-brand-green);
  outline-offset: 3px;
}

@media (max-width: 820px) {
  .work-final-approval-backdrop {
    padding: 0;
  }

  .modal.work-final-approval-modal {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-height: var(--route-interface-viewport-height);
    border-radius: var(--radius-surface);
    overflow-wrap: anywhere;
  }

  .work-final-approval-modal > * {
    min-width: 0;
  }

  /* The shared header selector includes a form ancestor; keep this narrow override more specific. */
  .modal.work-final-approval-modal > .work-final-approval-head .work-final-approval-heading :is(h2, .work-report-completion-meta) {
    white-space: normal;
  }

  .work-final-approval-heading {
    gap: 10px;
  }

  .work-final-approval-heading__icon.material-symbols-outlined {
    font-size: 23px;
  }

  .work-final-approval-head > .work-final-approval-close {
    min-width: 96px;
  }

  .work-final-approval-content {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-final-approval-summary,
  .work-final-approval-verification {
    grid-template-columns: minmax(0, 1fr);
    padding: 22px 20px;
  }

  .work-final-approval-summary {
    gap: 16px;
    border-right: 0;
    border-bottom: 1px solid #dce3ea;
  }

  .work-final-approval-result__line span,
  .work-final-approval-scale__value > span,
  .work-final-approval-facts small,
  .work-final-approval-finance small,
  .work-final-approval-finance strong {
    white-space: normal;
  }

  .work-final-approval-finance {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-final-approval-finance > span {
    grid-template-columns: minmax(0, 1fr) auto;
    border-top: 1px solid #e0e8e6;
    border-left: 0;
  }

  .work-final-approval-finance > span:first-child {
    border-top: 0;
  }

  .work-final-approval-footer {
    grid-template-columns: minmax(0, 1fr);
    padding: 14px 20px 20px;
  }

  .work-final-approval-modal .work-final-approval-hold {
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .work-final-approval-modal .work-final-approval-hold__copy {
    min-width: 0;
    white-space: normal;
  }

  .work-final-approval-back {
    min-height: 42px;
    order: 2;
  }
}

.field-assignment-modal {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(720px, 100%);
  max-height: min(820px, calc(100vh - 44px));
  overflow: hidden;
  background: #fff;
}

.field-assignment-modal.has-source-panel {
  width: min(1300px, 100%);
}

:is(#fieldAssignmentModal, .field-assignment-modal-backdrop) .field-assignment-modal__head {
  display: flex;
  min-height: 56px;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border-bottom: 0;
  background: var(--dossier-header-premium-background, #004640);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
  color: #fff;
}

.field-assignment-modal__action-node {
  position: relative;
  min-width: 0;
  min-height: 56px;
  padding: 8px 20px;
  border: 0;
  background: transparent;
  display: grid;
  flex: 1 0 180px;
  align-content: center;
}

.field-assignment-modal__action-node h2 {
  min-width: 0;
  overflow: hidden;
  color: #f4fffd;
  font-size: 21px;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  text-shadow: 0 1px 0 rgba(0, 48, 45, .28);
  white-space: nowrap;
}

.field-assignment-modal__action-node h2 > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.field-assignment-modal__body {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  min-height: 0;
  overflow: auto;
  padding: 0;
  background: #eef2f4;
}

.field-assignment-modal__meta {
  display: flex;
  flex: 0 1 410px;
  align-items: center;
  min-width: 0;
  background: transparent;
}

.field-assignment-modal__meta-item {
  display: grid;
  flex: 1 1 auto;
  align-content: center;
  min-width: 0;
  min-height: 56px;
  padding: 6px 16px;
}

.field-assignment-modal__meta-person-value {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.field-assignment-modal__meta-person-avatars {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.field-assignment-modal__meta-person-avatars .field-person-avatar {
  width: 36px;
  height: 36px;
  border: 2px solid rgba(255, 255, 255, .86);
  font-size: 9px;
}

.field-assignment-modal__meta-person-avatars .field-person-avatar + .field-person-avatar,
.field-assignment-modal__meta-person-more {
  margin-left: -7px;
}

.field-assignment-modal__meta-person-more {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 2px solid #fff;
  border-radius: var(--radius-circle);
  background: #e9f4f2;
  color: var(--accent-strong);
  font-size: 9px;
  font-weight: 850;
}

.field-assignment-modal__meta-person-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.field-assignment-modal__meta-person-copy > strong,
.field-assignment-modal__meta-person-copy > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.field-assignment-modal__meta-person-copy > strong {
  color: #f4fffd;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
}

.field-assignment-modal__meta-person-copy > span {
  color: rgba(244, 255, 253, .72);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.25;
}

.field-assignment-modal__head-actions {
  position: relative;
  z-index: 0;
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
  background: #fff;
}

.field-assignment-modal__head-actions::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: -1px;
  left: -34px;
  width: 34px;
  background: #fff;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  content: "";
  pointer-events: none;
}

:is(#fieldAssignmentModal, .field-assignment-modal-backdrop) .field-assignment-modal__head-actions > button {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 20px;
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
  color: #0b655d;
  font-weight: 800;
}

:is(#fieldAssignmentModal, .field-assignment-modal-backdrop) .field-assignment-modal__head-actions > button:not(:disabled):hover,
:is(#fieldAssignmentModal, .field-assignment-modal-backdrop) .field-assignment-modal__head-actions > button:focus-visible {
  background: transparent;
  box-shadow: none;
  color: var(--accent-strong);
  outline: 0;
}

:is(#fieldAssignmentModal, .field-assignment-modal-backdrop) .field-assignment-modal__head-actions > button:focus-visible > span:last-child {
  text-decoration-line: underline;
  text-underline-offset: 3px;
}

.field-assignment-modal__head-actions .material-symbols-outlined {
  font-size: 22px;
}

.field-assignment-modal__heading-icon {
  flex: 0 0 auto;
  color: var(--accent);
  font-size: 19px;
  font-weight: 500;
}

.field-assignment-modal__content {
  display: grid;
  grid-template-columns: minmax(360px, .72fr) minmax(0, 1fr);
  gap: 0;
  min-height: 0;
}

.field-assignment-modal__content--single {
  grid-template-columns: 1fr;
}

.field-assignment-modal__composer {
  display: grid;
  align-content: start;
  gap: 14px;
  min-width: 0;
  padding: 28px 30px;
  border: 0;
  background: #fff;
}

.field-assignment-modal__content--single .field-assignment-modal__composer {
  padding: 28px 30px;
}

.field-assignment-person-picker-backdrop {
  position: fixed;
  z-index: 1370;
  inset: 0;
  background: rgba(11, 19, 30, .44);
}

.field-assignment-person-picker-backdrop[hidden] {
  display: none;
}

.field-assignment-person-popover {
  position: fixed;
  z-index: 1380;
  inset: 0 0 0 auto;
  width: clamp(
    calc(430px / var(--route-interface-scale, 1)),
    calc(35vw / var(--route-interface-scale, 1)),
    calc(650px / var(--route-interface-scale, 1))
  );
  max-width: var(--route-interface-viewport-width, 100vw);
  height: var(--route-interface-viewport-height, 100vh);
  height: var(--route-interface-dynamic-viewport-height, 100dvh);
  max-height: none;
  display: grid;
  grid-template-rows: auto auto auto auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 0;
  border-left: 1px solid #c8d3df;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: -18px 0 44px rgba(16, 33, 58, .18);
}

.field-assignment-person-popover[hidden] {
  display: none;
}

.field-assignment-person-popover__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 18px;
}

.field-assignment-person-popover__head strong {
  display: block;
  color: #10213a;
  font-size: 19px;
  line-height: 1.2;
}

.field-assignment-person-popover__head span {
  display: block;
  margin-top: 6px;
  color: #60708a;
  font-size: 12px;
}

.field-assignment-person-popover__head button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #41506a;
}

.field-assignment-person-popover__head button .material-symbols-outlined {
  margin: 0;
  font-size: 21px;
}

.field-assignment-person-popover__tabs {
  display: flex;
  margin: 0 24px;
  border-bottom: 1px solid #d9e1ea;
}

.field-assignment-person-popover__tabs button {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-bottom: 0;
  background: transparent;
  color: #627086;
  font-size: 12px;
  font-weight: 800;
}

.field-assignment-person-popover__tabs button.is-active {
  border-color: var(--accent);
  background: #fff;
  color: #10213a;
}

.field-assignment-person-popover__search {
  min-height: 42px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 18px 24px 12px;
  padding: 0 12px;
  border: 1px solid #cbd5df;
  background: #fff;
}

.field-assignment-person-popover__search .material-symbols-outlined {
  color: #6b788e;
  font-size: 19px;
}

.field-assignment-person-popover__search input {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #10213a;
  font: inherit;
  font-size: 12px;
}

.field-assignment-person-popover__filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 24px 12px;
}

.field-assignment-person-popover__filters .filter-toggle {
  --filter-toggle-min-height: 30px;
  --filter-toggle-padding-block: 5px;
  --filter-toggle-padding-inline: 10px;
  --filter-toggle-margin-top: 0;
  --filter-toggle-active-margin-top: 0;
  --filter-toggle-font-size: 10.5px;
  min-height: 30px;
  flex: 0 0 auto;
  padding: 5px 10px;
  font-size: 10.5px;
  font-weight: 800;
}

.field-assignment-person-popover__status {
  padding: 8px 24px;
  border-bottom: 1px solid #e2e8ef;
  background: #f3faf8;
  color: var(--accent-strong);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.35;
}

.field-assignment-person-popover__status[hidden] {
  display: none;
}

.field-assignment-person-popover__status.is-error {
  background: #fff5f3;
  color: #a23b2a;
}

.field-assignment-person-popover__list {
  grid-row: 6;
  min-height: 0;
  overflow-y: auto;
  padding: 0 24px;
  border-top: 1px solid #e2e8ef;
  scrollbar-width: thin;
}

.field-assignment-person-popover__person {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 18px 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px 4px;
  border: 0;
  border-bottom: 1px solid #edf0f4;
  border-radius: var(--radius);
  background: #fff;
  color: #10213a;
  text-align: left;
}

.field-assignment-person-popover__person:last-child {
  border-bottom: 0;
}

.field-assignment-person-popover__person:hover,
.field-assignment-person-popover__person:focus-visible {
  background: #f4faf8;
  outline: 0;
}

.field-assignment-person-popover__person.is-selected {
  background: #edf8f6;
}

.field-assignment-person-popover__person:disabled {
  cursor: wait;
  opacity: .66;
}

.field-assignment-person-popover__person .field-person-avatar {
  width: 38px;
  height: 38px;
  font-size: 8px;
}

.field-assignment-person-popover__check {
  pointer-events: none;
}

.field-assignment-person-popover__copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.field-assignment-person-popover__copy strong,
.field-assignment-person-popover__copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.field-assignment-person-popover__copy strong {
  color: #10213a;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.25;
}

.field-assignment-person-popover__copy span {
  color: #60708a;
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.25;
}

.field-assignment-person-popover__workload {
  min-width: 54px;
  display: grid;
  justify-items: end;
  gap: 2px;
  color: #425069;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

.field-assignment-person-popover__workload small {
  color: #78859a;
  font-size: 9px;
  font-weight: 650;
}

.field-assignment-person-popover__queue {
  grid-column: 3 / -1;
  display: grid;
  gap: 3px;
  color: #65738a;
  font-size: 9.5px;
}

.field-assignment-person-popover__queue span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.field-assignment-person-popover__brigade {
  width: 100%;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 4px;
  border: 0;
  border-bottom: 1px solid #edf0f4;
  background: #fff;
  color: #10213a;
  text-align: left;
}

.field-assignment-person-popover__brigade.is-selected {
  background: #edf8f6;
}

.field-assignment-person-popover__brigade-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.field-assignment-person-popover__brigade-copy span {
  color: #65738a;
  font-size: 10.5px;
}

.field-assignment-person-popover__brigade-count {
  color: var(--accent-strong);
  font-size: 11px;
  font-weight: 850;
}

.field-assignment-person-popover__empty {
  min-height: 112px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 20px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}

.field-assignment-person-popover__empty .material-symbols-outlined {
  color: #8b98a8;
  font-size: 30px;
}

.field-assignment-person-popover__footer {
  grid-row: 7;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 24px;
  border-top: 1px solid #dbe2ea;
  background: #fff;
}

.field-assignment-person-popover__footer > strong {
  color: #27364d;
  font-size: 12px;
}

.field-assignment-person-popover__footer > div {
  display: flex;
  gap: 10px;
}

.field-assignment-person-popover__footer button {
  min-height: 40px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 850;
}

.field-assignment-modal__source {
  display: grid;
  align-content: start;
  gap: 24px;
  min-width: 0;
  padding: 28px 30px;
  border: 0;
  border-right: 1px solid var(--line);
  background: #fff;
}

.field-assignment-modal__source-empty {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  background: #f8fafb;
  color: var(--muted);
}

.field-assignment-modal__source-empty > .material-symbols-outlined {
  color: var(--accent);
  font-size: 21px;
}

.field-assignment-modal__source-empty > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.field-assignment-modal__source-empty strong {
  color: var(--ink);
  font-size: 12px;
}

.field-assignment-modal__source-empty span:not(.material-symbols-outlined) {
  font-size: 11px;
  line-height: 1.45;
}

.field-assignment-modal__source-section {
  display: grid;
  gap: 8px;
}

:is(#fieldAssignmentSourceCommentSection, [data-field-id="fieldAssignmentSourceCommentSection"]) {
  gap: 10px;
  padding-left: 0;
}

:is(#fieldAssignmentSourceCommentSection, [data-field-id="fieldAssignmentSourceCommentSection"]) > strong {
  margin-bottom: 0;
}

:is(#fieldAssignmentSourceCommentSection, [data-field-id="fieldAssignmentSourceCommentSection"]):not([hidden]) +
:is(#fieldAssignmentSourceFilesSection, [data-field-id="fieldAssignmentSourceFilesSection"]):not([hidden]) {
  position: relative;
}

:is(#fieldAssignmentSourceCommentSection, [data-field-id="fieldAssignmentSourceCommentSection"]):not([hidden]) +
:is(#fieldAssignmentSourceFilesSection, [data-field-id="fieldAssignmentSourceFilesSection"]):not([hidden])::before {
  position: absolute;
  top: -13px;
  right: 0;
  left: 0;
  height: 1px;
  background: var(--line);
  content: "";
}

.field-assignment-modal__source-section > strong,
.field-assignment-modal__source-files-head > strong {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}

.field-assignment-modal__source-meta {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

.field-assignment-modal__source-comment-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--line);
  background: #f8fafb;
}

.field-assignment-modal__source-avatar {
  position: relative;
  display: inline-grid;
  width: 38px;
  height: 38px;
  overflow: hidden;
  place-items: center;
  border: 1px solid #d6dfe7;
  border-radius: var(--radius-circle);
  background: #e9f4f2;
  color: var(--accent-strong);
  font-size: 9px;
  font-weight: 850;
}

.field-assignment-modal__source-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.field-assignment-modal__source-comment-copy {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.field-assignment-modal__source-comment {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 550;
  line-height: 1.5;
  white-space: pre-wrap;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.field-assignment-modal__source-comment.is-expanded {
  display: block;
  max-height: 190px;
  overflow-y: auto;
}

.field-assignment-modal__source-link,
.field-assignment-modal__source-use {
  justify-self: start;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  text-align: left;
}

.field-assignment-modal__source-use {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 0;
}

.field-assignment-modal__source-use .material-symbols-outlined {
  font-size: 17px;
}

.field-assignment-modal__source-link:hover,
.field-assignment-modal__source-link:focus-visible,
.field-assignment-modal__source-use:hover,
.field-assignment-modal__source-use:focus-visible {
  color: var(--accent-strong);
  text-decoration: underline;
}

.field-assignment-modal__source-files-head {
  display: flex;
  align-items: center;
  gap: 7px;
}

.field-assignment-modal__source-files-head > span {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  min-height: 20px;
  padding: 0 6px;
  background: #eef2f5;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.field-assignment-modal__source-files {
  margin-left: 0;
  border: 1px solid var(--line);
  background: #fff;
}

.field-assignment-modal__source-file {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 54px;
  padding: 8px 10px;
  border-top: 1px solid var(--line);
}

.field-assignment-modal__source-file:first-child {
  border-top: 0;
}

.field-assignment-modal__source-file > .material-symbols-outlined {
  color: var(--accent);
  font-size: 19px;
}

.field-assignment-modal__source-file > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.field-assignment-modal__source-file a,
.field-assignment-modal__source-file-name {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.field-assignment-modal__source-file small {
  color: var(--muted);
  font-size: 10px;
}

.field-assignment-modal__source-file label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.field-assignment-modal__source-safety {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.field-assignment-modal__source-safety .material-symbols-outlined {
  font-size: 16px;
}

.field-assignment-modal__field {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.field-assignment-modal__field-title,
.field-assignment-modal__files-head > div > strong {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.field-assignment-modal__field > small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 550;
  line-height: 1.45;
}

.field-assignment-modal__field textarea {
  width: 100%;
  min-height: 260px;
  resize: vertical;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  color: var(--ink);
  font: inherit;
  font-weight: 500;
  line-height: 1.5;
}

.field-assignment-modal__field textarea:focus {
  border-color: var(--accent);
  outline: 3px solid rgba(var(--accent-rgb), .14);
}

.field-assignment-modal__counter {
  margin-top: -12px;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}

.field-assignment-modal__files {
  display: grid;
  gap: 8px;
}

:is(#fieldAssignmentBriefingFiles, [data-field-id="fieldAssignmentBriefingFiles"]):not(:empty) {
  display: grid;
  gap: 6px;
}

:is(#fieldAssignmentBriefingFiles, [data-field-id="fieldAssignmentBriefingFiles"]).is-scrollable {
  max-height: min(238px, 30vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 6px;
  scrollbar-color: #7a8d9f #e8eef2;
  scrollbar-gutter: stable;
}

:is(#fieldAssignmentBriefingFiles, [data-field-id="fieldAssignmentBriefingFiles"]).is-scrollable::-webkit-scrollbar {
  width: 12px;
}

:is(#fieldAssignmentBriefingFiles, [data-field-id="fieldAssignmentBriefingFiles"]).is-scrollable::-webkit-scrollbar-track {
  background: #e8eef2;
}

:is(#fieldAssignmentBriefingFiles, [data-field-id="fieldAssignmentBriefingFiles"]).is-scrollable::-webkit-scrollbar-thumb {
  border: 3px solid #e8eef2;
  background: #7a8d9f;
}

:is(#fieldAssignmentBriefingFiles, [data-field-id="fieldAssignmentBriefingFiles"]).is-scrollable:focus-visible {
  outline: 3px solid rgba(var(--accent-rgb), .2);
  outline-offset: 3px;
}

.field-assignment-modal__files-scroll-hint {
  display: flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-left: 3px solid var(--accent);
  background: #f3f8f8;
  color: #52606f;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.field-assignment-modal__files-scroll-hint[hidden] {
  display: none;
}

.field-assignment-modal__files-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
  font-size: 13px;
}

.field-assignment-modal__files-head > div {
  display: grid;
  gap: 3px;
}

.field-assignment-modal__files-head > div > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
}

.field-assignment-modal__files-head > button {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 10px;
  border-color: #b9c5d2;
  background: #fff;
  color: var(--ink);
  font-size: 11px;
}

.field-assignment-modal__files-head > button .material-symbols-outlined {
  font-size: 17px;
}

.field-assignment-modal__file {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto 30px;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 7px 8px 7px 11px;
  border: 1px solid var(--line);
  background: #fff;
}

.field-assignment-modal__file > .material-symbols-outlined {
  color: var(--accent);
  font-size: 19px;
}

.field-assignment-modal__file a,
.field-assignment-modal__file-name {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.field-assignment-modal__file > span:not(.material-symbols-outlined, .field-assignment-modal__file-name) {
  color: var(--muted);
  font-size: 11px;
}

.field-assignment-modal__file button {
  display: grid;
  place-items: center;
  width: 30px;
  min-width: 30px;
  min-height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
}

.field-assignment-modal__file button:hover,
.field-assignment-modal__file button:focus-visible {
  background: #eef2f5;
  color: var(--danger);
}

.field-assignment-modal__file button .material-symbols-outlined {
  font-size: 18px;
}

.field-assignment-modal__files-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 104px;
  padding: 13px;
  border: 1px dashed var(--line);
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}

.field-assignment-modal__files-empty > span:not(.material-symbols-outlined) {
  display: grid;
  gap: 3px;
  text-align: left;
}

.field-assignment-modal__files-empty strong {
  color: var(--ink);
  font-size: 12px;
}

.field-assignment-modal__files-empty small {
  color: var(--muted);
  font-size: 10px;
}

.field-assignment-modal__files-empty:hover,
.field-assignment-modal__files-empty:focus-visible {
  border-color: var(--accent);
  background: #f3faf8;
  color: var(--accent);
}

.field-assignment-modal__files-empty .material-symbols-outlined {
  font-size: 20px;
}

.field-assignment-modal__footer {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px 18px;
  border-top: 1px solid var(--line);
  background: #fff;
}

.field-assignment-modal__status {
  color: var(--muted);
  font-size: 12px;
}

.field-assignment-modal__status:empty {
  display: none;
}

.field-assignment-modal__footer .modal-actions {
  margin-left: auto;
}

.field-assignment-modal__status.is-error {
  color: var(--danger);
}

@media (max-width: 900px) {
  .field-assignment-modal__meta {
    flex-basis: 310px;
  }

  .field-assignment-modal__action-node {
    padding-left: 22px;
  }

  .field-assignment-modal__content {
    grid-template-columns: 1fr;
  }

  .field-assignment-modal__source {
    padding: 24px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

.field-assignment__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
}

.site-card-v25 .field-assignment-comment-btn,
.task-card .field-assignment-comment-btn {
  width: 28px;
  min-width: 28px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  color: #7a8597;
}

.site-card-v25 .field-assignment-comment-btn.has-comment,
.task-card .field-assignment-comment-btn.has-comment {
  color: var(--accent);
}

.site-card-v25 .field-assignment-comment-btn:hover,
.site-card-v25 .field-assignment-comment-btn:focus-visible,
.task-card .field-assignment-comment-btn:hover,
.task-card .field-assignment-comment-btn:focus-visible {
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.field-assignment-comment-btn .material-symbols-outlined {
  font-size: 17px;
}

@media (max-width: 640px) {
  .field-assignment-modal-backdrop {
    align-items: flex-end;
    padding: 0;
  }

  .field-assignment-modal {
    width: 100%;
    max-height: min(90vh, 760px);
    border-radius: var(--radius);
  }

  .field-assignment-modal__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .field-assignment-modal__footer .modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    margin-left: 0;
  }

  .field-assignment-modal__meta {
    display: none;
  }

  .field-assignment-modal__head,
  .field-assignment-modal__action-node,
  .field-assignment-modal__head-actions > button {
    min-height: 52px;
  }

  .field-assignment-modal__action-node {
    padding: 8px 14px;
  }

  .field-assignment-modal__action-node h2 {
    font-size: 19px;
  }

  .field-assignment-modal__head-actions::before {
    left: -26px;
    width: 26px;
  }

  .field-assignment-modal__head-actions > button {
    padding: 0 14px;
  }

  .field-assignment-modal__head-actions > button > span:last-child {
    display: none;
  }

  .field-assignment-modal__files-head {
    align-items: flex-end;
  }

  .field-assignment-person-popover {
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    border-left: 0;
    box-shadow: none;
  }

  .field-assignment-person-popover__head,
  .field-assignment-person-popover__footer {
    padding-right: 16px;
    padding-left: 16px;
  }

  .field-assignment-person-popover__tabs,
  .field-assignment-person-popover__search {
    margin-right: 16px;
    margin-left: 16px;
  }

  .field-assignment-person-popover__filters,
  .field-assignment-person-popover__list {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* D065: explanatory copy in the two approved Team forms uses the shared role. */
.team-attendance-modal :is(#teamAttendanceModalSubtitle, #teamAttendanceKindHint,
  .team-attendance-person-copy small, .team-attendance-availability,
  .team-attendance-period-summary) {
  font-size: var(--route-text-note-size);
  font-weight: var(--route-text-note-weight);
  line-height: 1.4;
}

    .work-report-objects { display: grid; gap: 8px; padding: 12px; min-width: 0; }
    .work-report-object { border: 1px solid var(--border-color, #dce4e3); border-radius: var(--radius); min-width: 0; }
    .work-report-object-toggle, .work-report-object-heading { display: flex; align-items: center; gap: 12px; }
    .work-report-object-toggle { width: 100%; padding: 10px; border: 0; background: transparent; text-align: left; }
    .work-report-object-toggle strong, .work-report-object-heading input { flex: 1; min-width: 0; overflow-wrap: anywhere; }
    .work-report-object-toggle > span { white-space: nowrap; }
    .work-report-object-heading > strong { flex: 1; }
    .work-report-object-body { display: grid; gap: 12px; padding: 0 10px 12px; }
    .work-report-object-body input, .work-report-object-body select { width: 100%; min-width: 0; padding: 8px; }
    .work-report-object.is-ready > .work-report-object-toggle { color: #28625c; }

    /* Work rows follow the accepted-act layout; roster and finance keep their own styles. */
    .work-report-work-list.is-editor-rows .work-report-group { border-bottom: 1px solid var(--line); }
    .work-report-work-list.is-editor-rows .work-report-group .work-report-group-head {
      grid-template-columns: 32px minmax(0, 1fr) auto 20px;
      gap: 12px; min-height: 36px; padding: 16px;
      border: 0; background: #fff; box-shadow: none;
    }
    .work-report-work-list.is-editor-rows .work-report-group.is-expanded .work-report-group-head {
      grid-template-columns: 32px minmax(0, 1fr) 20px; padding: 0; border: 0;
    }
    .work-report-work-list.is-editor-rows .work-report-group.has-error .work-report-group-head:hover,
    .work-report-work-list.is-editor-rows .work-report-group.has-error .work-report-group-head:focus-visible { background: #fff; }
    .work-report-work-list.is-editor-rows .work-report-group.is-expanded .work-report-group-total { display: none; }
    .work-report-work-list.is-editor-rows .work-report-group-index { width: 32px; height: 36px; border-radius: var(--radius); }
    .work-report-work-list.is-editor-rows .work-report-group-title strong { font-size: 14px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
    .work-report-work-list.is-editor-rows .work-report-group-total { grid-column: auto; grid-row: auto; padding: 0; }
    .work-report-work-list.is-editor-rows .work-report-group-chevron { grid-column: auto; grid-row: auto; }
    .work-report-work-list.is-editor-rows .work-report-group-issue { white-space: normal; line-height: 1.4; }
    .work-report-work-list.is-editor-rows .work-report-group-body { gap: 0; }
    .work-report-work-list.is-editor-rows .work-report-execution { padding: 18px 16px; border-radius: var(--radius-none); }
    .work-report-work-list.is-editor-rows .work-report-execution:last-child { border-bottom: 0; }
    .work-report-work-list.is-editor-rows .work-report-group .work-report-execution-head {
      grid-template-areas: "description photos actions";
      grid-template-columns: minmax(220px, .7fr) minmax(0, 1fr) 76px;
      gap: 18px; align-items: start;
    }
    .work-report-work-list.is-editor-rows .work-report-execution-description { grid-area: description; min-width: 0; }
    .work-report-work-list.is-editor-rows .work-report-description-fields { display: grid; gap: 9px; margin: 12px 0 0 44px; min-width: 0; }
    .work-report-work-list.is-editor-rows .work-report-description-fields > small { color: var(--muted); font-size: 11px; }
    .work-report-work-list.is-editor-rows .work-report-execution-number { grid-area: auto; width: auto; height: auto; justify-self: start; }
    .work-report-work-list.is-editor-rows .work-report-execution-quantity { grid-area: auto; grid-template-rows: none; gap: 7px; width: min(100%, 190px); }
    .work-report-work-list.is-editor-rows .work-report-quantity-control { height: 44px; min-height: 44px; overflow: hidden; border-radius: var(--radius); }
    .work-report-work-list.is-editor-rows .work-report-quantity-control input { height: 100%; min-height: 0; min-width: 0; border: 0; border-radius: var(--radius-none); }
    .work-report-work-list.is-editor-rows .work-report-line-added { grid-area: auto; align-self: start; white-space: normal; }
    .work-report-work-list.is-editor-rows .work-report-execution-actions { align-self: start; width: 76px; height: 36px; min-height: 36px; }
    .work-report-work-list.is-editor-rows .work-report-execution-actions .ui-icon-button {
      width: 36px; height: 36px; min-width: 36px; min-height: 36px; padding: 0; box-shadow: none;
    }
    .work-report-work-list.is-editor-rows .work-report-line-evidence {
      grid-area: photos; grid-template-areas: none; grid-template-columns: minmax(0, 1fr); grid-template-rows: none;
      gap: 10px; border-left: 1px solid var(--line); padding-left: 18px; align-self: stretch;
    }
    .work-report-work-list.is-editor-rows .work-report-line-photo-rule { grid-area: auto; }
    .work-report-work-list.is-editor-rows .work-report-line-photo-rule[hidden] { display: none; }
    .work-report-work-list.is-editor-rows .work-report-line-photo-grid {
      grid-area: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
      align-content: start; gap: 10px; height: auto; overflow: visible;
    }
    .work-report-work-list.is-editor-rows .work-report-line-photo,
    .work-report-work-list.is-editor-rows .work-report-line-photo-add {
      width: 100%; height: auto; min-width: 0; min-height: 0; aspect-ratio: 4 / 3; flex: none;
    }
    .work-report-work-list.is-editor-rows .work-report-line-photo-preview,
    .work-report-work-list.is-editor-rows .work-report-line-photo img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
    .work-report-work-list.is-editor-rows .work-report-line-photo > .ui-icon-button--danger {
      width: 24px; height: 24px; min-width: 24px; min-height: 24px; padding: 0; box-shadow: none;
    }
    .work-report-work-list.is-editor-rows .work-report-line-photo-add {
      display: grid; align-content: center; justify-items: center; gap: 5px;
      border-style: dashed; background: #fff; font-size: 11px; box-shadow: none; white-space: normal;
    }
    .work-report-work-list.is-editor-rows .work-report-line-dropzone { grid-area: auto; height: auto; min-height: 100px; }
    .work-report-work-list.is-editor-rows .work-report-objects { grid-area: photos; gap: 10px; padding: 0 0 0 18px; border-left: 1px solid var(--line); }
    .work-report-work-list.is-editor-rows .work-report-object-heading { gap: 8px; padding: 8px; }
    .work-report-work-list.is-editor-rows .work-report-object-heading input { width: 0; height: 36px; min-height: 36px; padding: 6px 8px; }
    .work-report-work-list.is-editor-rows .work-report-object-heading .ui-icon-button,
    .work-report-work-list.is-editor-rows .work-report-object-heading > .work-report-object-toggle:not(:only-child) {
      flex: 0 0 32px; width: 32px; height: 36px; min-height: 36px; padding: 0; justify-content: center; box-shadow: none;
    }
    .work-report-work-list.is-editor-rows .work-report-object-toggle:only-child { min-height: 36px; padding: 0; gap: 8px; box-shadow: none; }
    .work-report-work-list.is-editor-rows .work-report-object-progress { color: #a82d2d; font-size: 11px; white-space: nowrap; }
    .work-report-work-list.is-editor-rows .work-report-object.is-ready .work-report-object-progress,
    .work-report-work-list.is-editor-rows .work-report-object.is-ready .work-report-object-toggle > .material-symbols-outlined { color: var(--teal-dark, #087d74); }
    .work-report-work-list.is-editor-rows .work-report-object-body { padding: 0 10px 12px; gap: 8px; }
    .work-report-work-list.is-editor-rows .work-report-object-body .work-report-line-evidence { grid-area: auto; border: 0; padding: 0; }
    .work-report-work-list.is-editor-rows .work-report-object-body select { max-width: 100%; font-size: 11px; }
    .work-report-work-list.is-editor-rows .work-report-object-missing { color: #a82d2d; font-size: 11px; }
    .work-report-work-list.is-editor-rows .work-report-inline-action {
      display: inline-flex; align-items: center; justify-content: center; gap: 6px; justify-self: start;
      width: fit-content; max-width: 100%; min-height: 36px; padding: 7px 10px;
      border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--teal-dark, #087d74);
      font-size: 12px; white-space: normal; box-shadow: none;
    }
    @container work-report-group (max-width: 780px) {
      .work-report-work-list.is-editor-rows .work-report-group .work-report-execution-head {
        grid-template-areas: "description actions" "photos photos"; grid-template-columns: minmax(0, 1fr) 76px;
      }
      .work-report-work-list.is-editor-rows .work-report-line-evidence,
      .work-report-work-list.is-editor-rows .work-report-objects { border-left: 0; border-top: 1px solid var(--line); padding: 14px 0 0; }
    }
    @container work-report-group (max-width: 420px) {
      .work-report-work-list.is-editor-rows .work-report-execution { padding: 14px 12px; }
      .work-report-work-list.is-editor-rows .work-report-description-fields { margin-left: 0; }
      .work-report-work-list.is-editor-rows .work-report-line-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .work-report-work-list.is-editor-rows .work-report-object-heading { flex-wrap: wrap; }
      .work-report-work-list.is-editor-rows .work-report-object-heading input { flex-basis: calc(100% - 96px); }
      .work-report-work-list.is-editor-rows .work-report-object-heading > .work-report-object-progress { order: 1; flex-basis: 100%; }
      .work-report-work-list.is-editor-rows .work-report-object-toggle:only-child { flex-wrap: wrap; }
    }
    .dossier-acceptance-object { padding: 8px 0; border-bottom: 1px solid #dce4e3; }
    .dossier-acceptance-object summary { cursor: pointer; padding-bottom: 6px; }
