.project-overview { display: grid; gap: 18px; }
.project-overview .project-stat-row > div { gap: 5px; padding-top: 4px; padding-bottom: 12px; }
.project-overview .project-stat-row strong { font-size: 18px; }
.work-overview-board, .work-overview-list { min-width: 0; }
.work-overview-board > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.work-overview-board h4, .work-overview-list h4 { margin: 0 0 8px; font-size: 13px; }
.work-overview-board > header h4 { margin: 0; }
.work-overview-board .project-column-items { min-height: 96px; }
.work-overview-list .project-task-group h4 { margin-top: 7px; }
.work-overview-list .project-task-table article { min-height: 46px; }
.project-overview .project-overview-columns { border-top: 1px solid var(--enhancement-line); }

.work-timeline { min-width: 0; }
.work-timeline-error { margin-bottom: 10px; padding: 9px 11px; border-left: 3px solid #b85043; background: #fff4f1; overflow-wrap: anywhere; }
.work-timeline-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; padding: 0 0 10px; }
.work-timeline-window-actions { display: flex; align-items: center; gap: 8px; min-width: 0; }
.work-timeline-window-actions .icon-button { flex: 0 0 32px; width: 32px; height: 32px; }
.work-timeline-window-actions .ui-icon { width: 15px; height: 15px; }
.work-timeline-window-actions output { color: #395e59; font-size: 11px; font-weight: 700; white-space: nowrap; }
.work-timeline-toolbar label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 700; }
.work-timeline-toolbar input { width: 138px; min-height: 32px; }
.work-timeline-scroll { --timeline-day-width: 38px; width: 100%; overflow-x: auto; border-top: 1px solid var(--enhancement-line); border-bottom: 1px solid var(--enhancement-line); scrollbar-width: thin; }
.work-timeline-header, .work-timeline-row { display: grid; grid-template-columns: 220px max-content; width: max-content; min-width: 100%; }
.work-timeline-header { position: sticky; top: 0; z-index: 3; min-height: 40px; background: #f4f7f6; }
.work-timeline-corner, .work-timeline-label { position: sticky; left: 0; z-index: 2; min-width: 0; border-right: 1px solid #becfca; background: #fff; }
.work-timeline-corner { z-index: 4; display: flex; align-items: center; padding: 0 10px; background: #f4f7f6; color: #44605d; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.work-timeline-days { display: flex; width: 3192px; min-height: 40px; }
.work-timeline-days time { display: grid; flex: 0 0 var(--timeline-day-width); place-content: center; border-right: 1px solid #e1e9e6; color: #516562; text-align: center; }
.work-timeline-days time.is-week-start { border-left: 1px solid #aebfba; }
.work-timeline-days strong { font-size: 11px; line-height: 1.1; }
.work-timeline-days span { font-size: 9px; line-height: 1.2; }
.work-timeline-row { min-height: 76px; border-top: 1px solid #e4ebe8; }
.work-timeline-label { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; align-items: center; gap: 0 4px; padding: 5px 8px; }
.work-timeline-task { grid-column: 1 / -1; display: block; width: 100%; min-width: 0; padding: 1px 0; border: 0; background: none; color: var(--ink); text-align: left; cursor: pointer; }
.work-timeline-task strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
.work-timeline-meta { grid-column: 1; min-width: 0; overflow: hidden; color: #687773; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.work-timeline-edit { grid-column: 2; padding: 3px 5px; font-size: 10px; }
.work-timeline-track { position: relative; width: 3192px; min-height: 76px; background-image: linear-gradient(to right, #e9efec 1px, transparent 1px); background-size: var(--timeline-day-width) 100%; }
.work-timeline-bar { position: absolute; top: 50%; display: flex; align-items: center; justify-content: center; height: 27px; min-width: var(--timeline-day-width); transform: translateY(-50%); border: 1px solid #2d8075; background: #b4d9cf; color: #173f3a; border-radius: 3px; user-select: none; }
.work-timeline-offset-0 { left: 0px; }
.work-timeline-offset-1 { left: 38px; }
.work-timeline-offset-2 { left: 76px; }
.work-timeline-offset-3 { left: 114px; }
.work-timeline-offset-4 { left: 152px; }
.work-timeline-offset-5 { left: 190px; }
.work-timeline-offset-6 { left: 228px; }
.work-timeline-offset-7 { left: 266px; }
.work-timeline-offset-8 { left: 304px; }
.work-timeline-offset-9 { left: 342px; }
.work-timeline-offset-10 { left: 380px; }
.work-timeline-offset-11 { left: 418px; }
.work-timeline-offset-12 { left: 456px; }
.work-timeline-offset-13 { left: 494px; }
.work-timeline-offset-14 { left: 532px; }
.work-timeline-offset-15 { left: 570px; }
.work-timeline-offset-16 { left: 608px; }
.work-timeline-offset-17 { left: 646px; }
.work-timeline-offset-18 { left: 684px; }
.work-timeline-offset-19 { left: 722px; }
.work-timeline-offset-20 { left: 760px; }
.work-timeline-offset-21 { left: 798px; }
.work-timeline-offset-22 { left: 836px; }
.work-timeline-offset-23 { left: 874px; }
.work-timeline-offset-24 { left: 912px; }
.work-timeline-offset-25 { left: 950px; }
.work-timeline-offset-26 { left: 988px; }
.work-timeline-offset-27 { left: 1026px; }
.work-timeline-offset-28 { left: 1064px; }
.work-timeline-offset-29 { left: 1102px; }
.work-timeline-offset-30 { left: 1140px; }
.work-timeline-offset-31 { left: 1178px; }
.work-timeline-offset-32 { left: 1216px; }
.work-timeline-offset-33 { left: 1254px; }
.work-timeline-offset-34 { left: 1292px; }
.work-timeline-offset-35 { left: 1330px; }
.work-timeline-offset-36 { left: 1368px; }
.work-timeline-offset-37 { left: 1406px; }
.work-timeline-offset-38 { left: 1444px; }
.work-timeline-offset-39 { left: 1482px; }
.work-timeline-offset-40 { left: 1520px; }
.work-timeline-offset-41 { left: 1558px; }
.work-timeline-offset-42 { left: 1596px; }
.work-timeline-offset-43 { left: 1634px; }
.work-timeline-offset-44 { left: 1672px; }
.work-timeline-offset-45 { left: 1710px; }
.work-timeline-offset-46 { left: 1748px; }
.work-timeline-offset-47 { left: 1786px; }
.work-timeline-offset-48 { left: 1824px; }
.work-timeline-offset-49 { left: 1862px; }
.work-timeline-offset-50 { left: 1900px; }
.work-timeline-offset-51 { left: 1938px; }
.work-timeline-offset-52 { left: 1976px; }
.work-timeline-offset-53 { left: 2014px; }
.work-timeline-offset-54 { left: 2052px; }
.work-timeline-offset-55 { left: 2090px; }
.work-timeline-offset-56 { left: 2128px; }
.work-timeline-offset-57 { left: 2166px; }
.work-timeline-offset-58 { left: 2204px; }
.work-timeline-offset-59 { left: 2242px; }
.work-timeline-offset-60 { left: 2280px; }
.work-timeline-offset-61 { left: 2318px; }
.work-timeline-offset-62 { left: 2356px; }
.work-timeline-offset-63 { left: 2394px; }
.work-timeline-offset-64 { left: 2432px; }
.work-timeline-offset-65 { left: 2470px; }
.work-timeline-offset-66 { left: 2508px; }
.work-timeline-offset-67 { left: 2546px; }
.work-timeline-offset-68 { left: 2584px; }
.work-timeline-offset-69 { left: 2622px; }
.work-timeline-offset-70 { left: 2660px; }
.work-timeline-offset-71 { left: 2698px; }
.work-timeline-offset-72 { left: 2736px; }
.work-timeline-offset-73 { left: 2774px; }
.work-timeline-offset-74 { left: 2812px; }
.work-timeline-offset-75 { left: 2850px; }
.work-timeline-offset-76 { left: 2888px; }
.work-timeline-offset-77 { left: 2926px; }
.work-timeline-offset-78 { left: 2964px; }
.work-timeline-offset-79 { left: 3002px; }
.work-timeline-offset-80 { left: 3040px; }
.work-timeline-offset-81 { left: 3078px; }
.work-timeline-offset-82 { left: 3116px; }
.work-timeline-offset-83 { left: 3154px; }
.work-timeline-length-1 { width: 38px; }
.work-timeline-length-2 { width: 76px; }
.work-timeline-length-3 { width: 114px; }
.work-timeline-length-4 { width: 152px; }
.work-timeline-length-5 { width: 190px; }
.work-timeline-length-6 { width: 228px; }
.work-timeline-length-7 { width: 266px; }
.work-timeline-length-8 { width: 304px; }
.work-timeline-length-9 { width: 342px; }
.work-timeline-length-10 { width: 380px; }
.work-timeline-length-11 { width: 418px; }
.work-timeline-length-12 { width: 456px; }
.work-timeline-length-13 { width: 494px; }
.work-timeline-length-14 { width: 532px; }
.work-timeline-length-15 { width: 570px; }
.work-timeline-length-16 { width: 608px; }
.work-timeline-length-17 { width: 646px; }
.work-timeline-length-18 { width: 684px; }
.work-timeline-length-19 { width: 722px; }
.work-timeline-length-20 { width: 760px; }
.work-timeline-length-21 { width: 798px; }
.work-timeline-length-22 { width: 836px; }
.work-timeline-length-23 { width: 874px; }
.work-timeline-length-24 { width: 912px; }
.work-timeline-length-25 { width: 950px; }
.work-timeline-length-26 { width: 988px; }
.work-timeline-length-27 { width: 1026px; }
.work-timeline-length-28 { width: 1064px; }
.work-timeline-length-29 { width: 1102px; }
.work-timeline-length-30 { width: 1140px; }
.work-timeline-length-31 { width: 1178px; }
.work-timeline-length-32 { width: 1216px; }
.work-timeline-length-33 { width: 1254px; }
.work-timeline-length-34 { width: 1292px; }
.work-timeline-length-35 { width: 1330px; }
.work-timeline-length-36 { width: 1368px; }
.work-timeline-length-37 { width: 1406px; }
.work-timeline-length-38 { width: 1444px; }
.work-timeline-length-39 { width: 1482px; }
.work-timeline-length-40 { width: 1520px; }
.work-timeline-length-41 { width: 1558px; }
.work-timeline-length-42 { width: 1596px; }
.work-timeline-length-43 { width: 1634px; }
.work-timeline-length-44 { width: 1672px; }
.work-timeline-length-45 { width: 1710px; }
.work-timeline-length-46 { width: 1748px; }
.work-timeline-length-47 { width: 1786px; }
.work-timeline-length-48 { width: 1824px; }
.work-timeline-length-49 { width: 1862px; }
.work-timeline-length-50 { width: 1900px; }
.work-timeline-length-51 { width: 1938px; }
.work-timeline-length-52 { width: 1976px; }
.work-timeline-length-53 { width: 2014px; }
.work-timeline-length-54 { width: 2052px; }
.work-timeline-length-55 { width: 2090px; }
.work-timeline-length-56 { width: 2128px; }
.work-timeline-length-57 { width: 2166px; }
.work-timeline-length-58 { width: 2204px; }
.work-timeline-length-59 { width: 2242px; }
.work-timeline-length-60 { width: 2280px; }
.work-timeline-length-61 { width: 2318px; }
.work-timeline-length-62 { width: 2356px; }
.work-timeline-length-63 { width: 2394px; }
.work-timeline-length-64 { width: 2432px; }
.work-timeline-length-65 { width: 2470px; }
.work-timeline-length-66 { width: 2508px; }
.work-timeline-length-67 { width: 2546px; }
.work-timeline-length-68 { width: 2584px; }
.work-timeline-length-69 { width: 2622px; }
.work-timeline-length-70 { width: 2660px; }
.work-timeline-length-71 { width: 2698px; }
.work-timeline-length-72 { width: 2736px; }
.work-timeline-length-73 { width: 2774px; }
.work-timeline-length-74 { width: 2812px; }
.work-timeline-length-75 { width: 2850px; }
.work-timeline-length-76 { width: 2888px; }
.work-timeline-length-77 { width: 2926px; }
.work-timeline-length-78 { width: 2964px; }
.work-timeline-length-79 { width: 3002px; }
.work-timeline-length-80 { width: 3040px; }
.work-timeline-length-81 { width: 3078px; }
.work-timeline-length-82 { width: 3116px; }
.work-timeline-length-83 { width: 3154px; }
.work-timeline-length-84 { width: 3192px; }
.work-timeline-bar.is-writable { cursor: grab; touch-action: none; }
.work-timeline-bar.is-writable:active { cursor: grabbing; }
.work-timeline-bar.is-pending { opacity: .55; }
.work-timeline-bar.is-invalid { border-color: #b85043; background: #f4c2b9; }
.work-timeline-bar.continues-before { border-left-style: dashed; }
.work-timeline-bar.continues-after { border-right-style: dashed; }
.work-timeline-bar-text { padding: 0 10px; font-size: 10px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.work-timeline-handle { position: absolute; top: -1px; bottom: -1px; width: 9px; background: #287f72; cursor: ew-resize; }
.work-timeline-handle.is-start { left: -1px; border-radius: 3px 0 0 3px; }
.work-timeline-handle.is-end { right: -1px; border-radius: 0 3px 3px 0; }
.work-timeline-bar.is-marker { border: 0; background: none; }
.work-timeline-bar.is-marker::before { content: ''; width: 11px; height: 11px; border: 2px solid #236e64; border-radius: 50%; background: #fff; }
.work-timeline-bar.is-milestone::before { border-color: #b36c34; border-radius: 2px; background: #e8b67d; transform: rotate(45deg); }
.work-timeline-empty { position: sticky; left: 220px; width: max-content; margin: 0; padding: 22px; color: var(--muted); font-size: 12px; }
.work-timeline-outside, .work-timeline-unscheduled { padding: 15px 0 4px; }
.work-timeline-outside h4, .work-timeline-unscheduled h4 { margin: 0 0 7px; font-size: 12px; }
.work-timeline-outside h4 span, .work-timeline-unscheduled h4 span { color: var(--muted); font-weight: 500; }
.work-timeline-outside-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; max-width: 620px; padding: 8px 0; border-top: 1px solid var(--enhancement-line); }
.work-timeline-outside-row strong { min-width: 0; font-size: 12px; overflow-wrap: anywhere; }
.work-timeline-outside-row small { grid-column: 1; color: var(--muted); overflow-wrap: anywhere; }
.work-timeline-outside-row button { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.work-timeline-unscheduled-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px 9px; max-width: 620px; padding: 8px 0; border-top: 1px solid var(--enhancement-line); }
.work-timeline-unscheduled-row .work-timeline-task { grid-column: 1 / -1; padding: 0; }
.work-timeline-unscheduled-row > strong { grid-column: 1 / -1; font-size: 12px; }
.work-timeline-unscheduled-row .work-timeline-meta { grid-column: 1; }
.work-timeline-unscheduled-row .work-timeline-edit { grid-column: 2; }

@media (max-width: 600px) {
  .project-overview { gap: 14px; }
  .project-overview .project-stat-row > div { padding-bottom: 9px; }
  .work-overview-list .project-task-head { display: none; }
  .work-overview-list .project-task-table article { grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: 3px 8px; padding: 6px 0; }
  .work-overview-list .project-task-table article > div { grid-column: 1 / -1; min-width: 0; }
  .work-overview-list .project-task-table article > span { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
  .work-overview-list .project-task-table article > span::before { content: attr(data-label); color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
  .work-timeline-header, .work-timeline-row { grid-template-columns: 172px max-content; }
  .work-timeline-empty { left: 172px; }
  .work-timeline-label { padding-inline: 6px; }
}

@media (max-width: 350px) {
  .work-timeline-header, .work-timeline-row { grid-template-columns: 154px max-content; }
  .work-timeline-empty { left: 154px; }
  .work-timeline-task strong { font-size: 11px; }
  .work-timeline-window-actions { gap: 4px; }
  .work-timeline-window-actions output { font-size: 10px; }
}
