/*
 * Meeting view stylesheet.
 *
 * Spec: .claude/specs/meeting-domain-redesign/ FR-01 (extract) + token migration.
 * Extracted from inline <style> at pwa/views/meeting.js:34-80.
 * 4 rgba literals tokenized via color-mix(... var(--color-on-surface) ..., transparent).
 */

.mp-wrap { padding: var(--space-gutter); }

.mp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-sm);
}

.mp-title {
  font-size: 22px;
  font-weight: 700;
}

.mp-actions {
  display: flex;
  gap: var(--space-base);
}

.mp-btn {
  background: none;
  border: none;
  color: var(--link);
  cursor: pointer;
  padding: var(--space-tight);
  border-radius: var(--radius-default);
}

.mp-btn:active {
  background: color-mix(in srgb, var(--color-on-surface) 8%, transparent);
}

.mp-status {
  font-size: 12px;
  color: var(--hint);
  margin-bottom: var(--space-sm);
}

.mp-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-snug);
}

/* Meeting-specific bits inside the uxAccentCard body. */
.mp-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: var(--space-base);
  vertical-align: middle;
  color: var(--hint);
}

.mp-card-time {
  font-size: 13px;
  color: var(--hint);
  margin-top: var(--space-hairline);
}

.mp-card-location {
  font-size: 12px;
  color: var(--hint);
  margin-top: var(--space-hairline);
}

.mp-summary {
  font-size: 13px;
  color: var(--text);
  line-height: 1.5;
  margin: 8px 0 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.mp-card-actions {
  display: flex;
  gap: var(--space-base);
  justify-content: flex-end;
  margin-top: var(--space-base);
}

.mp-card-btn {
  background: none;
  border: 1px solid color-mix(in srgb, var(--color-on-surface) 12%, transparent);
  color: var(--text);
  padding: 5px 12px;
  border-radius: var(--radius-default);
  font-size: 12px;
  cursor: pointer;
}

.mp-card-btn:active {
  background: color-mix(in srgb, var(--color-on-surface) 6%, transparent);
}

.mp-card-btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.mp-card-btn.primary {
  color: var(--link);
  border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
}

.mp-card-btn.danger {
  color: var(--color-error);
  border-color: color-mix(in srgb, var(--color-error) 30%, transparent);
}

.mp-expand-btn {
  background: none;
  border: none;
  color: var(--link);
  font-size: 12px;
  cursor: pointer;
  padding: 0;
  margin-top: var(--space-xs);
}

/* Bespoke briefing panel (Claude markdown — no primitive equivalent). */
.mp-briefing-panel {
  margin-top: var(--space-base);
  padding: var(--space-sm);
  background: color-mix(in srgb, var(--color-on-surface) 10%, transparent);
  border-radius: var(--radius-default);
  font-size: 13px;
  line-height: 1.6;
  max-height: 400px;
  overflow-y: auto;
  display: none;
}

.mp-briefing-panel.open { display: block; }

.mp-briefing-panel h1 { font-size: 18px; margin: 12px 0 6px; }
.mp-briefing-panel h2 { font-size: 16px; margin: 10px 0 4px; }
.mp-briefing-panel h3 { font-size: 14px; margin: 8px 0 3px; }

.mp-briefing-panel ul,
.mp-briefing-panel ol {
  padding-left: var(--space-wide);
  margin: 4px 0;
}

.mp-briefing-panel li { margin: 2px 0; }

.mp-briefing-panel strong { color: var(--link); }
.mp-briefing-panel a      { color: var(--link); }
.mp-briefing-panel p      { margin: 4px 0; }

.mp-spin {
  animation: mp-spin 0.8s linear infinite;
}

@keyframes mp-spin {
  to { transform: rotate(360deg); }
}

/* ── meeting-domain-redesign Phase 2 sweep (2026-05-03) — close inline-attr gap ──
   These were missed by the original AC-02 sweep (block-only regex);
   AC-03 pass tightens the lock-down. */
.mp-empty[hidden],
.mp-empty.hidden { display: none; }
.mp-card-actions--briefing {
  justify-content: flex-start;
  margin-bottom: var(--space-xs);
  margin-top: var(--space-snug);
}
.mp-card-btn--no-underline {
  text-decoration: none;
}
.mp-error-fallback {
  color: var(--hint);
  text-align: center;
  padding: var(--space-wide);
}
