/* Meetings */
.section-label__count { font-family: var(--sans); font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink-faint); }
.meeting-list { list-style: none; padding: 0; margin: 0; }
.meeting { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 0 24px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.meeting-list .meeting:first-child { padding-top: 0; }
.meeting--next { padding: 0; border-bottom: 0; }
.meeting__day { display: flex; flex-direction: column; line-height: 1.1; }
.meeting__date { font-family: var(--serif); font-size: 34px; }
.meeting__body { min-width: 0; gap: 8px; }
.meeting__title { font-size: 17px; font-weight: 500; line-height: 1.35; }
.meeting__title--next { font-family: var(--serif); font-weight: 400; font-size: 30px; line-height: 1.15; }
.meeting__summary { max-width: 62ch; }
.meeting__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.meeting__tags .sample-tag, .meeting__tags .hidden-tag { margin-left: 0; }
.meeting__milestone { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-soft); text-decoration: none; }
.meeting__milestone:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.meeting__marker { width: 7px; height: 7px; border-radius: 2px; background: var(--ink); flex: none; }
.meeting__links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 6px; }
.meeting__recording, .meeting__link { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; text-decoration: none; }
.meeting__play { font-family: var(--mono); font-weight: 700; width: 22px; height: 22px; border-radius: 999px; background: var(--red); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 8px; padding-left: 2px; box-sizing: border-box; }
.meeting__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 10px; }
.meeting__cadence { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.more--months .more__toggle { margin-left: calc(25% + 10px + 96px); margin-top: 28px; }

@media (max-width: 760px) {
  .more--months .more__toggle { margin-left: 0; }
}

@media (max-width: 560px) {
  .meeting { grid-template-columns: 40px minmax(0, 1fr); gap: 0 16px; padding: 20px 0; }
  .meeting__date { font-size: 26px; }
  .meeting__title { font-size: 16px; }
  .meeting__title--next { font-size: 22px; line-height: 1.25; }
  .meeting__actions .button { flex: 1 1 auto; }
}

/* Gemini notes and Meet recordings, from the team's calendars */
.meeting__more > summary { cursor: pointer; list-style: none; }
.meeting__more > summary::-webkit-details-marker { display: none; }
.meeting__more[open] { flex-basis: 100%; }
.meeting__more[open] > summary { margin-bottom: 12px; }
.meeting__video { width: 100%; max-width: 720px; aspect-ratio: 16 / 9; border-radius: 10px; background: var(--ink); }
.meeting__notes { max-width: 62ch; padding: 18px 20px; border-radius: 10px; background: var(--paper-deep); }
.meeting__notes p { margin: 0; }
.meeting__notes p + p { margin-top: 10px; }
.meeting__steps { margin: 0; padding-left: 18px; }
.meeting__steps li + li { margin-top: 6px; }
.meeting__detail > summary { cursor: pointer; font-size: 13px; }
.meeting__detail[open] > summary { margin-bottom: 10px; }

/* A meeting a teammate hid from the client. Only teammates see it. */
.meeting--hidden .meeting__day, .meeting--hidden .meeting__title, .meeting--hidden .meeting__tags .kicker { opacity: 0.55; }
.hidden-tag { display: inline-block; align-self: flex-start; margin-left: 8px; padding: 2px 6px; border: 1px dashed var(--ink-soft); border-radius: 4px; font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); vertical-align: 2px; }


/* Hiding a meeting, for teammates. It waits in the corner until hovered. */
.meeting { position: relative; }
.meeting__hide-form { position: absolute; top: 24px; right: 0; margin: 0; }
.meeting-list .meeting:first-child .meeting__hide-form, .meeting--next .meeting__hide-form { top: -4px; }
.meeting__hide { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 999px; background: none; color: var(--ink-soft); cursor: pointer; opacity: 0; transition: opacity 0.15s ease, background 0.15s ease; }
.meeting:hover .meeting__hide, .meeting__hide:focus-visible { opacity: 1; }
.meeting__hide:hover, .meeting__hide:focus-visible { background: var(--paper-deep); color: var(--ink); }
@media (hover: none) { .meeting__hide { opacity: 0.6; } }
.meeting:has(.meeting__hide-form) .meeting__body { padding-right: 40px; }
