.assembly-v2 { --av-ink: #10223d; --av-blue: #2563a6; --av-green: #147d64; --av-line: #dbe3ef; --av-soft: #f0f5fc; --av-amber: #986010; color: var(--av-ink); }
.av-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.av-heading h1 { font-size: 30px; letter-spacing: -.04em; margin: 4px 0 8px; }
.av-title-line { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.av-pause-note { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 6px; background: #f2edfc; color: #7656a5; font-size: 12px; font-weight: 600; line-height: 1.6; }
.av-pause-note::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex: none; }
.av-pause-note[hidden] { display: none; }
.av-catalog-time { color: #60728b; font-size: 12px; font-weight: 400; white-space: nowrap; }
.av-version { font-size: 16px; color: var(--av-blue); vertical-align: middle; }
.av-muted, .av-footnote { color: #60728b; font-size: 13px; line-height: 1.7; margin: 0; overflow-wrap: anywhere; }
.av-notice { border-left: 3px solid var(--av-blue); background: var(--av-soft); padding: 14px 18px; font-size: 14px; line-height: 1.7; border-radius: 3px; margin: 0 0 24px; }
.av-notice[data-state="receiving"] { border-color: var(--av-green); }
.av-notice[data-state="reconnecting"], .av-notice[data-state="error"] { border-color: var(--av-amber); background: #fff8eb; }
.av-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; margin: 24px 0 30px; padding: 20px; background: #fff; border: 1px solid var(--av-line); border-radius: 16px; box-shadow: 0 3px 12px #10223d03; }
.av-filters label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 600; }
.av-filters .av-search { flex: 1; min-width: 180px; }
.av-list-heading, .av-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.av-list-heading { margin: 0 0 12px; }
.assembly-v2 .av-upcoming { margin: -10px 0 26px; border: 1px solid var(--av-line); border-radius: 14px; background: #fff; font-size: 13px; line-height: 1.6; }
.av-upcoming[hidden] { display: none; }
.av-upcoming > summary { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-radius: 14px; cursor: pointer; list-style: none; transition: background .15s; }
.av-upcoming > summary::-webkit-details-marker { display: none; }
.av-upcoming > summary::marker { content: ""; }
.av-upcoming > summary:hover, .av-upcoming[open] > summary { background: #f8faff; }
.av-upcoming[open] > summary { border-radius: 14px 14px 0 0; }
.av-upcoming-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border: 1px solid #dce7f8; border-radius: 12px; background: #edf3fc; color: var(--av-blue); }
.av-upcoming-icon svg { width: 23px; height: 23px; }
.av-upcoming-content { display: grid; gap: 5px; min-width: 0; flex: 1; }
.av-upcoming-heading { display: flex; align-items: center; gap: 9px; }
.av-upcoming-label { color: var(--av-ink); font-size: 15px; letter-spacing: -.025em; font-weight: 700; }
.av-upcoming-range { color: #718198; font-size: 11px; }
#av-next-schedule { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.av-upcoming-when { display: inline-flex; flex-wrap: wrap; gap: 7px; flex: none; color: var(--av-blue); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.av-upcoming-when > span { color: #60728b; font-weight: 500; }
.av-upcoming-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #4c627d; font-size: 13px; }
.av-upcoming-expand { display: flex; align-items: center; gap: 9px; margin-left: auto; color: #60728b; flex: none; font-size: 12px; font-weight: 500; }
.av-upcoming-toggle { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #e0e7f0; border-radius: 50%; background: #fff; color: #607b9f; }
.av-upcoming-toggle svg { width: 17px; height: 17px; transition: transform .18s; }
.av-upcoming[open] .av-upcoming-toggle { color: var(--av-blue); border-color: #cbdcf2; }
.av-upcoming[open] .av-upcoming-toggle svg { transform: rotate(180deg); }
.av-upcoming-hide, .av-upcoming[open] .av-upcoming-show { display: none; }
.av-upcoming[open] .av-upcoming-hide { display: inline; }
.av-upcoming-list { display: grid; max-height: 260px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 0 20px; border-top: 1px solid var(--av-line); }
.av-schedule-row { display: grid; grid-template-columns: 100px 88px minmax(0, 1fr) 18px; align-items: center; gap: 14px; padding: 13px 10px; border: 0; border-bottom: 1px solid #edf1f6; background: transparent; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.av-schedule-row:last-child { border-bottom: 0; }
.av-schedule-row:hover { background: #f5f8fd; }
.assembly-v2 .av-schedule-row:focus-visible { outline-offset: -3px; }
.av-schedule-row time { color: #4c627d; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.av-schedule-time { justify-self: start; padding: 2px 7px; border-radius: 5px; background: #f0f5fc; color: var(--av-blue); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.av-schedule-row strong { overflow-wrap: anywhere; font-weight: 500; }
.av-schedule-arrow { width: 16px; height: 16px; color: #91a2b8; }
.av-upcoming-note { padding: 10px 20px; border-top: 1px solid #edf1f6; font-size: 11px; }
@media (max-width: 600px) {
  .av-upcoming > summary { gap: 10px; padding: 14px; align-items: flex-start; }
  .av-upcoming-icon { flex-basis: 34px; height: 34px; border-radius: 10px; }
  .av-upcoming-icon svg { width: 21px; height: 21px; }
  .av-upcoming-label { font-size: 14px; }
  #av-next-schedule { display: grid; gap: 3px; }
  .av-upcoming-title { white-space: normal; overflow-wrap: anywhere; font-size: 12px; }
  .av-upcoming-expand { padding-top: 3px; }
  .av-upcoming-show, .av-upcoming-hide, .av-upcoming[open] .av-upcoming-hide { display: none; }
  .av-upcoming-list { padding: 0 10px; }
  .av-schedule-row { grid-template-columns: minmax(0, 1fr) auto 16px; gap: 5px 9px; padding: 12px 6px; font-size: 12px; }
  .av-schedule-row strong { grid-column: 1 / 3; grid-row: 2; }
  .av-schedule-arrow { grid-column: 3; grid-row: 1 / 3; }
  .av-upcoming-note { padding: 10px 16px; }
}
@media (prefers-reduced-motion: reduce) { .av-upcoming > summary, .av-upcoming-toggle svg { transition: none; } }
.assembly-v2 h2 { font-size: 16px; margin: 0; letter-spacing: -.025em; }
.av-events { background: white; border: 1px solid var(--av-line); border-radius: 14px; overflow: hidden; }
.av-events > .empty-state { padding: 20px; margin: 0; font-size: 13px; color: #718198; }
.av-sections { display: grid; gap: 32px; }
.av-section { --av-category: #2563a6; --av-category-soft: #edf3fc; }
.av-section[data-category="seminar"] { --av-category: #147d64; --av-category-soft: #edf7f3; }
.av-section[data-category="press"] { --av-category: #7656a5; --av-category-soft: #f3effa; }
.av-section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 16px 20px; border: 1px solid var(--av-line); border-bottom: 0; border-radius: 14px 14px 0 0; background: #fff; }
.av-section-title { display: flex; align-items: center; gap: 11px; min-width: 0; }
.av-category-icon { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 11px; background: var(--av-category-soft); color: var(--av-category); }
.av-category-icon svg { width: 22px; height: 22px; }
.av-section-heading h2 { font-size: 17px; font-weight: 700; line-height: 1.5; letter-spacing: -.035em; }
.av-section-count { display: inline-flex; align-items: center; justify-content: center; padding: 3px 8px; border: 1px solid #e3e9f1; border-radius: 20px; background: #f8fafc; color: #60728b; font-size: 11px; line-height: 1.5; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.av-section-state { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: #8190a5; font-size: 12px; line-height: 1.5; white-space: nowrap; }
.av-section-state--live { padding: 5px 9px; border-radius: 7px; background: #edf7f3; color: #147d64; font-weight: 600; }
.av-section-state--live > span { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.av-section > .av-events { border-top-left-radius: 0; border-top-right-radius: 0; }
.av-event, .av-table-heading { display: grid; grid-template-columns: 98px 104px minmax(0, 1fr) 74px 90px; gap: 18px; align-items: center; padding: 20px; }
.av-table-heading { background: #f6f8fc; padding-top: 11px; padding-bottom: 11px; color: #718198; font-size: 11px; border-bottom: 1px solid var(--av-line); }
.av-event { border-bottom: 1px solid var(--av-line); }
.av-event-time { font-size: 13px; font-weight: 600; }
.av-event-captions { font-size: 12px; color: #60728b; }
.av-recent-label { background: #f6f8fc; padding: 10px 20px; font-size: 11px; font-weight: 600; color: #718198; border-block: 1px solid var(--av-line); }
.av-shared-channels { padding: 12px 20px; border-inline: 1px solid var(--av-line); border-top: 1px solid var(--av-line); background: #f6f8fc; }
.av-shared-channel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.av-shared-channel strong { font-size: 12px; color: #43536c; }
.av-shared-channel p { margin: 4px 0 0; font-size: 12px; color: #718198; }
.av-catalog-note { color: var(--av-amber); font-size: 12px; margin: 0; padding: 10px 20px; border-inline: 1px solid var(--av-line); border-top: 1px solid #f2deb7; background: #fff8eb; }
.av-badge { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 30px; padding: 4px 9px; border: 1px solid #dfe5ed; border-radius: 9px; background: #f2f5f8; color: #65748a; font-size: 11px; font-weight: 700; line-height: 1.4; white-space: nowrap; box-shadow: inset 0 1px 0 #ffffffb3; }
.av-badge svg { width: 15px; height: 15px; flex: none; }
.av-badge[data-state="connecting"] svg, .av-badge[data-state="reconnecting"] svg { animation: av-badge-spin 1.2s linear infinite; transform-origin: center; }
@keyframes av-badge-spin { to { transform: rotate(360deg); } }
.av-badge[data-state="unknown"] { background: #fff4df; color: #94560b; border-color: #f0d29d; }
.av-badge[data-state="receiving"] { background: #eaf7f1; color: #127858; border-color: #c5e8d9; }
.av-badge[data-state="reconnecting"] { background: #fff6e7; color: #966212; border-color: #f2deb7; }
.av-badge[data-state="connecting"], .av-badge[data-state="scheduled"] { background: #edf3ff; color: #2563a6; }
.av-badge[data-state="paused"] { background: #f2edfc; color: #7656a5; border-color: #e0d5f2; }
.av-badge[data-state="elapsed"] { background: #f3f1ed; color: #77664c; border-color: #e3dccf; }
.av-badge[data-state="connecting"], .av-badge[data-state="scheduled"] { border-color: #d1e0f7; }
.av-event:last-child { border-bottom: 0; }
.av-event:hover { background: #f8fafc; }
.av-seminar-event, .av-seminar-heading { grid-template-columns: 120px 116px minmax(0, 1fr) 180px; }
.av-seminar-note { margin: 0; padding: 10px 20px; border-inline: 1px solid var(--av-line); background: #f6f8fc; color: #60728b; font-size: 12px; line-height: 1.7; }
.av-broadcast-action { justify-self: end; max-width: 100%; min-width: 0; }
.av-broadcast-action .button { white-space: normal; text-align: center; }
.av-broadcast-menu summary { cursor: pointer; list-style: none; }
.av-broadcast-menu summary::-webkit-details-marker { display: none; }
.av-broadcast-menu summary:focus-visible, .av-broadcast-menu a:focus-visible { outline: 2px solid var(--av-blue); outline-offset: 3px; }
.av-broadcast-menu ul { list-style: none; padding: 6px 0 0; margin: 0; }
.av-broadcast-menu li + li { margin-top: 4px; }
.av-broadcast-menu li a { display: block; padding: 8px 10px; border: 1px solid var(--av-line); border-radius: 7px; background: #fff; font-size: 12px; overflow-wrap: anywhere; }
.av-broadcast-action button:disabled { opacity: .6; cursor: default; }
.av-event-name { font-size: 13px; font-weight: 700; }
.av-event-title { display: block; font-weight: 600; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.av-event-detail { font-size: 12px; color: #60728b; margin-top: 5px; }
.av-event-context { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.av-event-context .av-pause-note { font-size: 11px; padding: 2px 7px; }
.av-state { color: var(--av-blue); font-size: 12px; font-weight: 600; line-height: 1.7; }
.av-state[data-state="receiving"] { color: var(--av-green); }
.av-state[data-state="reconnecting"] { color: var(--av-amber); }
.av-footnote { margin: 16px 0; }
.av-detail-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.av-meeting-date { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; margin-right: 6px; }
.av-coverage { color: #60728b; font-size: 12px; line-height: 1.7; margin: 15px 0 22px; }
.assembly-v2 .av-storage { margin: 28px 0 0; }
.av-storage-body { padding: 20px; border-top: 1px solid var(--av-line); }
.av-disclosure-description { color: #60728b; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.assembly-v2 .av-storage-title { margin-bottom: 5px; }
.av-storage-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-top: 14px; }
.av-storage-heading > .button { flex: none; font-size: 12px; }
.av-storage-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 20px; margin: 18px 0; padding: 16px; background: #f8fafc; border: 1px solid #e8edf4; border-radius: 10px; }
.av-storage-stats[hidden] { display: none; }
.av-storage-stats dt { color: #60728b; font-size: 11px; }
.av-storage-stats dd { margin: 3px 0 0; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.av-storage-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.av-storage-actions > [hidden], .av-detail-actions > [hidden] { display: none; }
.av-storage-archive-info { margin-top: 10px; font-size: 11px; overflow-wrap: anywhere; }
.assembly-v2 .av-storage-delete { margin-top: 16px; border: 1px solid #e7c8ca; background: #fff7f7; color: #a03c44; }
.assembly-v2 .av-storage-delete:disabled { opacity: .5; cursor: not-allowed; }
.av-storage-help { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--av-line); font-size: 11px; }
@media (max-width: 700px) { .av-storage-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .av-storage-heading { flex-wrap: wrap; } }
@media (max-width: 420px) { .av-storage-stats { grid-template-columns: minmax(0, 1fr); } }
.av-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 22px; }
.av-card { border: 1px solid var(--av-line); background: white; border-radius: 14px; overflow: hidden; min-width: 0; }
.av-card-heading { border-bottom: 1px solid var(--av-line); padding: 16px 18px; flex-wrap: wrap; }
.av-card-body { padding: 18px; }
.av-follow { display: flex; align-items: center; gap: 5px; font-size: 12px; color: #60728b; }
.av-transcript-tools { display: flex; gap: 6px; padding: 14px 16px 4px; }
.av-transcript-tools .input { min-width: 70px; flex: 1; }
.av-transcript-tools .button { padding: 8px 10px; white-space: nowrap; }
.av-load-status { padding: 4px 18px; min-height: 27px; font-size: 12px; }
.av-resumes { display: block; margin-top: 5px; font-size: 11px; color: var(--text-muted, #64748b); white-space: nowrap; }
.av-proceedings-row { display: flex; align-items: flex-start; gap: 18px; margin: 10px 0 20px; font-size: 12px; }
.av-proceedings-row > div { flex-shrink: 0; padding-top: 23px; }
.assembly-v2 .av-proceedings { flex: 1; min-width: 0; margin: 0; }
.av-proceedings-body { padding: 4px 20px 16px; border-top: 1px solid var(--av-line); }
.av-proceedings-body > .av-muted { padding-top: 12px; border-top: 1px solid #edf1f6; font-size: 11px; }
#av-proceedings-list { list-style: none; padding: 0; margin: 0; max-height: 220px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
#av-proceedings-list li { position: relative; padding: 11px 0 11px 20px; border-left: 1px solid #dce7f8; margin-left: 5px; color: #4c627d; overflow-wrap: anywhere; }
#av-proceedings-list li::before { content: ""; position: absolute; width: 7px; height: 7px; left: -4px; top: 19px; border: 2px solid #fff; border-radius: 50%; background: var(--av-blue); box-sizing: content-box; }
#av-proceedings-list time { margin-right: 10px; color: var(--av-blue); font-weight: 600; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
  .av-proceedings-row { flex-direction: column; gap: 10px; }
  .av-proceedings-row > div { padding-top: 0; }
  .assembly-v2 .av-proceedings { width: 100%; }
  .av-disclosure-description { font-size: 12px; }
  .av-proceedings-body, .av-storage-body { padding: 14px; }
}
.av-transcripts { height: min(64vh, 780px); min-height: 300px; overflow: auto; padding: 0 18px 18px; scroll-padding: 16px; overflow-anchor: none; }
.av-segment { padding: 16px 0; border-bottom: 1px solid #edf1f6; }
.av-segment-meta { display: flex; flex-wrap: wrap; gap: 10px; font-family: Consolas, monospace; font-size: 11px; color: #718198; margin-bottom: 9px; }
.av-fragment { line-height: 1.9; font-size: 15px; margin: 4px 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.av-speaker { display: inline-flex; align-items: center; gap: 5px; vertical-align: baseline; max-width: 100%; color: #64748b; font-size: 11px; font-weight: 600; line-height: 1.5; background: #f4f6f9; border: 1px solid #e5eaf1; padding: 4px 8px; border-radius: 8px; margin: 0 8px 3px 0; white-space: normal; }
.av-speaker[data-speaker="1"] { background: #f1f0fc; color: #6655a4; }
.av-speaker[data-speaker="-1"] { background: #f1f4f8; color: #65748a; }
.av-speaker--named { background: #edf7f4; color: #166b58; border-color: #cfe6dd; }
.av-speaker--named[data-role="member"] { background: #eef4ff; color: #2b568c; border-color: #d5e2f6; }
.av-speaker--named[data-role="chair"] { background: #f3effb; color: #6a4595; border-color: #e0d4ef; box-shadow: inset 3px 0 0 #9672bd; padding-left: 10px; }
.av-speaker-name { font-size: 12px; font-weight: 750; white-space: nowrap; }
.av-speaker-role { padding-left: 6px; border-left: 1px solid currentColor; border-color: #a3b4cd66; font-weight: 500; overflow-wrap: anywhere; }
.av-speaker small { font-size: 9px; font-weight: 500; opacity: .75; padding: 1px 4px; border-radius: 4px; background: #ffffffa6; white-space: nowrap; }
.av-speaker--analysis[data-analysis-state="pending"] { background: #edf3fc; border-color: #d5e2f6; color: #45678d; }
.av-speaker--analysis:is([data-analysis-state="not-analyzed"], [data-analysis-state="not-targeted"], [data-analysis-state="stopped"], [data-analysis-state="unavailable"]) { background: #f3f5f8; border-color: #dfe5ed; color: #65748a; }
.av-speaker--analysis:is([data-analysis-state="blocked"], [data-analysis-state="retry"]) { background: #fff8eb; border-color: #f2deb7; color: var(--av-amber); }
#av-speakers { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
#av-speakers .av-speaker { margin: 0; }
.av-sidebar { display: grid; align-content: start; gap: 12px; max-height: calc(min(64vh, 780px) + 168px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.av-sidebar .av-card-heading { padding: 13px 16px; gap: 8px; }
.av-sidebar .av-card-heading h2 { font-size: 14px; }
.av-view-label { font-size: 11px; color: var(--av-blue); }
.av-sidebar .av-summary-actions .button { padding: 6px 8px; font-size: 11px; }
#av-summary-panel { max-height: 360px; overflow-y: auto; overscroll-behavior: contain; }
.av-summary-part { padding: 16px 0; border-bottom: 1px solid var(--av-line); }
.av-summary-part h3 { font-size: 14px; margin: 0 0 10px; }
.av-summary-text { font-size: 14px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.av-highlight { display: block; width: 100%; text-align: left; background: #f8fafc; border: 1px solid var(--av-line); border-radius: 8px; color: var(--av-ink); padding: 12px; margin-top: 10px; cursor: pointer; line-height: 1.8; font-size: 13px; overflow-wrap: anywhere; }
.av-highlight blockquote { border-left: 2px solid var(--av-blue); margin: 7px 0 0; padding-left: 10px; color: #60728b; }
.assembly-v2 details { margin-top: 20px; font-size: 13px; line-height: 1.9; }
.assembly-v2 summary { cursor: pointer; }
.av-roster-member { border-bottom: 1px solid #edf1f6; padding: 7px 0; }
.av-segment:target, .av-segment--found { background: #fff4d8; }
.av-summary-actions { display: flex; gap: 6px; flex-wrap: wrap; }
#av-summary-panel[hidden] { display: none; }
.assembly-v2 :focus-visible { outline: 2px solid var(--av-blue); outline-offset: 3px; }
.av-date-field { display: grid; gap: 7px; }
.av-date-field > label { font-size: 12px; font-weight: 600; }
.av-date-controls { display: flex; align-items: center; height: 40px; gap: 3px; }
.av-date-input { position: relative; width: 185px; }
.av-date-input > svg { position: absolute; top: 12px; left: 12px; width: 16px; height: 16px; color: #667f9e; pointer-events: none; z-index: 1; }
.av-date-input .input { width: 100%; padding-left: 36px; height: 40px; border-radius: 9px; font-size: 13px; font-weight: 600; letter-spacing: .01em; cursor: pointer; }
.av-date-step, .av-date-today { display: inline-grid; place-items: center; border: 1px solid #e0e7f0; background: #fff; color: #4c627d; border-radius: 8px; height: 36px; cursor: pointer; transition: background .15s, border-color .15s; }
.av-date-step { width: 28px; font-size: 23px; line-height: 1; }
.av-date-today { padding: 0 10px; margin-left: 5px; font-size: 12px; font-weight: 600; }
.av-date-step:hover, .av-date-today:hover { background: #eff4fb; border-color: #b9cee8; }
.av-date-input .input:focus { border-color: #80a7cb; box-shadow: 0 0 0 3px #e7eff8; outline: none; }
.av-calendar.flatpickr-calendar { font-family: inherit; width: 308px; padding: 12px 10px 10px; background: #fff; border: 1px solid #e0e7f0; border-radius: 16px; box-shadow: 0 12px 40px #18355424, 0 2px 7px #1835540a; }
.av-calendar.animate.open { animation: none; opacity: 1; }
.av-calendar.flatpickr-calendar::before, .av-calendar.flatpickr-calendar::after { display: none; }
.av-calendar .flatpickr-months { margin-bottom: 12px; align-items: center; }
.av-calendar .flatpickr-months .flatpickr-prev-month, .av-calendar .flatpickr-months .flatpickr-next-month { top: 12px; height: 32px; width: 32px; padding: 10px; border-radius: 8px; }
.av-calendar .flatpickr-months .flatpickr-prev-month { left: 10px; }
.av-calendar .flatpickr-months .flatpickr-next-month { right: 10px; }
.av-calendar .flatpickr-months .flatpickr-prev-month:hover, .av-calendar .flatpickr-months .flatpickr-next-month:hover { background: #eef3fa; }
.av-calendar .flatpickr-current-month { display: flex; align-items: center; justify-content: center; gap: 8px; height: 34px; padding-top: 0; font-size: 14px; font-weight: 700; color: #183554; }
.av-calendar .flatpickr-current-month .cur-month { display: none; }
.av-calendar .flatpickr-current-month .numInputWrapper { width: 76px; border: 1px solid #dbe3ef; border-radius: 6px; background: #f8fafc; }
.av-calendar .flatpickr-current-month .numInputWrapper::after { content: "년"; position: absolute; right: 2px; top: 50%; transform: translateY(-50%); font-weight: 600; pointer-events: none; }
.av-calendar .flatpickr-current-month input.cur-year { font-weight: 600; width: 57px; height: 30px; padding: 4px 3px 4px 6px; }
.av-calendar .flatpickr-current-month .arrowUp, .av-calendar .flatpickr-current-month .arrowDown { display: none; }
.av-calendar .av-month-input { display: flex; align-items: center; gap: 1px; padding-right: 6px; border: 1px solid #dbe3ef; border-radius: 6px; background: #f8fafc; font-weight: 600; }
.av-calendar .av-month-number { width: 32px; height: 30px; padding: 4px 1px 4px 5px; border: 0; background: transparent; color: inherit; font: inherit; text-align: center; appearance: textfield; }
.av-calendar .av-month-number::-webkit-inner-spin-button, .av-calendar .av-month-number::-webkit-outer-spin-button { appearance: none; margin: 0; }
.av-calendar .av-month-input:focus-within, .av-calendar .numInputWrapper:focus-within { border-color: #80a7cb; box-shadow: 0 0 0 2px #e7eff8; }
.av-calendar .av-month-number:focus, .av-calendar input.cur-year:focus { outline: none; }
.av-calendar .av-month-number[aria-invalid="true"] { color: #c13f46; }
.av-calendar .av-calendar-error { margin: -4px 0 8px; color: #c13f46; font-size: 11px; text-align: center; }
.av-calendar .av-calendar-error[hidden] { display: none; }
.av-calendar .flatpickr-weekdays { margin-bottom: 6px; }
.av-calendar span.flatpickr-weekday { color: #8190a5; font-size: 11px; font-weight: 600; }
.av-calendar .flatpickr-innerContainer, .av-calendar .flatpickr-rContainer, .av-calendar .flatpickr-days, .av-calendar .dayContainer { width: 286px; min-width: 286px; max-width: 286px; }
.av-calendar .flatpickr-day { height: 36px; line-height: 34px; max-width: 36px; margin: 2px; border-radius: 9px; color: #334a65; font-size: 12px; font-weight: 500; }
.av-calendar .flatpickr-day:hover, .av-calendar .flatpickr-day:focus { background: #edf3fb; border-color: #edf3fb; }
.av-calendar .flatpickr-day.today { border-color: #a8c1df; color: #245582; }
.av-calendar .flatpickr-day.selected, .av-calendar .flatpickr-day.selected:hover { background: #245582; border-color: #245582; color: #fff; box-shadow: 0 3px 8px #24558225; }
.av-calendar .flatpickr-day.prevMonthDay, .av-calendar .flatpickr-day.nextMonthDay { color: #b4bfce; }
@media (prefers-reduced-motion: reduce) { .av-date-step, .av-date-today { transition: none; } .av-calendar.animate.open, .av-badge[data-state="connecting"] svg, .av-badge[data-state="reconnecting"] svg { animation: none; } }
@media (max-width: 600px) { .av-filters { padding: 16px; gap: 16px; } .av-date-field { width: 100%; } .av-date-input { flex: 1; min-width: 0; width: auto; } .av-date-step { width: 26px; } .av-date-today { padding-inline: 8px; margin-left: 2px; } }
@media (max-width: 1200px) { .av-detail-grid { grid-template-columns: minmax(0, 1fr); } .av-sidebar { max-height: none; overflow: visible; } .av-event, .av-table-heading { grid-template-columns: 90px 90px minmax(0, 1fr) 66px 82px; gap: 12px; padding-inline: 16px; } }
@media (max-width: 800px) { .av-table-heading { display: none; } .av-event { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 18px; } .av-event-time { text-align: right; font-size: 12px; } .av-event-time .av-event-detail { display: inline; margin-left: 7px; } .av-event > div:nth-child(3) { grid-column: 1 / -1; } .av-event > .button { justify-self: end; } }
@media (min-width: 801px) and (max-width: 1200px) { .av-seminar-event, .av-seminar-heading { grid-template-columns: 110px 104px minmax(0, 1fr) 150px; } }
@media (max-width: 800px) { .av-seminar-event .av-broadcast-action { grid-column: 1 / -1; } }
@media (max-width: 600px) { .av-heading { align-items: start; flex-direction: column; } .av-heading h1 { font-size: 26px; } .av-filters label { width: 100%; } .av-section-heading { padding: 13px 15px; gap: 8px 12px; } .av-section-title { gap: 8px; } .av-section-heading h2 { font-size: 15px; } .av-category-icon { flex-basis: 32px; height: 32px; border-radius: 9px; } .av-category-icon svg { width: 20px; height: 20px; } .av-section-state { margin-left: auto; font-size: 11px; } .av-transcript-tools { flex-wrap: wrap; } .av-transcript-tools .input { flex-basis: 100%; } .av-transcripts { height: 60vh; padding: 0 14px 14px; } }
.av-ai-done { display: inline-block; margin-right: .5rem; color: #287466; font-size: .7rem; white-space: nowrap; }
.av-reading-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 9px 18px 3px; font-size: 12px; color: #60728b; }
.av-reading-tools select { border: 1px solid var(--av-line); border-radius: 7px; padding: 5px 8px; background: #fff; color: #334a65; font: inherit; }
.av-reading-tools > span { font-size: 11px; }
.av-paragraph { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 16px; padding: 20px 0; }
.av-paragraph-time { padding-top: 4px; color: #526b88; font-family: Consolas, monospace; font-size: 12px; line-height: 1.8; font-variant-numeric: tabular-nums; }
.av-paragraph-time time { font-weight: 600; }
.av-paragraph-time .av-speaker { display: block; width: fit-content; max-width: 100%; margin: 8px 0 5px; white-space: normal; font-family: inherit; overflow-wrap: anywhere; }
.av-caption-edit { display: block; margin-top: 6px; padding: 4px 0; color: #3768a0; background: transparent; border: 0; font: inherit; font-size: 11px; cursor: pointer; text-align: left; }
.av-caption-edit:hover { text-decoration: underline; }
.av-caption-edit:focus-visible { outline: 2px solid #3768a0; outline-offset: 3px; }
.av-edit-label { display: block; color: #94621f; font: 11px/1.6 sans-serif; }
.av-inline-edit-host { display: block; padding: 12px 0; }
.av-caption-editor { width: 100%; box-sizing: border-box; padding: 14px; border: 1px solid #9bb5d1; border-left: 3px solid #3768a0; border-radius: 6px; color: #243951; background: #f8fbff; }
.av-edit-heading, .av-edit-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.av-edit-heading { margin-bottom: 14px; font-size: 12px; }
.av-edit-heading span { color: #65748a; font-size: 11px; }
.av-edit-actions > div { display: flex; flex-wrap: wrap; gap: 6px; }
.av-edit-row { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 16px; margin: 12px 0; }
.av-caption-editor label { display: grid; gap: 5px; font-size: 12px; }
.av-caption-editor input, .av-caption-editor textarea { width: 100%; min-width: 0; box-sizing: border-box; }
.av-caption-editor textarea { resize: vertical; line-height: 1.8; min-height: 114px; font: inherit; }
.av-edit-caption-field { min-width: 0; }
.av-edit-speaker-fields { display: grid; align-content: start; gap: 8px; min-width: 0; }
.av-edit-notice { font-size: 12px; line-height: 1.7; color: #94621f; }
.av-edit-notice:empty { display: none; }
.av-caption-editor [data-edit-conflict] { padding: 10px 0; font-size: 12px; overflow-wrap: anywhere; }
.av-edit-source { padding: 8px; background: #f3f6fa; font-size: 12px; white-space: pre-wrap; margin-bottom: 10px; }
.av-speaker-edit { display: block; max-width: 100%; padding: 0; border: 0; background: transparent; cursor: text; text-align: left; }
.av-fragment [data-source-id] { cursor: text; border-radius: 2px; }
.av-fragment [data-source-id]:hover { background: #edf4fc; }
.av-fragment [data-source-id]:focus-visible, .av-speaker-edit:focus-visible { outline: 2px solid #3768a0; outline-offset: 3px; }
@media (max-width: 600px) {
  .av-paragraph { grid-template-columns: 96px minmax(0, 1fr); gap: 10px; }
  .av-edit-row { grid-template-columns: 96px minmax(0, 1fr); gap: 10px; }
  .av-caption-editor { padding: 10px; }
}
.av-paragraph-time > span { display: block; font-size: 10px; color: #8190a5; }
.av-paragraph-body { min-width: 0; }
.av-paragraph-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-bottom: 5px; }
.av-paragraph-heading .av-speaker { margin: 0; }
.av-paragraph .av-fragment { margin: 0; line-height: 1.95; color: #243951; }
.assembly-v2 .av-source-details { margin-top: 9px; font-size: 11px; line-height: 1.6; color: #718198; }
.av-source-details > summary { width: fit-content; padding: 2px 0; }
.av-source-details > summary > span { margin-left: 5px; font-variant-numeric: tabular-nums; }
.av-source-row { border-left: 2px solid #e0e7f0; padding: 9px 12px; margin-top: 8px; background: #f8fafc; }
.av-source-row .av-segment-meta { font-size: 10px; gap: 7px; margin-bottom: 4px; }
.av-source-row p { margin: 0; color: #52657e; font-size: 12px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.av-speaker-section { padding: 14px 16px; border-bottom: 1px solid var(--av-line); }
.av-speaker-section h3 { margin: 0; color: #263d58; font-size: 13px; font-weight: 700; }
.av-speaker-section > .select { width: 100%; margin-top: 10px; font-size: 13px; }
.av-speaker-section .av-muted { margin: 8px 0 12px; font-size: 12px; line-height: 1.7; }
.av-speaker-section > .button { width: 100%; margin-top: 2px; justify-content: center; }
.av-section-label { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.av-section-label > span { color: #718198; font-size: 10px; white-space: nowrap; }
.av-action-status { margin: 9px 0 0; color: #60728b; font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }
.av-action-status:empty { display: none; }
.av-ai-section { background: #f7faff; }
.av-ai-progress { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 10px 0; color: #526b88; font-size: 11px; font-variant-numeric: tabular-nums; }
.av-ai-progress[hidden] { display: none; }
.av-ai-progress progress { width: 100%; height: 5px; accent-color: #245582; }
.assembly-v2 .av-sidebar-disclosure { margin: 0; padding: 0 16px; border-bottom: 1px solid var(--av-line); font-size: 12px; }
.av-sidebar-disclosure:last-child { border-bottom: 0; }
.av-sidebar-disclosure > summary { display: flex; align-items: center; gap: 9px; min-height: 50px; margin-inline: -8px; padding: 8px; color: #263d58; font-weight: 600; list-style: none; border-radius: 8px; transition: background .16s, color .16s; }
.av-sidebar-disclosure > summary::-webkit-details-marker { display: none; }
.av-sidebar-disclosure > summary::marker { content: ""; }
.av-sidebar-disclosure > summary:hover { background: #f4f7fc; color: #2563a6; }
.av-disclosure-icon { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 8px; background: #f0f4fa; color: #617995; }
.av-disclosure-icon svg { width: 18px; height: 18px; }
.av-disclosure-label { flex: 1; min-width: 0; line-height: 1.5; }
.av-disclosure-count { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; padding: 1px 7px; border: 1px solid #e0e7f0; border-radius: 20px; background: #f8fafc; color: #60728b; font-size: 10px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.av-disclosure-count:empty { display: none; }
.av-disclosure-toggle { display: grid; place-items: center; flex: 0 0 22px; height: 22px; border-radius: 50%; color: #8191a6; transition: background .16s, color .16s; }
.av-disclosure-toggle svg { width: 18px; height: 18px; transition: transform .18s ease; }
.av-sidebar-disclosure[open] > summary { margin-block: 6px 10px; min-height: 44px; background: #f0f5fc; color: #245582; }
.av-sidebar-disclosure[open] .av-disclosure-icon { background: #e1ecf9; color: #2563a6; }
.av-sidebar-disclosure[open] .av-disclosure-toggle { background: #dfeaf7; color: #2563a6; }
.av-sidebar-disclosure[open] .av-disclosure-toggle svg { transform: rotate(180deg); }
.av-sidebar-disclosure[open] { padding-bottom: 14px; }
@media (prefers-reduced-motion: reduce) { .av-sidebar-disclosure > summary, .av-disclosure-toggle, .av-disclosure-toggle svg { transition: none; } }
.av-sidebar-disclosure .select { width: 100%; font-size: 12px; }
.av-option-label { display: block; margin-bottom: 6px; color: #60728b; font-size: 11px; }
.av-sidebar-disclosure .av-muted { margin-top: 8px; font-size: 11px; }
.av-sidebar-disclosure .av-speaker-help { padding-top: 8px; border-top: 1px solid #edf1f6; }
.av-sidebar-disclosure #av-speakers { margin-top: 0; }
#av-roster, #av-speakers { max-height: 240px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.av-calendar .flatpickr-weekday:first-child { color: #c13f46; }
.av-calendar .flatpickr-weekday:last-child { color: #2563a6; }
.av-calendar .flatpickr-day.av-sunday { color: #c13f46; }
.av-calendar .flatpickr-day.av-saturday { color: #2563a6; }
.av-calendar .flatpickr-day.av-sunday.prevMonthDay, .av-calendar .flatpickr-day.av-sunday.nextMonthDay { color: #cb9296; }
.av-calendar .flatpickr-day.av-saturday.prevMonthDay, .av-calendar .flatpickr-day.av-saturday.nextMonthDay { color: #8aa9cf; }
.av-calendar .flatpickr-day.av-sunday.selected { background: #ad3640; border-color: #ad3640; color: #fff; }
.av-calendar .flatpickr-day.av-saturday.selected { background: #245582; border-color: #245582; color: #fff; }
@media (max-width: 600px) {
  .av-paragraph { grid-template-columns: 96px minmax(0, 1fr); gap: 10px; padding: 16px 0; }
  .av-paragraph-time { padding-top: 0; }
  .av-paragraph-time > span { font-size: 11px; }
  .av-reading-tools > span { flex-basis: 100%; }
}
.av-review-entry { padding: 12px 0; border-bottom: 1px solid var(--border-color, #ddd); }
.av-review-entry > p { white-space: pre-wrap; }
.av-review-entry label { display: block; margin: 8px 0; }
.av-review-text { width: 100%; resize: vertical; }
.av-review-range { overflow-wrap: anywhere; }
