.event-assignment-bar {
  padding: 16px 0;
  margin: 12px 0;
  border-bottom: 1px solid var(--line);
}
.event-toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin: 20px 0;
}
.event-toolbar > select {
  width: auto;
  min-width: 160px;
}
.event-filters {
  margin-left: auto;
  position: relative;
}
.event-filters > summary {
  display: flex;
  gap: 20px;
  cursor: pointer;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  list-style: none;
}
.event-filters > div {
  position: absolute;
  right: 0;
  z-index: 5;
  background: var(--panel);
  border: 1px solid var(--line);
  padding: 16px;
  width: 320px;
  border-radius: 10px;
}
.event-session-list,
.event-room-list {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.event-session-head,
.event-session-row > summary {
  display: grid;
  grid-template-columns:
    minmax(220px, 2fr) minmax(170px, 1.4fr) minmax(130px, 1fr)
    minmax(110px, 0.8fr) 20px;
  gap: 20px;
  align-items: center;
  padding: 20px;
}
.event-session-head,
.event-room-head {
  background: var(--panel);
  font: 10px/1.5 var(--mono);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--muted);
  padding-top: 12px;
  padding-bottom: 12px;
}
.event-session-row + .event-session-row,
.event-room-row + .event-room-row {
  border-top: 1px solid var(--line);
}
.event-session-row > summary,
.event-room-row > summary {
  cursor: pointer;
  list-style: none;
  font-size: 13px;
}
.event-session-row > summary::-webkit-details-marker,
.event-room-row > summary::-webkit-details-marker {
  display: none;
}
.event-row-title {
  display: flex;
  align-items: center;
  gap: 14px;
}
.event-row-title strong {
  font-weight: 500;
  font-size: 15px;
}
.event-row-title input {
  flex-shrink: 0;
}
.event-row-body {
  padding: 24px;
  background: var(--panel);
  border-top: 1px solid var(--line);
}
.event-coverage-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 20px;
}
.event-coverage-lane {
  border: 1px solid var(--line);
  padding: 16px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
}
.event-coverage-lane label {
  font-size: 13px;
}
.event-coverage-lane > span {
  color: var(--muted);
}
.event-assignment-list > div {
  display: flex;
  gap: 16px;
  align-items: center;
  margin: 12px 0;
  flex-wrap: wrap;
}
.event-warning {
  color: #ffbd61;
  font-size: 13px;
}
.coverage-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.event-task {
  border: 1px solid var(--line);
  background: var(--panel);
  padding: 18px;
  border-radius: 12px;
}

.event-task p,
.event-task label,
.event-task small {
  font-size: 13px;
}
.event-task textarea {
  min-height: 80px;
}
.event-task .section-heading {
  margin: 0 0 16px;
}
.event-task small {
  display: block;
  color: var(--muted);
  margin-top: 12px;
}
.event-room-head,
.event-room-row > summary {
  display: grid;
  grid-template-columns: 2fr 1fr 2fr 18px;
  gap: 20px;
  padding: 20px;
  align-items: center;
}
.event-map-dialog {
  width: min(900px, 94vw);
}
.event-map-dialog h2 {
  margin: 0;
}
.event-map-canvas svg {
  width: 100%;
  height: auto;
  display: block;
}
.event-map-legend {
  font-size: 13px;
}
.event-map-legend::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: var(--accent);
  margin-right: 8px;
}
.event-map-dialog .muted {
  font-size: 12px;
}
.coverage-intro {
  margin: 28px 0 20px;
}
.coverage-intro p {
  max-width: 800px;
}
@media (max-width: 750px) {
  .event-session-head,
  .event-room-head {
    display: none;
  }
  .event-session-row > summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 20px;
  }
  .event-row-title {
    grid-column: 1;
  }
  .event-session-row > summary > span:nth-child(2),
  .event-session-row > summary > span:nth-child(3),
  .event-session-row > summary > span:nth-child(4) {
    grid-column: 1;
    color: var(--muted);
    font-size: 12px;
    padding-left: 34px;
  }
  .event-session-row > summary > .toggle {
    grid-column: 2;
    grid-row: 1/5;
  }
  .event-coverage-controls {
    grid-template-columns: 1fr;
  }
  .event-row-body {
    padding: 18px;
  }
  .coverage-checklist {
    grid-template-columns: 1fr;
  }
  .event-room-row > summary {
    grid-template-columns: 1fr auto;
    gap: 8px;
  }
  .event-room-row > summary > span:not(.toggle) {
    grid-column: 1;
    color: var(--muted);
    font-size: 12px;
  }
  .event-room-row > summary > .toggle {
    grid-column: 2;
    grid-row: 1/4;
  }
  .event-toolbar > select {
    min-width: 0;
    flex: 1;
  }
  .event-filters {
    margin-left: 0;
  }
  .event-filters > div {
    width: min(320px, 85vw);
  }
  .event-assignment-bar {
    gap: 10px;
  }
  .event-assignment-bar > span {
    font-size: 12px;
  }
  .event-assignment-bar button {
    font-size: 12px;
    padding: 10px;
  }
  .event-toolbar .menu {
    max-width: 100%;
  }
}
.event-session-head button {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  text-align: left;
  min-height: 20px;
}

