/* 회의록은 날짜·제목·결정/후속 작업을 먼저 읽고, 관리는 필요할 때 펼친다. */
.meetings-header,
.meetings-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.meetings-header { justify-content: space-between; margin-bottom: 24px; }
.meetings-toolbar { justify-content: space-between; margin-bottom: 24px; }
.meetings-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex: 1; min-width: 0; gap: 8px; }
.meetings-filters input { grid-column: 1 / -1; width: 100%; min-width: 0; }
.meetings-filters select { width: 100%; min-width: 0; max-width: 100%; }
.meetings-toolbar button,
.meetings-toolbar input,
.meetings-toolbar select,
.meetings-header button { min-height: 44px; font-size: var(--fs-base); }

/* 최근 회의 카드 목록 + PC 오른쪽 «최근 결정사항» */
.meetings-split { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); align-items: start; gap: 16px; }
.meeting-list { display: grid; gap: 10px; min-width: 0; }
.meeting-list:empty { display: none; }
.meeting-card {
  min-width: 0;
  position: relative;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  cursor: pointer;
}
.meeting-card:hover { background: #f8fafc; }
.meeting-card-main { min-width: 0; }
.meeting-card-top { padding-right: 40px; min-height: 28px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; }
.meeting-card-title { margin: 0; color: #1e293b; font-size: var(--fs-body); font-weight: 800; line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; }
.meeting-card-type { padding: 2px 8px; border-radius: 999px; background: #f1f5f9; color: #475569; font-size: var(--fs-badge); font-weight: 700; white-space: normal; overflow-wrap: anywhere; }
.meeting-card-type-external { background: #e0e7ff; color: #4338ca; }
.meeting-card-sub { margin: 2px 0 0; color: #64748b; font-size: var(--fs-meta); line-height: 1.6; overflow-wrap: anywhere; }
.meeting-card-date { color: #64748b; font-variant-numeric: tabular-nums; }
.meeting-card-preview { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 2px 0 0; color: #334155; font-size: var(--fs-base); line-height: 1.6; overflow-wrap: anywhere; }
.meeting-card-stats { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.meeting-card-stat { padding: 2px 8px; border-radius: 999px; background: #f1f5f9; color: #475569; font-size: var(--fs-badge); font-weight: 800; }
.meeting-card-stat-decisions { background: #ecfdf5; color: #047857; }
.meeting-card-stat-actions { background: #fff7ed; color: #c2410c; }
.meeting-pane { position: sticky; top: 12px; min-width: 0; padding: 16px 18px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; }
.meeting-pane-title { margin: 0 0 8px; color: #0f172a; font-size: var(--fs-body); font-weight: 900; }
.meeting-pane-empty { margin: 0; color: #64748b; font-size: var(--fs-meta); }
.meeting-pane-meeting + .meeting-pane-meeting { margin-top: 14px; padding-top: 12px; border-top: 1px dashed #e2e8f0; }
.meeting-pane-open { min-height: 44px; padding: 0; border: 0; background: none; color: #1e293b; font-size: var(--fs-base); font-weight: 800; text-align: left; cursor: pointer; word-break: keep-all; overflow-wrap: anywhere; }
.meeting-pane-open:hover { color: #1d4ed8; }
.meeting-pane-open:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.meeting-pane-meta { margin: 2px 0 6px; color: #64748b; font-size: var(--fs-meta); }
.meeting-pane-dec { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 4px; padding: 6px 10px; border-radius: 8px; background: #ecfdf5; color: #065f46; font-size: var(--fs-base); line-height: 1.5; overflow-wrap: anywhere; }
.meeting-pane-who { flex-shrink: 0; padding: 1px 8px; border-radius: 999px; background: #fff; color: #047857; font-size: var(--fs-badge); font-weight: 800; white-space: nowrap; }
.meeting-card-controls { position: absolute; top: 6px; right: 6px; }
.meeting-card-more { min-width: 44px; min-height: 44px; border: 0; border-radius: 10px; background: transparent; color: #64748b; font-size: var(--fs-title); cursor: pointer; }
.meeting-card-more:hover { background: #e2e8f0; }
.meeting-card:focus-visible, .meeting-card-more:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.meeting-menu-overlay { position: fixed; inset: 0; z-index: 10000; }
.meeting-menu-panel { position: absolute; width: 200px; max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); overflow-y: auto; padding: 12px; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; box-shadow: 0 12px 36px #0f172a26; }
.meeting-create-overlay .meeting-menu-panel { width: 360px; }
.meeting-menu-title { margin: 0 0 10px; color: #0f172a; font-size: var(--fs-body); font-weight: 800; }
.meeting-menu-option { display: flex; flex-direction: column; gap: 4px; width: 100%; min-height: 44px; padding: 12px; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; color: #0f172a; font-size: var(--fs-base); font-weight: 800; text-align: left; cursor: pointer; }
.meeting-menu-option + .meeting-menu-option { margin-top: 8px; }
.meeting-create-overlay .meeting-menu-option:first-of-type { border-color: #c4b5fd; background: #faf5ff; }
.meeting-menu-option:hover { background: #eff6ff; }
.meeting-menu-option:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.meeting-menu-description { color: #64748b; font-size: var(--fs-meta); font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.meeting-menu-danger { color: #b91c1c; }
.meeting-list-warning { grid-column: 1 / -1; padding: 14px 16px; border: 1px solid #fde68a; border-radius: 12px; background: #fffbeb; color: #92400e; font-size: var(--fs-base); line-height: 1.6; }
.meeting-list-empty { grid-column: 1 / -1; padding: 64px 16px; text-align: center; color: #64748b; font-size: var(--fs-body); }

@media (max-width: 1100px) {
  /* 좁은 화면은 목록만 — 결정사항은 회의록을 열어서 본다 */
  .meetings-split { grid-template-columns: minmax(0, 1fr); }
  .meeting-pane { display: none; }
}
@media (max-width: 768px) {
  .meetings-header, .meetings-toolbar { align-items: stretch; }
  .meeting-create-button { width: 100%; }
  .meetings-toolbar input, .meetings-toolbar select { font-size: 16px; }
  .meeting-create-overlay { background: #0f172a70; }
  .meeting-create-overlay .meeting-menu-panel { top: auto !important; left: 0 !important; right: 0; bottom: 0; width: 100%; max-width: none; max-height: calc(100dvh - 24px); padding: 12px 16px max(24px, env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; animation: meeting-sheet-in 160ms ease-out; }
  .meeting-create-overlay .meeting-menu-title::before { content: ''; display: block; width: 40px; height: 5px; margin: 0 auto 14px; border-radius: 3px; background: #cbd5e1; }
}
@keyframes meeting-sheet-in { from { transform: translateY(100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .meeting-create-overlay .meeting-menu-panel { animation: none; } }
