/* Task record (/v2/pods/:podId/tasks/:taskId/record), lifted from the d215 frame: docs/design/artboards/d215/index.html, section s-task-record, frames "task-record" (default and unavailable) at 1440 and 390. The page has its own v2-task-record__* names, so a change to the run trace can't move it. Values are the frame's; only the tokens are translated to --v2-*. Token map (as V2PodBoard.css): --sf surface, --p bg-subtle, --t surface-tint, --d border-soft, --b border, --mu text-muted, --se text-secondary, --ink text-primary, --ink2 message-text, --c accent, --c-text accent-text, --c-soft accent-soft, --key-a/-b/-edge key-a/-b/-edge, --sh-key key-inset, --sh-pop shadow-pop. Scoped to .v2-feature--task-record, the route's wrapper. */ .v2-feature--task-record > .v2-feature__body { padding: 0 0 28px; } .v2-feature--task-record .v2-feature__legacy { max-width: none; } .v2-feature--task-record .v2-task-record { min-width: 0; color: var(--v2-text-primary); } /* keys (.b, .b-g, .b-s, .b-sm, .ib) */ .v2-feature--task-record .v2-task-record__key { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 34px; padding: 0 13px; border-radius: 10px; font: 600 13px/1 var(--v2-font); cursor: pointer; white-space: nowrap; text-decoration: none; transition: transform var(--v2-dur-fast) var(--v2-ease); } .v2-feature--task-record .v2-task-record__key svg { width: 16px; height: 16px; flex: none; } .v2-feature--task-record .v2-task-record__key:active { transform: translateY(1px); } .v2-feature--task-record .v2-task-record__key:focus-visible, .v2-feature--task-record .v2-task-record__row:focus-visible, .v2-feature--task-record .v2-task-record__menu button:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--v2-accent-soft), 0 0 0 1px var(--v2-accent); } .v2-feature--task-record .v2-task-record__key--soft { color: var(--v2-text-primary); background: linear-gradient(180deg, var(--v2-key-a), var(--v2-key-b)); border: 1px solid var(--v2-key-edge); box-shadow: var(--v2-key-inset); } .v2-feature--task-record .v2-task-record__key--soft:hover { background: var(--v2-key-b); } .v2-feature--task-record .v2-task-record__key--ghost { color: var(--v2-text-secondary); background: transparent; border: 1px solid transparent; } .v2-feature--task-record .v2-task-record__key--ghost:hover { background: var(--v2-surface-tint); color: var(--v2-text-primary); } .v2-feature--task-record .v2-task-record__key--sm { height: 28px; padding: 0 10px; border-radius: 8px; font-size: 12.5px; } .v2-feature--task-record .v2-task-record__key--icon { width: 32px; height: 32px; padding: 0; border-radius: 8px; } .v2-feature--task-record .v2-task-record__key--icon svg { width: 17px; height: 17px; } /* the pane header (.ph): back key, h1, (i), meta, Download */ .v2-feature--task-record .v2-task-record__head { position: relative; display: flex; align-items: center; gap: 10px; height: 64px; padding: 0 20px; border-bottom: 1px solid var(--v2-border-soft); } .v2-feature--task-record .v2-task-record__title { margin: 0; font: 800 20px/1 var(--v2-font-display); letter-spacing: -0.03em; white-space: nowrap; } .v2-feature--task-record .v2-task-record__meta { min-width: 0; font: 500 12px/1 var(--v2-font-mono); color: var(--v2-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .v2-feature--task-record .v2-task-record__sp { flex: 1; } .v2-feature--task-record .v2-task-record__download { position: relative; } .v2-feature--task-record .v2-task-record__download-chev { display: inline-flex; } .v2-feature--task-record .v2-task-record__menu { position: absolute; z-index: 6; top: calc(100% + 8px); right: 0; width: 220px; padding: 4px; border-radius: 10px; background: var(--v2-surface); box-shadow: var(--v2-shadow-pop); display: grid; gap: 2px; } .v2-feature--task-record .v2-task-record__menu button { all: unset; box-sizing: border-box; cursor: pointer; height: 34px; padding: 0 10px; border-radius: 7px; display: flex; align-items: center; gap: 9px; font: 400 13px/1 var(--v2-font); color: var(--v2-text-primary); } .v2-feature--task-record .v2-task-record__menu button:hover { background: var(--v2-surface-tint); } .v2-feature--task-record .v2-task-record__menu button svg { width: 15px; height: 15px; color: var(--v2-text-secondary); } .v2-feature--task-record .v2-task-record__ext { margin-left: auto; font: 500 11px/1 var(--v2-font-mono); color: var(--v2-text-muted); } /* the body (.pbody) */ .v2-feature--task-record .v2-task-record__body { max-width: 936px; min-width: 0; padding: 24px 28px; } .v2-feature--task-record .v2-task-record__task { margin: 0 0 20px; font: 700 22px/1.25 var(--v2-font-display); letter-spacing: -0.02em; text-wrap: balance; overflow-wrap: anywhere; } .v2-feature--task-record .v2-task-record__id { display: none; } .v2-feature--task-record .v2-task-record__alert { margin: 0 0 12px; padding: 10px 12px; border-radius: var(--v2-radius-lg); background: var(--v2-danger-soft); color: var(--v2-danger-text); font-size: 13px; } .v2-feature--task-record .v2-task-record__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; } /* the timeline: one row per entry */ .v2-feature--task-record .v2-task-record__day { margin: 0 0 4px 40px; font: 500 11.5px/1 var(--v2-font-mono); color: var(--v2-text-muted); } .v2-feature--task-record .v2-task-record__list { list-style: none; margin: 0; padding: 0; } .v2-feature--task-record .v2-task-record__list + .v2-task-record__day { margin-top: 16px; } .v2-feature--task-record .v2-task-record__e { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 12px; } .v2-feature--task-record .v2-task-record__e::before { content: ""; position: absolute; left: 13.5px; top: 0; bottom: 0; width: 1px; background: var(--v2-border-soft); } .v2-feature--task-record .v2-task-record__e:first-child::before { top: 22px; } .v2-feature--task-record .v2-task-record__e:last-child::before { bottom: auto; height: 22px; } .v2-feature--task-record .v2-task-record__e:only-child::before { display: none; } .v2-feature--task-record .v2-task-record__row { all: unset; box-sizing: border-box; grid-column: 1 / -1; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto 28px; column-gap: 12px; align-items: center; min-height: 44px; border-radius: 8px; cursor: pointer; min-width: 0; } .v2-feature--task-record .v2-task-record__mk { position: relative; z-index: 1; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--v2-surface); box-shadow: inset 0 0 0 1px var(--v2-border); color: var(--v2-text-secondary); } .v2-feature--task-record .v2-task-record__mk svg { width: 14px; height: 14px; } .v2-feature--task-record .v2-task-record__mk--done { background: var(--v2-accent-soft); box-shadow: inset 0 0 0 1px var(--v2-accent); color: var(--v2-accent-text); } .v2-feature--task-record .v2-task-record__main { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 13.5px; } .v2-feature--task-record .v2-task-record__main b { font-weight: 600; white-space: nowrap; } .v2-feature--task-record .v2-task-record__who { display: inline-flex; align-items: center; gap: 6px; color: var(--v2-message-text); white-space: nowrap; } .v2-feature--task-record .v2-task-record__who .v2-task-record__av { width: 20px; height: 20px; flex: none; } .v2-feature--task-record .v2-task-record__sys { width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; background: var(--v2-surface-tint); color: var(--v2-text-secondary); flex: none; } .v2-feature--task-record .v2-task-record__sys svg { width: 12px; height: 12px; } .v2-feature--task-record .v2-task-record__d { min-width: 0; font: 500 12px/1.2 var(--v2-font-mono); color: var(--v2-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .v2-feature--task-record .v2-task-record__t { font: 500 11.5px/1 var(--v2-font-mono); color: var(--v2-text-muted); white-space: nowrap; } .v2-feature--task-record .v2-task-record__chev { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: var(--v2-text-secondary); } .v2-feature--task-record .v2-task-record__chev svg { width: 17px; height: 17px; transition: transform 160ms var(--v2-ease); } .v2-feature--task-record .v2-task-record__row:hover .v2-task-record__chev { background: var(--v2-surface-tint); color: var(--v2-text-primary); } .v2-feature--task-record .v2-task-record__e--open .v2-task-record__chev svg { transform: rotate(180deg); } .v2-feature--task-record .v2-task-record__more { grid-column: 2 / -1; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 8px 10px; align-items: center; margin: 2px 0 10px; padding: 12px 14px; border-radius: 10px; background: var(--v2-bg-subtle); box-shadow: inset 0 0 0 1px var(--v2-border-soft); } .v2-feature--task-record .v2-task-record__more dt { font: 500 11.5px/1 var(--v2-font-mono); color: var(--v2-text-muted); overflow-wrap: anywhere; } .v2-feature--task-record .v2-task-record__more dd { margin: 0; min-width: 0; font: 500 12.5px/1.4 var(--v2-font-mono); color: var(--v2-text-primary); overflow-wrap: anywhere; } .v2-feature--task-record .v2-task-record__bone { height: 12px; width: 46%; border-radius: 4px; background: var(--v2-surface-tint); } .v2-feature--task-record .v2-task-record__list--loading .v2-task-record__row { cursor: default; grid-template-columns: 28px minmax(0, 1fr); } .v2-feature--task-record .v2-task-record__list--loading .v2-task-record__mk { background: var(--v2-surface-tint); box-shadow: none; } .v2-feature--task-record .v2-task-record__foot { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--v2-border-soft); } .v2-feature--task-record .v2-task-record__foot code { font: 500 11.5px/16px var(--v2-font-mono); color: var(--v2-text-muted); overflow-wrap: anywhere; } /* not available, and the states drawn in its block */ .v2-feature--task-record .v2-task-record__none { margin: 140px auto 0; max-width: 380px; display: grid; justify-items: center; gap: 10px; text-align: center; } .v2-feature--task-record .v2-task-record__tile { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--v2-surface-tint); color: var(--v2-text-secondary); box-shadow: inset 0 0 0 1px var(--v2-border-soft); } .v2-feature--task-record .v2-task-record__none h2 { margin: 4px 0 0; font: 700 18px/1.25 var(--v2-font-display); letter-spacing: -0.01em; } .v2-feature--task-record .v2-task-record__none p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--v2-text-secondary); } .v2-feature--task-record .v2-task-record__none .v2-task-record__key { margin-top: 4px; } /* ── 390 (.app.m, .mtop, .mbody2--rec) ─────────────────────────────────── */ @media (max-width: 760px) { .v2-feature--task-record > .v2-feature__body { padding: 0; } .v2-feature--task-record .v2-task-record__head { position: sticky; top: 0; z-index: 5; height: 52px; gap: 8px; padding: 0 10px 0 12px; background: var(--v2-surface); } .v2-feature--task-record .v2-task-record__title { flex: 1; min-width: 0; font: 700 16px/1.1 var(--v2-font-display); letter-spacing: -0.02em; overflow: hidden; text-overflow: ellipsis; } .v2-feature--task-record .v2-task-record__meta, .v2-feature--task-record .v2-task-record__sp, .v2-feature--task-record .v2-task-record__download-word, .v2-feature--task-record .v2-task-record__download-chev { display: none; } /* 44px targets: the back key, the (i) and the Download icon key */ .v2-feature--task-record .v2-task-record__head .v2-task-record__key--icon, .v2-feature--task-record .v2-task-record__download-key { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; box-shadow: none; color: var(--v2-text-secondary); } .v2-feature--task-record .v2-task-record__head .v2-hint { width: 44px; height: 44px; justify-content: center; } .v2-feature--task-record .v2-task-record__head .v2-hint--open { display: inline-flex; } .v2-feature--task-record .v2-task-record__head .v2-hint--open .v2-hint__content { position: absolute; top: 52px; left: auto; right: -40px; width: min(320px, calc(100vw - 32px)); padding: 10px 12px; border: 1px solid var(--v2-border); background: var(--v2-surface); box-shadow: var(--v2-shadow-pop); } .v2-feature--task-record .v2-task-record__menu { top: calc(100% + 4px); } .v2-feature--task-record .v2-task-record__menu button { height: 44px; } .v2-feature--task-record .v2-task-record__body { padding: 16px 16px 12px; } .v2-feature--task-record .v2-task-record__task { font-size: 19px; margin-bottom: 4px; } .v2-feature--task-record .v2-task-record__id { display: block; margin: 0 0 16px; font: 500 11.5px/1 var(--v2-font-mono); color: var(--v2-text-muted); } .v2-feature--task-record .v2-task-record__row { grid-template-columns: 28px minmax(0, 1fr) auto; min-height: 56px; align-items: start; padding-top: 8px; } .v2-feature--task-record .v2-task-record__e::before { top: 0; } .v2-feature--task-record .v2-task-record__e:first-child::before { top: 22px; } .v2-feature--task-record .v2-task-record__e:last-child::before { height: 22px; } .v2-feature--task-record .v2-task-record__chev { display: none; } .v2-feature--task-record .v2-task-record__main { flex-wrap: wrap; row-gap: 3px; } .v2-feature--task-record .v2-task-record__d { flex-basis: 100%; } .v2-feature--task-record .v2-task-record__t { padding-top: 4px; } .v2-feature--task-record .v2-task-record__more { grid-column: 1 / -1; margin-left: 40px; grid-template-columns: 84px minmax(0, 1fr); } .v2-feature--task-record .v2-task-record__none { margin-top: 120px; padding: 0 16px; } }