.implementation-task__quick-status { display: grid; justify-items: start; gap: 4px; min-width: 0; max-width: 100%; }
.implementation-task .implementation-task__status-trigger {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; max-width: 100%;
  padding: 9px 10px; border: 1px solid var(--portal-line); border-radius: 10px;
  font: 700 13px/1.4 "Hanken Grotesk", sans-serif; text-align: left; cursor: pointer;
  box-shadow: none; transition: border-color .15s ease, background .15s ease;
}
.implementation-task .implementation-task__status-trigger::before,
.implementation-task .implementation-task__status-trigger::after { content: none; }
.implementation-task .implementation-task__status-trigger:hover,
.implementation-task .implementation-task__status-trigger[aria-expanded='true'] { border-color: var(--portal-cyan); }
.implementation-task .implementation-task__status-trigger:focus { outline: none; }
.implementation-task .implementation-task__status-trigger:focus-visible { outline: 2px solid var(--portal-cyan); outline-offset: 2px; }
.implementation-task .implementation-task__status-trigger.implementation-task__status--todo { background: #f1f4f7; color: var(--portal-ink); }
.implementation-task .implementation-task__status-trigger.implementation-task__status--in_progress { background: #fff3dd; color: var(--portal-warning); }
.implementation-task .implementation-task__status-trigger.implementation-task__status--done { background: #e8f7f0; color: var(--portal-success); }
.implementation-task .implementation-task__status-trigger.implementation-task__status--skipped { background: var(--portal-paper); color: var(--portal-muted); }
.implementation-status-icon { display: inline-block; flex: 0 0 20px; width: 20px; height: 20px; background-color: currentColor; mask: var(--status-icon) center / contain no-repeat; -webkit-mask: var(--status-icon) center / contain no-repeat; }
.implementation-status-icon--circle { --status-icon: url('../images/icons/circle.svg'); }
.implementation-status-icon--circle-half { --status-icon: url('../images/icons/circle-half.svg'); }
.implementation-status-icon--check-circle { --status-icon: url('../images/icons/check-circle.svg'); }
.implementation-status-icon--dash-circle { --status-icon: url('../images/icons/dash-circle.svg'); }
.implementation-status-icon--check2 { --status-icon: url('../images/icons/check2.svg'); }
.implementation-status-icon--chevron-down { --status-icon: url('../images/icons/chevron-down.svg'); width: 12px; height: 12px; flex-basis: 12px; margin-left: auto; }
.implementation-status-icon--info-circle { --status-icon: url('../images/icons/info-circle.svg'); }
.implementation-status-menu {
  position: fixed; z-index: 1100; width: 272px; padding: 6px; overflow-y: auto;
  border: 1px solid var(--portal-line); border-radius: 14px; background: #fff; color: var(--portal-ink);
  box-shadow: 0 12px 32px rgb(11 18 32 / .14), 0 2px 6px rgb(11 18 32 / .05);
  overscroll-behavior: contain;
}
.implementation-status-menu[hidden] { display: none; }
.implementation-status-menu .implementation-status-menu__option {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px; margin: 0; padding: 12px;
  border: 0; border-radius: 9px; background: transparent; color: var(--portal-ink);
  font: 650 15px/1.4 "Hanken Grotesk", sans-serif; text-align: left; cursor: pointer; box-shadow: none;
}
.implementation-status-menu .implementation-status-menu__option:hover { background: var(--portal-paper); }
.implementation-status-menu .implementation-status-menu__option[aria-checked='true'] { background: #eaf6f8; }
.implementation-status-menu .implementation-status-menu__option:focus { outline: none; }
.implementation-status-menu .implementation-status-menu__option:focus-visible { outline: 2px solid var(--portal-cyan); outline-offset: -2px; }
.implementation-status-menu__option .implementation-status-icon--circle { color: var(--portal-cyan); }
.implementation-status-menu__option .implementation-status-icon--circle-half { color: var(--portal-warning); }
.implementation-status-menu__option .implementation-status-icon--check-circle { color: var(--portal-success); }
.implementation-status-menu__option .implementation-status-icon--dash-circle { color: var(--portal-muted); }
.implementation-status-menu__option .implementation-status-icon--check2 { margin-left: auto; color: var(--portal-cyan); visibility: hidden; }
.implementation-status-menu__option[aria-checked='true'] .implementation-status-icon--check2 { visibility: visible; }
.implementation-status-menu .implementation-status-menu__hint { display: flex; align-items: center; gap: 10px; margin: 6px -6px -6px; padding: 14px 16px; border-top: 1px solid var(--portal-line); color: var(--portal-muted); font: 400 12px/1.5 "Hanken Grotesk", sans-serif; }
.implementation-status-menu__hint .implementation-status-icon { width: 16px; height: 16px; flex-basis: 16px; }
@media (max-width: 480px) {
  .implementation-task .implementation-task__status-trigger { font-size: 14px; padding-inline: 12px; gap: 10px; }
  .implementation-status-menu { width: 288px; }
  .implementation-status-menu .implementation-status-menu__option { min-height: 50px; }
}
@media (prefers-reduced-motion: reduce) { .implementation-task .implementation-task__status-trigger { transition: none; } }
.implementation-task .implementation-task__action-feedback { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.4; color: var(--portal-muted); overflow-wrap: anywhere; }
.implementation-task__action-feedback:empty { display: none; }
.implementation-task .implementation-task__action-feedback[data-error='true'] { color: var(--portal-danger, #8f1d22); }
.implementation-task[aria-busy='true'] .implementation-task__quick-status { opacity: .7; }
.implementation-task :disabled { cursor: wait; }
.implementation-task__assignment form { grid-column: 2; grid-row: 1; }
.implementation-action-announcement { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 980px) {
  .implementation-task__quick-status { grid-column: 2; }
  .implementation-task__quick-status .implementation-task__status { grid-column: auto; }
}
@media (max-width: 760px) {
  .implementation-task__assignment form { grid-column: 1; grid-row: auto; }
}

@media (max-width: 600px) {
  .implementation-task-group__claims .implementation-task__quick-status { grid-column: 1; }
}

/* Stable top-level task and parent/child check numbers. */
.implementation-task-group > summary { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; }
.implementation-task-group > summary > .implementation-task__number { padding: 0; border: 0; border-radius: 11px; background: var(--portal-navy); color: var(--portal-cyan-bright); }
.implementation-task-group__claims { list-style: none; padding-left: 0; }
.implementation-task-group__claims .implementation-task > summary { grid-template-columns: 72px minmax(0, 1fr) auto; }
.implementation-task-group__claims .implementation-task__number { display: grid; width: auto; min-width: 56px; padding-inline: 6px; font-size: 11px; }
.implementation-task-group__claims .implementation-task__quick-status { grid-column: auto; }
@media (max-width: 600px) {
  .implementation-task-group > summary { grid-template-columns: 56px minmax(0, 1fr); align-items: center; }
  .implementation-task-group > summary > .implementation-task-group__count { grid-column: 2; justify-self: start; }
  .implementation-task-group__claims .implementation-task > summary { grid-template-columns: 64px minmax(0, 1fr); }
  .implementation-task-group__claims .implementation-task__quick-status,
  .implementation-task-group__claims .implementation-task__status { grid-column: 2; }
}
