/* Meeting archive: strong section boundaries with quiet navy and teal accents. */
.meeting-heading-actions, .meeting-filters, .meeting-footer-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.meeting-page-heading { gap: 22px; }
.meeting-list-panel { border: 1px solid #cfdae6; border-radius: 16px; background: #fff; overflow: hidden; box-shadow: 0 5px 20px #17304c05; }
.meeting-toolbar { padding: 20px 24px; display: flex; align-items: center; gap: 18px; justify-content: space-between; background: #f8fafc; border-bottom: 1px solid #dce4ed; }
.meeting-search { flex: 1; max-width: 540px; display: flex; gap: 10px; align-items: center; padding: 0 14px; min-height: 44px; border: 1px solid #c3d0dd; border-radius: 9px; background: #fff; }
.meeting-search > span[aria-hidden] { color: #3c5672; font-size: 1.4rem; }
.meeting-search input { width: 100%; min-width: 0; border: 0; padding: 11px 0; outline: 0; color: #152d48; background: transparent; font-size: .86rem; }
.meeting-search:focus-within { border-color: #2d699e; box-shadow: 0 0 0 3px #e3eef9; }
.meeting-filters select { height: 44px; max-width: 190px; padding: 0 30px 0 12px; border: 1px solid #c3d0dd; border-radius: 9px; color: #29425d; background: #fff; font-size: .8rem; }
.meeting-list-summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px 24px; background: #fff; border-bottom: 1px solid #e0e7ef; font-size: .78rem; }
.meeting-list-summary strong { color: #24445f; }
.meeting-list-summary > span { color: #66778a; }
.meeting-row { width: 100%; display: grid; grid-template-columns: 66px minmax(0, 1fr) 24px; align-items: center; gap: 22px; padding: 24px; border: 0; border-bottom: 1px solid #dfe7ee; text-align: left; background: #fff; cursor: pointer; transition: background .15s; }
.meeting-row:last-child { border-bottom: 0; }
.meeting-row:hover { background: #f4f8fc; }
.meeting-date { align-self: start; display: flex; flex-direction: column; align-items: center; overflow: hidden; border: 1px solid #d1dce7; border-radius: 10px; background: #f0f5fa; }
.meeting-date > span { width: 100%; padding: 7px 3px; text-align: center; background: #e0e9f2; color: #395470; font-size: .67rem; font-weight: 750; }
.meeting-date strong { padding: 5px 3px 7px; color: #173653; font-size: 1.65rem; line-height: 1.3; font-weight: 750; }
.meeting-row-content { min-width: 0; display: block; }
.meeting-row-kicker { display: flex; gap: 8px; align-items: center; margin-bottom: 9px; }
.meeting-scope { padding: 4px 7px; color: #16645c; border-radius: 4px; background: #e6f1ee; font-size: .68rem; line-height: 1.35; font-weight: 750; }
.meeting-deleted-label { color: #785141; font-size: .7rem; }
.meeting-row-title { display: block; color: #132d49; font-size: 1rem; font-weight: 760; line-height: 1.55; overflow-wrap: anywhere; }
.meeting-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 8px; color: #52677b; font-size: .82rem; line-height: 1.65; overflow-wrap: anywhere; }
.meeting-row-meta { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 4px 18px; color: #65758a; font-size: .73rem; line-height: 1.6; }
.meeting-row-meta > span:first-child { max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.meeting-row-arrow { color: #2c627e; font-size: 1.25rem; }
.meeting-empty { padding: 62px 24px; text-align: center; }
.meeting-empty-symbol { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 20px; border: 1px solid #c8d9df; border-radius: 15px; color: #2d6d75; background: #edf5f5; font-size: 1.8rem; }
.meeting-empty h2 { margin: 0; font-size: 1.08rem; color: #234059; }
.meeting-empty p { margin: 12px auto 23px; max-width: 430px; color: #5c7187; font-size: .84rem; line-height: 1.8; word-break: keep-all; }
.meeting-notice { padding: 13px 16px; margin: 0 0 18px; border: 1px solid #b5d6cb; border-radius: 8px; color: #245e50; background: #edf7f2; font-size: .83rem; line-height: 1.6; }
.meeting-load-error { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 16px 24px; padding: 12px 16px; border: 1px solid #e3c7b7; border-radius: 8px; background: #fff7f1; color: #844528; font-size: .83rem; }
.meeting-load-error p { margin: 0; }
.meeting-dialog, .meeting-confirm-dialog { width: min(840px, calc(100vw - 32px)); max-width: 840px; max-height: calc(100dvh - 40px); padding: 0; margin: auto; border: 1px solid #c5d2df; border-radius: 18px; color: #17304b; background: #f0f4f8; box-shadow: 0 30px 90px #07142655; overflow: hidden; }
.meeting-dialog::backdrop, .meeting-confirm-dialog::backdrop { background: #07142699; backdrop-filter: blur(3px); }
.meeting-dialog[open] { display: flex; flex-direction: column; }
#meeting-dialog-content, #meeting-form { display: flex; flex-direction: column; min-height: 0; width: 100%; overflow: hidden; }
.meeting-modal-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex: 0 0 auto; padding: 26px 30px 25px; color: #fff; background: #142e4b; border-bottom: 4px solid #387f84; }
.meeting-modal-header > div { min-width: 0; }
.meeting-modal-header .eyebrow { margin: 0 0 10px; color: #a8c5d8; font-size: .67rem; letter-spacing: .13em; }
.meeting-modal-header h2 { margin: 0; color: #fff; font-size: 1.35rem; font-weight: 750; line-height: 1.55; word-break: keep-all; overflow-wrap: anywhere; }
.meeting-modal-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; color: #d6e4ee; font-size: .78rem; }
.meeting-modal-description { margin: 10px 0 0; font-size: .79rem; line-height: 1.65; color: #d2e0eb; }
.meeting-close { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; padding: 0; color: #fff; background: #ffffff14; border: 1px solid #7790aa88; border-radius: 8px; font-size: 1.55rem; cursor: pointer; }
.meeting-close:hover { background: #ffffff25; }
.meeting-modal-scroll { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: 25px 28px; scrollbar-gutter: stable; scroll-padding-block: 18px; }
.meeting-loading { padding: 40px 12px; color: #526a82; text-align: center; }
.meeting-participants { padding: 15px 18px; margin-bottom: 20px; border: 1px solid #cdd9e4; border-radius: 10px; background: #e6edf4; }
.meeting-participants h3 { margin: 0 0 8px; color: #45617d; font-size: .72rem; }
.meeting-participants p { margin: 0; color: #233e58; font-size: .86rem; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.meeting-detail-sections { display: grid; gap: 18px; }
.meeting-content-section, .meeting-form-section { padding: 23px; border: 1px solid #cbd8e4; border-radius: 12px; background: #fff; box-shadow: 0 2px 7px #19344d03; }
.meeting-content-decisions { border-color: #b8d4cb; background: #f7fcfa; border-top: 3px solid #317668; }
.meeting-content-followUps { border-top: 3px solid #486e9a; }
.meeting-section-heading { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 15px; }
.meeting-section-heading > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 6px; background: #e8eff7; color: #325b84; font-size: .67rem; font-weight: 800; }
.meeting-content-decisions .meeting-section-heading > span { background: #e1f0e9; color: #2b6d5e; }
.meeting-section-heading h3 { margin: 0; color: #183a55; font-size: .96rem; font-weight: 760; }
.meeting-section-heading small { margin-left: auto; color: #68798a; font-size: .72rem; font-weight: 400; }
.meeting-prose { white-space: pre-wrap; margin: 0; color: #2c445b; font-size: .88rem; line-height: 1.95; overflow-wrap: anywhere; }
.meeting-muted { color: #728093; font-size: .81rem; line-height: 1.7; margin: 0; }
.meeting-related-section { margin-top: 22px; }
.meeting-related-group + .meeting-related-group { margin-top: 21px; padding-top: 18px; border-top: 1px solid #e0e7ee; }
.meeting-related-group h4 { margin: 0 0 10px; color: #52708a; font-size: .75rem; }
.meeting-related-group h4 span { margin-left: 7px; color: #2d6f78; }
.meeting-related-list { display: grid; gap: 8px; }
.meeting-related-link { display: block; width: 100%; padding: 12px 14px; border: 1px solid #d0dce8; border-radius: 8px; color: #254b6c; background: #f7fafc; text-align: left; cursor: pointer; }
.meeting-related-link:hover { background: #eef5fa; border-color: #aabed1; }
.meeting-related-link > strong { display: block; font-size: .81rem; font-weight: 700; line-height: 1.6; overflow-wrap: anywhere; }
.meeting-related-link > span { display: flex; justify-content: space-between; margin-top: 5px; color: #60778b; font-size: .71rem; }
.meeting-unavailable-link { padding: 10px 12px; border-radius: 8px; color: #647487; background: #f0f3f6; font-size: .8rem; }
.meeting-unavailable-link small { display: block; margin-top: 5px; font-size: .72rem; }
.meeting-record-meta { color: #708094; font-size: .72rem; line-height: 1.7; margin: 19px 1px 0; }
.meeting-modal-footer { flex: 0 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 12px 18px; flex-wrap: wrap; padding: 17px 28px; border-top: 1px solid #cbd7e3; background: #fff; }
.meeting-modal-footer > p { margin: 0; color: #62748a; font-size: .74rem; line-height: 1.6; }
.meeting-delete-button { border: 1px solid #d9b3b3; border-radius: 8px; color: #963f42; background: #fff6f5; padding: 10px 14px; font-size: .79rem; font-weight: 700; cursor: pointer; }
.meeting-delete-button:hover { background: #fbe8e7; }
.meeting-trash-note { color: #765738; background: #faf1df; border: 1px solid #e1ceae; border-radius: 8px; margin: 0 0 18px; padding: 12px 15px; font-size: .81rem; line-height: 1.7; }
.meeting-form-section + .meeting-form-section { margin-top: 20px; }
.meeting-source-picker { margin-bottom: 20px; padding: 20px 23px; border: 1px solid #a6cbc4; border-radius: 12px; background: #edf7f3; }
.meeting-source-help { margin: 10px 0 0; color: #365e58; font-size: .78rem; line-height: 1.7; }
.meeting-source-picker .secondary-button { margin-top: 12px; font-size: .76rem; }
.meeting-source-note { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid #bfd9d2; color: #345e57; font-size: .78rem; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.meeting-modal-meta > span { overflow-wrap: anywhere; max-width: 100%; }
.meeting-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 18px; }
.meeting-field { min-width: 0; }
.meeting-field-wide { grid-column: 1 / -1; }
.meeting-field label { display: block; color: #314e69; font-size: .79rem; font-weight: 750; margin-bottom: 8px; }
.meeting-field label > span { color: #347269; font-size: .66rem; font-weight: 700; margin-left: 3px; }
.meeting-field label > small { color: #7b8797; font-size: .67rem; font-weight: 400; margin-left: 3px; }
.meeting-field input, .meeting-field select, .meeting-field textarea, .meeting-picker-search input { width: 100%; padding: 11px 12px; border: 1px solid #bdcdda; border-radius: 8px; color: #1d3a55; background: #fff; font: inherit; font-size: .85rem; line-height: 1.55; }
.meeting-field textarea { display: block; min-height: 112px; resize: vertical; line-height: 1.8; }
.meeting-field input::placeholder, .meeting-field textarea::placeholder, .meeting-picker-search input::placeholder { color: #7c899a; }
.meeting-textarea-field + .meeting-textarea-field { margin-top: 22px; }
.meeting-field-description { margin: -3px 0 17px; font-size: .79rem; line-height: 1.7; color: #63778a; }
.meeting-link-picker { border: 1px solid #cbd8e4; border-radius: 9px; background: #fbfcfe; }
.meeting-link-picker + .meeting-link-picker { margin-top: 12px; }
.meeting-link-picker > summary { cursor: pointer; padding: 13px 15px; color: #345671; font-size: .81rem; font-weight: 750; }
.meeting-link-picker > summary > span { float: right; color: #216c67; font-size: .73rem; font-weight: 600; }
.meeting-picker-body { padding: 0 14px 12px; }
.meeting-picker-search input { height: 38px; font-size: .78rem; }
.meeting-selected-links { display: flex; flex-wrap: wrap; gap: 7px; }
.meeting-selected-links:not(:empty) { margin-bottom: 12px; }
.meeting-selected-chip { max-width: 100%; display: flex; align-items: center; gap: 9px; padding: 6px 9px; border: 1px solid #b9d5d1; border-radius: 7px; color: #28655d; background: #eaf4f0; font-size: .72rem; cursor: pointer; }
.meeting-selected-chip > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-selected-chip > span:last-child { flex-shrink: 0; font-size: .95rem; }
.meeting-link-options { margin-top: 10px; max-height: 215px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #d9e2eb; border-radius: 8px; background: #fff; }
.meeting-link-option { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border-bottom: 1px solid #e2e9f0; cursor: pointer; }
.meeting-link-option:last-child { border-bottom: 0; }
.meeting-link-option:hover { background: #f2f7fb; }
.meeting-link-option > input { margin: 4px 0 0; width: 16px; height: 16px; flex-shrink: 0; accent-color: #2c776c; }
.meeting-link-option > span { display: block; min-width: 0; }
.meeting-link-option strong { display: block; font-size: .78rem; font-weight: 600; line-height: 1.65; overflow-wrap: anywhere; }
.meeting-link-option small { display: block; margin-top: 4px; color: #6b7c8e; font-size: .67rem; }
.meeting-picker-note { margin: 10px 0 0; color: #728295; font-size: .69rem; }
.meeting-picker-empty { padding: 15px; text-align: center; color: #687c90; font-size: .76rem; }
.meeting-form-footer .meeting-form-error { flex-basis: 100%; color: #a43e36; font-size: .8rem; }
.meeting-form-error { color: #a43e36; font-size: .81rem; line-height: 1.7; }
.meeting-confirm-dialog { width: min(480px, calc(100vw - 32px)); background: #fff; }
.meeting-confirm-body { padding: 27px; }
.meeting-confirm-body .eyebrow { color: #57758e; font-size: .68rem; }
.meeting-confirm-body h2 { margin: 12px 0; color: #213e59; font-size: 1.1rem; line-height: 1.6; }
.meeting-confirm-body > p:not(.eyebrow) { margin: 12px 0 24px; color: #5b7288; font-size: .84rem; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.meeting-confirm-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px; }
.meeting-confirm-delete { color: #fff; background: #a84849; border-color: #a84849; }
.meeting-confirm-delete:hover { background: #913b3d; }
#meetings-view :is(button, input, select):focus-visible, .meeting-dialog :is(button, input, select, textarea, summary):focus-visible, .meeting-confirm-dialog button:focus-visible { outline: 2px solid #397baa; outline-offset: 3px; }
.meeting-dialog button:disabled { opacity: .55; cursor: wait; }
.schedule-meeting-panel { margin-top: 20px; border: 1px solid #b7d0cd; border-radius: 10px; background: #f6faf8; }
.schedule-meeting-panel > summary { padding: 16px; color: #285b55; font-size: .9rem; font-weight: 700; cursor: pointer; }
.schedule-meeting-panel > summary small { margin-left: 5px; font-weight: 400; color: #567a73; }
.schedule-meeting-content { padding: 0 16px 16px; }
.schedule-meeting-content .field { margin-top: 16px; }
.schedule-meeting-content textarea { display: block; width: 100%; min-height: 180px; padding: 12px; border: 1px solid #bdcdda; border-radius: 8px; color: #1d3a55; background: #fff; font: inherit; font-size: .85rem; line-height: 1.8; resize: vertical; }
.schedule-meeting-content textarea::placeholder { color: #7c899a; }
.schedule-meeting-content textarea:focus-visible { outline: 2px solid #397baa; outline-offset: 2px; }
.schedule-meeting-content input[type="file"] { height: auto; min-height: 54px; padding: 10px 12px; line-height: 1.5; }
.schedule-meeting-content input[type="file"]::file-selector-button { margin-right: 12px; padding: 7px 12px; border: 1px solid #bbcedc; border-radius: 6px; color: #244e69; background: #eff5f8; font: inherit; cursor: pointer; }
.schedule-meeting-content input[type="file"]::file-selector-button:hover { background: #e4eef4; }
.schedule-meeting-hint { font-size: .78rem; line-height: 1.7; color: #526e69; margin: 0; }
.schedule-meeting-status { color: #2c6a5e; font-size: .8rem; margin: 10px 0 0; }
.schedule-meeting-error { color: #a13e36; font-size: .8rem; line-height: 1.7; white-space: pre-wrap; }
.schedule-meeting-files .meeting-file-row > span { flex: 1; }
.schedule-meeting-files audio { display: block; width: 100%; min-width: 0; margin-top: 12px; }
.schedule-meeting-previous > details { margin-bottom: 15px; padding: 12px; border: 1px solid #d5dfdf; background: #fff; border-radius: 8px; }
.schedule-meeting-previous summary { color: #39586c; cursor: pointer; font-size: .83rem; }
.schedule-meeting-previous .meeting-prose { margin-block: 12px; }
#calendar-meeting-archive .meeting-page-heading h2 { margin: 0; font-size: 1.1rem; }
.meeting-simple-title, .meeting-recordings > h3 { margin: 0 0 16px; color: #183a55; font-size: .95rem; }
.meeting-recordings { margin-top: 18px; }
.meeting-recordings > h3 small { color: #66798a; font-weight: 400; }
.meeting-recording + .meeting-recording { margin-top: 20px; padding-top: 18px; border-top: 1px solid #dce5ec; }
.meeting-recording-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; font-size: .82rem; }
.meeting-recording-heading strong { overflow-wrap: anywhere; min-width: 0; }
.meeting-recording-heading a { color: #266b76; flex: 0 0 auto; }
.meeting-recording audio { display: block; width: 100%; margin: 12px 0 8px; }
.meeting-recording > small, .meeting-field-help { color: #62788a; font-size: .73rem; line-height: 1.6; }
.meeting-field-help { margin: 8px 0 0; }
.meeting-simple-form #meeting-body-input { min-height: 230px; }
.meeting-file-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px; margin-top: 10px; border: 1px solid #cadbd9; border-radius: 8px; background: #f3f8f6; }
.meeting-file-row > span { min-width: 0; }
.meeting-file-row strong { display: block; font-size: .8rem; overflow-wrap: anywhere; }
.meeting-file-row small { display: block; font-size: .71rem; margin-top: 5px; color: #527068; }
.meeting-file-row button { flex-shrink: 0; font-size: .73rem; }
.meeting-extra-options { margin-top: 22px; border-top: 1px solid #d7e1eb; }
.meeting-extra-options > summary { padding: 18px 0 0; color: #365875; cursor: pointer; font-size: .8rem; font-weight: 650; }
.meeting-extra-options > summary > span { color: #738392; font-weight: 400; font-size: .72rem; margin-left: 5px; }
.meeting-extra-body { padding-top: 18px; }
.meeting-extra-body > .meeting-form-grid { margin-bottom: 18px; }
.meeting-simple-form input[type="file"] { padding: 10px; font-size: .78rem; }
.meeting-simple-form input[type="file"]::file-selector-button { padding: 7px 10px; margin-right: 12px; color: #244e69; background: #eff5f8; border: 1px solid #bbcedc; border-radius: 5px; cursor: pointer; }
@media (max-width: 1020px) {
  .meeting-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .meeting-search { max-width: none; }
  .meeting-filters { justify-content: flex-end; }
}
@media (max-width: 640px) {
  .meeting-heading-actions { width: 100%; justify-content: flex-end; }
  .meeting-toolbar { padding: 16px; }
  .meeting-filters { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .meeting-filters select { width: 100%; max-width: none; padding-right: 20px; font-size: .75rem; }
  .meeting-list-summary { padding: 13px 16px; }
  .meeting-row { padding: 20px 16px; grid-template-columns: 49px minmax(0, 1fr); gap: 13px; }
  .meeting-date > span { font-size: .59rem; }
  .meeting-date strong { font-size: 1.4rem; }
  .meeting-row-title { font-size: .92rem; }
  .meeting-row-arrow { display: none; }
  .meeting-row-meta { flex-direction: column; }
  .meeting-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 20px); border-radius: 13px; }
  .meeting-modal-header { padding: 21px 19px; gap: 14px; }
  .meeting-modal-header h2 { font-size: 1.14rem; }
  .meeting-modal-scroll { padding: 19px 14px; scrollbar-gutter: auto; }
  .meeting-content-section, .meeting-form-section { padding: 18px 16px; }
  .meeting-source-picker { padding: 18px 16px; }
  .meeting-section-heading small { flex-basis: 100%; margin: 0 0 2px; }
  .meeting-modal-footer { padding: 15px 17px; }
  .meeting-footer-actions { margin-left: auto; }
  .meeting-form-footer .meeting-save-hint { flex-basis: 100%; font-size: .7rem; }
  .meeting-form-grid { gap: 18px 12px; }
  .meeting-field input[type="date"] { min-width: 0; }
  .meeting-prose { font-size: .83rem; }
  .meeting-load-error { margin-inline: 16px; flex-direction: column; align-items: flex-start; }
}
