/* Task four uses the approved task/chat/handoff frame and original slide images. */
.t4-meeting-brief { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 26px; border-radius: 18px; background: #f0edff; }
.t4-meeting-label { display: block; color: #6a5799; font-size: 12px; margin-bottom: 9px; }
.t4-meeting-brief h2 { font-size: 23px; font-weight: 600; margin: 0; max-width: none; }
.t4-meeting-brief p { font-size: 13px; color: #68627d; margin: 10px 0 0; }
.t4-duration { flex-shrink: 0; text-align: center; padding: 8px 18px; }
.t4-duration strong { display: block; color: #5940d6; font-size: 42px; letter-spacing: -2px; font-weight: 600; line-height: 1.2; }
.t4-duration span { display: block; font-size: 11px; margin-top: 7px; color: #786a99; }
.t4-source-material { margin: 24px 0; }
.t4-source-material > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.t4-source-material small { font-size: 11px; color: #727991; }
.t4-source-material h2 { font-size: 20px; margin: 5px 0 0; font-weight: 600; }
.t4-source-material > header > span { font-size: 12px; padding: 8px 13px; background: #e9f7e2; color: #438039; border-radius: 20px; }
.t4-source-slides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.t4-source-material > p { font-size: 12px; color: #626880; margin: 16px 0 0; }
.t4-missing { padding: 24px; border-radius: 16px; background: #f4f1ff; }
.t4-missing h2 { font-size: 22px; }
.t4-missing p { color: #65637d; font-size: 14px; line-height: 1.6; }
.t4-screen .t4-answer { display: block; }
.t4-screen .t4-answer > .t1-ai-icon { margin-bottom: 8px; }
.t4-script { margin: 14px 0; border: 1px solid #e1def0; border-radius: 16px; background: #fff; overflow: hidden; color: #29243c; }
.t4-script > header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 18px 20px; background: #f1edff; }
.t4-script > header > span { font-size: 17px; font-weight: 600; }
.t4-script > header > strong { margin-left: auto; font-size: 22px; font-weight: 600; color: #6244dc; }
.t4-script > header small { font-size: 11px; color: #7b6a9e; font-weight: 400; }
.t4-screen .t4-script > header p { flex-basis: 100%; font-size: 11px; color: #7b728d; margin: 0; }
.t4-script ol { padding: 0; margin: 0; list-style: none; }
.t4-script li { padding: 20px; border-top: 1px solid #ebe8f2; }
.t4-script-top { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.t4-time { display: inline-block; flex-shrink: 0; border-radius: 20px; background: #eeebff; padding: 6px 10px; font-size: 11px; font-weight: 600; color: #6249ac; font-variant-numeric: tabular-nums; }
.t4-script h3 { font-size: 14px; font-weight: 600; margin: 0; }
.t4-script-body { display: grid; grid-template-columns: 165px minmax(0, 1fr); gap: 18px; align-items: start; }
.t4-script .t4-thumbnail > span { font-size: 9px; padding: 7px 8px; }
.t4-screen .t4-script-body p { margin: 0; font-size: 13px; line-height: 1.75; }
.t4-script aside { display: flex; flex-direction: column; gap: 5px; margin-top: 13px; padding: 11px 13px; background: #f5f6fa; border-radius: 8px; font-size: 11px; line-height: 1.55; color: #575569; }
.t4-script aside b { color: #46395e; font-size: 10px; font-weight: 600; }
.t4-screen .t4-speech-note { font-size: 11px; color: #757c93; }
.t4-screen.t1-marina .t4-script-body { grid-template-columns: 130px minmax(0, 1fr); }
@media (max-width: 760px) {
  .t4-meeting-brief { padding: 16px; gap: 12px; align-items: flex-start; }
  .t4-meeting-brief h2 { font-size: 17px; }
  .t4-meeting-brief p { font-size: 11px; line-height: 1.6; }
  .t4-meeting-label { font-size: 10px; }
  .t4-duration { padding: 0; max-width: 75px; }
  .t4-duration strong { font-size: 28px; letter-spacing: -1px; }
  .t4-duration span { font-size: 9px; }
  .t4-source-slides { grid-template-columns: 1fr; gap: 12px; max-width: 370px; margin: auto; }
  .t4-script > header, .t4-script li { padding: 14px 12px; }
  .t4-script > header > span { font-size: 15px; }
  .t4-script > header > strong { font-size: 18px; }
  .t4-script-top { display: block; }
  .t4-script h3 { margin-top: 9px; font-size: 14px; }
  .t4-script-body, .t4-screen.t1-marina .t4-script-body { display: block; }
  .t4-script .t4-thumbnail { width: 160px; margin: 0 0 12px; }
  .t4-screen .t4-script-body p { font-size: 12px; line-height: 1.7; }

}
@media (prefers-reduced-motion: reduce) { .t4-call-progress i { transition: none; } }

/* The meeting is a separate workspace, with presentation, participants and chat. */
.t4-meeting { width: min(1200px, 100%); margin: 0 auto 24px; padding: 18px; }
.t4-meeting-heading { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px 18px; padding: 0 0 16px; }
.t4-meeting-heading > span { font-size: 12px; color: #625579; }
.t4-meeting-heading h1 { grid-column: 1 / -1; width: 100%; max-width: none; font-size: clamp(24px, 2.4vw, 30px); margin: 0; font-weight: 600; }
.t4-call { border-radius: 22px; background: #191820; color: #fff; overflow: hidden; box-shadow: 0 18px 60px #32244a26; }
.t4-call > header { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 24px; }
.t4-call > header > div { position: relative; padding-left: 17px; }
.t4-call header strong { display: block; font-size: 16px; font-weight: 500; }
.t4-call header small { display: block; font-size: 12px; color: #b9b4ca; margin-top: 5px; }
.t4-call-dot { position: absolute; top: 6px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #ccff88; }
.t4-clock { font-size: 14px; color: #a9a3bb; white-space: nowrap; font-variant-numeric: tabular-nums; }
.t4-clock b { color: #fff; font-weight: 500; }
.t4-call-progress { height: 3px; background: #353140; }
.t4-call-progress i { display: block; height: 100%; background: #ccff88; transition: width .1s linear; }
.t4-meeting-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; }
.t4-stage { min-width: 0; padding: 16px; }
.t4-call figure { margin: 0; }
.t4-call figure img { display: block; width: 100%; height: auto; max-height: clamp(180px, calc(100dvh - 570px), 340px); object-fit: contain; aspect-ratio: 16 / 9; border-radius: 10px; background: #101014; }
.t4-call figcaption { color: #c1bbd1; font-size: 12px; margin: 10px 0 14px; }
.t4-teleprompter { padding: 12px 16px; background: #292534; border-left: 3px solid #b39aff; border-radius: 3px 12px 12px 3px; min-height: 110px; }
.t4-teleprompter > span { font-size: 12px; color: #ccbcf5; }
.t4-teleprompter p { font-size: 15px; line-height: 1.5; margin: 7px 0; color: #fff; }
.t4-teleprompter small { font-size: 11px; color: #a9a1ba; }
.t4-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.t4-people > div { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px; background: #302b3d; border: 1px solid #484052; border-radius: 12px; }
.t4-people .colleague-avatar { width: 36px; height: 36px; flex-shrink: 0; }
.t4-people strong { display: block; font-size: 13px; font-weight: 500; }
.t4-people small { display: block; font-size: 10px; color: #b8b1c7; margin-top: 5px; }
.t4-participant-mic { position: absolute; top: 5px; right: 8px; font-size: 10px; color: #b5a6d3; }
.t4-meeting-chat { background: #24212d; border-left: 1px solid #3b3547; padding: 20px; display: flex; flex-direction: column; min-width: 0; }
.t4-meeting-chat > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.t4-meeting-chat h2 { font-size: 17px; font-weight: 500; margin: 0; color: #fff; }
.t4-meeting-chat > header > span { font-size: 11px; color: #afa7bf; }
.t4-chat-reaction { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 22px; }
.t4-chat-reaction .colleague-avatar { width: 32px; height: 32px; flex-shrink: 0; }
.t4-chat-reaction > div { min-width: 0; flex: 1; }
.t4-chat-reaction header { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 0 0 8px; }
.t4-chat-reaction header strong { font-size: 12px; color: #c7bfd6; }
.t4-chat-reaction time { font-size: 10px; color: #938aab; }
.t4-chat-reaction p { background: #f0ecf8; color: #30263f; font-size: 15px; line-height: 1.5; padding: 12px 14px; border-radius: 0 12px 12px 12px; margin: 0; }
.t4-chat-note { margin-top: auto; padding-top: 14px; color: #afa7bf; font-size: 11px; }
.t4-payoff { display: flex; align-items: center; gap: 16px; margin: 0 20px 4px; padding: 18px 20px; background: #ddf4c8; color: #294223; border-radius: 14px; }
.t4-payoff > span { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; background: #447139; color: #fff; font-size: 22px; }
.t4-payoff h2 { font-size: 21px; font-weight: 600; margin: 0; }
.t4-payoff p { font-size: 15px; margin: 6px 0; }
.t4-payoff small { font-size: 12px; color: #536b4c; line-height: 1.5; }
.t4-meeting-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; background: #191820; }
.t4-meeting-controls > span { font-size: 12px; color: #bcb4cc; }
.t4-meeting-controls .button { min-height: 44px; font-size: 14px; }
@media (max-width: 1000px) and (min-width: 761px) {
  .t4-meeting-layout { grid-template-columns: minmax(0, 1fr) 270px; }
  .t4-people > div { flex-direction: column; text-align: center; }
}
@media (max-width: 760px) {
  .t4-meeting { margin-bottom: 12px; padding: 10px; }
  .t4-meeting-heading { padding: 8px 4px 16px; gap: 12px; }
  .t4-meeting-heading > span { font-size: 10px; }
  .t4-meeting-heading h1 { font-size: 23px; }
  .t4-call { border-radius: 16px; overflow: clip; }
  .t4-call > header { padding: 15px 12px; gap: 8px; }
  .t4-call header strong { font-size: 13px; }
  .t4-call header small { font-size: 10px; }
  .t4-clock { font-size: 11px; }
  .t4-meeting-layout { grid-template-columns: 1fr; }
  .t4-stage { padding: 12px; }
  .t4-call figure img { max-height: none; }
  .t4-call figcaption { font-size: 10px; }
  .t4-teleprompter { padding: 12px; min-height: 148px; }
  .t4-teleprompter > span { font-size: 11px; }
  .t4-teleprompter p { font-size: 14px; }
  .t4-teleprompter small { font-size: 10px; }
  .t4-people { gap: 6px; margin-top: 12px; }
  .t4-people > div { flex-direction: column; text-align: center; gap: 7px; padding: 12px 5px; }
  .t4-people .colleague-avatar { width: 38px; height: 38px; }
  .t4-people small { display: none; }
  .t4-people strong { font-size: 11px; }
  .t4-meeting-chat { border-left: 0; border-top: 1px solid #3b3547; padding: 16px 12px 6px; }
  .t4-meeting-chat > header { margin-bottom: 18px; }
  .t4-chat-reaction { margin-bottom: 14px; }
  .t4-chat-reaction p { font-size: 14px; padding: 10px 12px; }
  .t4-chat-note { display: none; }
  .t4-payoff { margin: 12px; padding: 14px 12px; gap: 10px; align-items: flex-start; }
  .t4-payoff h2 { font-size: 18px; }
  .t4-payoff p { font-size: 13px; }
  .t4-payoff small { font-size: 11px; }
  .t4-meeting-controls { position: sticky; bottom: 0; z-index: 2; flex-direction: column; gap: 10px; padding: 14px 12px; }
  .t4-meeting-controls .button { width: 100%; font-size: 13px; }
}

@media (min-width: 761px) { .t4-meeting.is-complete figure img { max-height: clamp(180px, calc(100dvh - 670px), 290px); } }

.t4-meeting-heading .t1-back { padding: 0; min-height: 0; justify-self: start; }
.t4-meeting-heading { gap: 8px 18px; }
.t4-meeting-heading h1 { line-height: 1.2; }
.t4-payoff h2 { max-width: none; line-height: 1.2; }
.t4-payoff p { max-width: none; line-height: 1.4; }
@media (min-width: 761px) {
  .t4-call > header { padding: 12px 20px; }
  .t4-meeting-controls { padding: 12px 20px; }
  .t4-meeting-chat > header { margin-bottom: 18px; }
  .t4-chat-reaction { margin-bottom: 18px; }
}

.t4-meeting-final-actions { display: flex; align-items: center; gap: 16px; }
.t4-replay { padding: 8px 0; background: transparent; color: #d2c5ee; border: 0; font-size: 12px; text-decoration: underline; }
@media (max-width: 760px) { .t4-meeting-final-actions { width: 100%; flex-direction: column; gap: 8px; } }

/* Prioritize meeting comments on phones and keep the finish action with its status. */
.t4-call { overflow: clip; }
.t4-meeting-layout { grid-template-areas: "stage chat" "people chat"; }
.t4-stage { grid-area: stage; padding-bottom: 0; }
.t4-meeting-chat { grid-area: chat; }
.t4-meeting-layout > .t4-people { grid-area: people; margin: 16px; }
.t4-meeting-controls { position: sticky; bottom: 0; z-index: 2; }
.t4-meeting-controls--complete { background: #ddf4c8; border-top: 1px solid #c7e2af; gap: 20px; }
.t4-meeting-controls--complete .t4-payoff { margin: 0; padding: 0; border-radius: 0; min-width: 0; gap: 12px; }
.t4-meeting-controls--complete .t4-payoff h2 { font-size: 18px; }
.t4-meeting-controls--complete .t4-payoff p { font-size: 12px; margin: 5px 0 0; }
.t4-meeting-controls--complete .t4-payoff > span { width: 30px; height: 30px; font-size: 18px; }
.t4-meeting-final-actions { flex-shrink: 0; flex-direction: column; gap: 4px; }
.t4-meeting-final-actions .button { white-space: nowrap; }
.t4-meeting-final-actions .t4-replay { color: #49693d; padding: 4px; font-size: 11px; }
@media (max-width: 760px) {
  .t4-meeting-layout { grid-template-areas: none; }
  .t4-stage { display: contents; }
  .t4-stage figure { order: 0; margin: 12px; }
  .t4-meeting-chat { grid-area: auto; order: 1; padding-top: 12px; }
  .t4-stage .t4-teleprompter { order: 2; min-height: 0; margin: 12px; }
  .t4-meeting-layout > .t4-people { grid-area: auto; order: 3; margin: 0 12px 12px; }
  .t4-meeting-controls--complete { gap: 10px; align-items: stretch; }
  .t4-meeting-controls--complete .t4-payoff { align-items: center; }
  .t4-meeting-controls--complete .t4-payoff h2 { font-size: 16px; }
  .t4-meeting-controls--complete .t4-payoff p { display: none; }
  .t4-meeting-final-actions .button { white-space: normal; }
}