.event-task-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.event-task h3 {
  font: 650 22px/1.3 var(--font-heading);
  margin: 12px 0 5px;
}
.event-task p {
  margin: 8px 0 12px;
}
.event-task-room {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}
.event-task-room button {
  min-height: 36px;
  padding: 8px 12px;
}
.event-handoff {
  padding: 0;
  margin: 14px 0;
  border-top: 1px solid var(--line);
}
.event-handoff > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font: 11px/1.5 var(--mono);
  letter-spacing: 0.055em;
  padding: 12px 0;
  cursor: pointer;
  list-style: none;
}
.event-handoff > summary::-webkit-details-marker {
  display: none;
}
.event-handoff textarea {
  min-height: 80px;
  margin: 8px 0;
}
.event-task > [data-task-edit] {
  width: 100%;
}
.session-editor-notes {
  margin-top: 24px;
}
.session-editor-notes h3 {
  font-size: 16px;
}
.session-editor-notes .event-handoff {
  border-top: 0;
}
.session-editor-notes .event-handoff > summary {
  display: none;
}
body:has(nav[aria-label="Event workspace"]) .page-heading p:not(.eyebrow) {
  font: 400 13px/1.5 var(--font-body);
  color: var(--accent);
}
.event-assignment-bar {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 16px;
  background: var(--surface);
  margin: 24px 0;
}
.event-assignment-bar [data-selected-count] {
  font: 400 10px/1.5 var(--mono);
  color: var(--accent);
}
.event-assignment-bar [data-event-select-all] {
  margin-left: auto;
}
.event-toolbar > select:first-child {
  flex: 1;
  min-width: 160px;
}
.event-session-row > summary > span {
  color: var(--muted);
}
.event-session-row > summary > span:first-child {
  color: var(--ink);
}
.event-session-row > summary > span:nth-last-child(2) {
  color: var(--accent);
}
@media (max-width: 650px) {
  .event-assignment-bar {
    gap: 8px;
  }
  .event-assignment-bar [data-event-select-all] {
    margin-left: 0;
  }
  .event-assignment-bar [data-selected-count] {
    flex: 1;
  }
}

.event-task .badge.pending {
  color: #ffb0a3;
  background: #b94a3a30;
  border-color: #b94a3a40;
}

.event-room-head {
  padding-block: 10px;
}
.event-room-head button {
  justify-content: flex-start;
  padding: 0;
  min-height: 16px;
  border: 0;
  font: inherit;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: inherit;
}
.event-room-row > summary {
  padding-block: 16px;
  min-height: 54px;
  font-size: 12px;
}
.event-room-row > summary strong {
  font: 600 14px/1.45 var(--font-body);
}
.event-room-row > summary > span {
  color: var(--muted);
}

.event-filters > summary {
  font: 14px/1.5 var(--font-body);
}

.event-nav-short,
.event-mobile-sort {
  display: none;
}
.event-filters:not([open]) > div {
  display: none;
}
@media (max-width: 650px) {
  body:has(nav[aria-label="Event workspace"]) .page-heading {
    margin-bottom: 12px;
  }
  .event-nav-full {
    display: none;
  }
  .event-nav-short {
    display: inline;
  }
  .event-toolbar {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0 16px;
  }
  .event-toolbar > select {
    grid-column: span 3;
    width: 100%;
    min-width: 0;
  }
  .event-toolbar > :is(button, details) {
    grid-column: span 2;
    min-width: 0;
  }
  .event-toolbar > [data-event-publish] {
    grid-column: span 6;
  }
  .event-toolbar > .menu summary {
    font: 13px/1.5 var(--font-body);
    letter-spacing: 0;
    text-transform: none;
    padding: 12px;
  }
  .event-toolbar .event-filters {
    margin: 0;
  }
  .event-toolbar .event-filters > summary {
    padding: 12px;
    gap: 8px;
    font: 13px/1.5 var(--font-body);
    text-transform: none;
  }
  .event-toolbar > [data-event-filter="date"]:first-child {
    grid-column: span 6;
  }
  .event-mobile-sort {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin: 16px 0;
    font: 13px/1.5 var(--font-body);
    letter-spacing: 0;
  }
  .event-mobile-sort select {
    flex: 1;
    min-width: 0;
  }
  .coverage-intro h2 {
    font-size: 18px;
  }
  .event-task h3 {
    font-size: 18px;
  }
}

@media (min-width: 701px) {
  body:has(nav[aria-label="Event workspace"]) .page-heading p:not(.eyebrow) {
    font: 11px/1.5 var(--mono);
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
  .event-session-head,
  .event-session-row > summary {
    grid-template-columns:
      minmax(0, 2.2fr) minmax(150px, 1.2fr) minmax(100px, 1fr)
      130px 18px;
    gap: 16px;
    padding: 16px 20px;
  }
  .event-session-head {
    padding-block: 11px;
  }
  .event-session-row > summary {
    font: 12px/1.5 var(--font-body);
  }
  .event-session-row > summary strong {
    font-size: 14px;
  }
}
@media (max-width: 700px) {
  body:has(nav[aria-label="Event workspace"]) .page-heading .eyebrow {
    display: none;
  }
}

@media (min-width: 701px) {
  .event-toolbar > select {
    flex: 1 1 160px;
  }
  .coverage-checklist > .empty {
    border: 1px dashed var(--line);
    border-radius: 10px;
    padding: 44px 24px;
    text-align: center;
    max-width: none;
  }
}
@media (max-width: 700px) {
  .producer-coverage-help {
    display: none;
  }
}

@media (min-width: 701px) {
  .event-room-head,
  .event-room-row > summary {
    gap: 16px;
  }
  .event-room-head button {
    justify-content: center;
  }
}
