.meeting-review { --review-blue:#0080f9; --review-line:#e2eaf3; --review-muted:#65758b; color:var(--meet-ink); max-width:1480px; margin-inline:auto; }
.meeting-review [hidden] { display:none !important; }
.review-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:.85rem; margin:.25rem 0 1.5rem; font-size:.82rem; color:var(--review-muted); }
.review-breadcrumb a { display:inline-flex; align-items:center; gap:.5rem; color:inherit; text-decoration:none; }
.review-breadcrumb a:hover { color:var(--review-blue); }
.review-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; margin-bottom:1.7rem; }
.review-heading > div { min-width:0; }
.review-kicker { display:inline-block; color:var(--review-blue); font-size:.8rem; font-weight:700; margin-bottom:.5rem; }
.review-heading h1 { font-size:clamp(1.4rem,2.3vw,2rem); line-height:1.6; margin:0 0 .5rem; overflow-wrap:anywhere; }
.review-heading p { margin:0 0 1rem; color:var(--review-muted); font-size:.9rem; }
.review-metadata { display:flex; gap:.7rem 1.25rem; align-items:center; flex-wrap:wrap; color:var(--review-muted); font-size:.77rem; }
.review-metadata i { margin-inline-end:.35rem; }
.review-meeting-state { padding:.2rem .65rem; border-radius:6px; background:#e9f3ff; color:#0069cd; font-weight:700; }
.review-back { flex-shrink:0; font-size:.8rem; background:#fff; }
.review-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.6fr); border:1px solid var(--review-line); border-radius:16px; background:#fff; margin-bottom:1.75rem; }
.review-stat { display:flex; align-items:center; gap:.8rem; padding:1.25rem; }
.review-stat:not(:first-child), .review-progress { border-inline-start:1px solid var(--review-line); }
.review-stat-icon { width:2.8rem; height:2.8rem; display:grid; place-items:center; flex:0 0 auto; border-radius:12px; color:#0876dd; background:#eef6ff; }
.review-stat-icon--draft { color:#ae6c13; background:#fff7e7; }
.review-stat-icon--approved { color:#138264; background:#edf9f4; }
.review-stat strong { display:block; font-size:1.35rem; line-height:1.5; }
.review-stat div > span { font-size:.74rem; color:var(--review-muted); }
.review-progress { align-self:center; padding:1.25rem; }
.review-progress > div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.4rem; margin-bottom:.6rem; font-size:.75rem; }
.review-progress span { color:var(--review-muted); }
.review-progress progress { display:block; width:100%; height:6px; border:0; border-radius:20px; overflow:hidden; background:#edf2f8; accent-color:var(--review-blue); }
.review-progress progress::-webkit-progress-bar { background:#edf2f8; }
.review-progress progress::-webkit-progress-value { background:var(--review-blue); border-radius:20px; }
.review-progress progress::-moz-progress-bar { background:var(--review-blue); }
.review-workbench { display:grid; grid-template-columns:225px minmax(0,1fr); gap:1.5rem; align-items:start; }
.review-navigation { min-width:0; position:sticky; top:1rem; }
.review-navigation-inner { border:1px solid var(--review-line); border-radius:16px; background:#fff; padding:.8rem; }
.review-nav-title { color:var(--review-muted); font-size:.75rem; font-weight:700; margin:.3rem .6rem .8rem; }
.review-tabs { display:flex; flex-direction:column; gap:.3rem; }
.review-tab { display:flex; align-items:center; gap:.7rem; min-height:72px; padding:.8rem; border:1px solid transparent; border-radius:10px; text-decoration:none; color:#53647e; transition:background .15s ease,color .15s ease; }
.review-tab > i:first-child { width:1.15rem; text-align:center; }
.review-tab > span { flex:1; min-width:0; }
.review-tab strong, .review-tab small { display:block; }
.review-tab strong { font-size:.85rem; }
.review-tab small { font-size:.68rem; margin-top:.12rem; opacity:.85; }
.review-tab:hover { background:#f5f8fd; color:var(--review-blue); }
.review-tab[aria-selected="true"] { background:#edf5ff; color:#0069cd; border-color:#d8eaff; }
.review-tab .review-tab-state { font-size:.4rem; color:#dc9d33; }
.review-tab .review-tab-state.is-approved { font-size:.8rem; color:#16916e; }
.review-nav-help { display:flex; gap:.65rem; border-top:1px solid var(--review-line); padding:1rem .55rem .2rem; margin-top:.75rem; color:var(--review-muted); }
.review-nav-help > i { margin-top:.3rem; color:#8699af; }
.review-nav-help p { margin:0; font-size:.7rem; line-height:2; }
.review-content { min-width:0; }
.review-surface { background:#fff; border:1px solid var(--review-line); border-radius:18px; overflow:clip; margin-bottom:1.25rem; box-shadow:0 8px 28px rgba(16,33,61,.025); }
.review-document, .review-transcript { min-height:30rem; scroll-margin-top:1rem; }
.review-document-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding:1.5rem 1.75rem; border-bottom:1px solid var(--review-line); }
.review-document-title { display:flex; align-items:center; gap:.8rem; min-width:0; }
.review-document-icon { display:grid; place-items:center; width:2.8rem; height:2.8rem; border:1px solid #dceafd; color:var(--review-blue); border-radius:12px; flex:0 0 auto; }
.review-document-title p { font-size:.7rem; color:var(--review-muted); margin:0; }
.review-document-title h2 { font-size:1.1rem; margin:.15rem 0 0; line-height:1.8; }
.review-document-version { display:flex; gap:.4rem; flex-direction:column; align-items:flex-end; }
.review-document-version small, .review-count { color:var(--review-muted); font-size:.72rem; }
.review-status { display:inline-flex; padding:.2rem .6rem; border-radius:6px; font-size:.68rem; font-weight:700; }
.review-status--draft { color:#9a6312; background:#fff6e5; }
.review-status--approved { color:#127658; background:#eaf8f1; }
.review-read-view, .review-editor { padding:1.5rem 1.75rem; }
.review-reading-label { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.1rem; color:var(--review-muted); font-size:.75rem; }
.review-prose { white-space:pre-wrap; overflow-wrap:anywhere; line-height:2.35; font-size:.95rem; color:#293e59; }
.review-original { border-top:1px solid var(--review-line); margin-top:1.6rem; padding-top:.8rem; }
.review-original summary { font-size:.8rem; color:var(--review-muted); cursor:pointer; padding:.5rem 0; }
.review-original summary span { display:inline-block; padding-inline-start:.5rem; font-size:.7rem; }
.review-original .review-prose { padding-top:.75rem; }
.review-editor-toolbar { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; background:#fff; padding:.75rem 0 1rem; margin-bottom:.7rem; border-bottom:1px solid var(--review-line); }
.review-editor-toolbar strong { color:#315779; font-size:.83rem; }
.review-editor-toolbar > div { display:flex; gap:.5rem; flex-wrap:wrap; }
.review-editor .btn, .review-document-footer .btn { font-size:.8rem; }
.review-editor label { font-size:.8rem; font-weight:700; margin-bottom:.6rem; }
.review-textarea { line-height:2.2; font-size:.92rem; resize:vertical; min-height:13rem; }
.review-edit-hint { font-size:.73rem; color:var(--review-muted); margin:1rem 0 0; }
.review-edit-hint.is-dirty { color:#9a6312; font-weight:700; }
.review-document-footer { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:1rem; padding:1.25rem 1.75rem; background:#fafcfe; border-top:1px solid var(--review-line); }
.review-document-footer strong { font-size:.8rem; }
.review-document-footer p { color:var(--review-muted); font-size:.72rem; margin:.2rem 0 0; }
.review-approval-note { display:flex; align-items:center; gap:.65rem; color:#127658; }
.review-approval-note > i { font-size:1.25rem; }
.review-feedback { padding:.9rem 1.1rem; margin-bottom:1rem; border-radius:10px; background:#edf8f2; color:#14664d; border:1px solid #cce9da; font-size:.85rem; }
.review-feedback.is-error { color:#9e3739; background:#fff1f1; border-color:#f0d1d2; }
.review-empty { text-align:center; padding:2.5rem 2rem; }
.review-empty-icon { display:grid; place-items:center; width:3.8rem; height:3.8rem; border-radius:18px; background:#edf5ff; color:var(--review-blue); margin:0 auto 1rem; font-size:1.5rem; }
.review-empty h2 { font-size:1.2rem; }
.review-empty p { max-width:36rem; color:var(--review-muted); font-size:.85rem; margin:.9rem auto 1.5rem; }
.review-refresh { display:inline-block; color:var(--review-muted); font-size:.8rem; margin-top:1rem; }
.review-transcript-search { padding:1.1rem 1.75rem; border-bottom:1px solid var(--review-line); background:#fbfcfe; }
.review-transcript-search label { display:block; font-size:.75rem; margin-bottom:.5rem; }
.review-transcript-search > div { position:relative; }
.review-transcript-search i { position:absolute; top:50%; inset-inline-start:.9rem; transform:translateY(-50%); color:#8796aa; font-size:.8rem; }
.review-transcript-search input { padding-inline-start:2.5rem; background:#fff; font-size:.85rem; }
.review-transcript-search [role="status"] { display:block; font-size:.7rem; color:var(--review-muted); margin-top:.4rem; }
.review-conversation { padding:.25rem 1.75rem 1.25rem; }
.review-conversation-row { padding:1.3rem 0; border-bottom:1px solid var(--review-line); }
.review-conversation-row:last-child { border:0; }
.review-conversation-meta { display:flex; align-items:center; gap:.7rem; font-size:.7rem; color:var(--review-muted); }
.review-time { display:inline-flex; align-items:center; gap:.35rem; padding:.1rem .4rem; background:#f2f6fb; border-radius:5px; }
.review-conversation-row p { font-size:.92rem; line-height:2.3; margin:.65rem 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-search-empty, .review-transcript-empty { color:var(--review-muted); text-align:center; padding:3rem 1.5rem; font-size:.85rem; }
.review-transcript-empty > i { font-size:1.8rem; color:#9aabc2; margin-bottom:1rem; }
.review-transcript-empty h3 { font-size:1rem; color:#354c6b; }
.review-transcript-empty p { margin-bottom:0; }
.meeting-review :is(a,button,input,textarea):focus-visible { outline:3px solid #7dbdff; outline-offset:3px; }
@media (max-width:1279.98px) {
  .review-workbench { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .review-navigation { position:static; }
  .review-navigation-inner { padding:.55rem; }
  .review-nav-title, .review-nav-help { display:none; }
  .review-tabs { flex-direction:row; overflow-x:auto; padding-bottom:.15rem; }
  .review-tab { flex:1 0 150px; min-height:66px; }
  .review-overview { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .review-progress { grid-column:1 / -1; border-inline-start:0; border-top:1px solid var(--review-line); padding:.9rem 1.25rem; }
}
@media (max-width:767.98px) {
  .review-heading { flex-direction:column; gap:1rem; }
  .review-heading p { font-size:.82rem; }
  .review-back { align-self:flex-start; }
  .review-stat { padding:1rem .75rem; gap:.5rem; flex-direction:column; text-align:center; }
  .review-stat-icon { width:2.3rem; height:2.3rem; }
  .review-stat strong { font-size:1.15rem; }
  .review-stat div > span { font-size:.65rem; }
  .review-document-heading, .review-read-view, .review-editor, .review-transcript-search { padding:1.1rem; }
  .review-conversation { padding-inline:1.1rem; }
  .review-document-footer { padding:1.1rem; align-items:stretch; flex-direction:column; }
  .review-document-footer form, .review-document-footer button { width:100%; }
  .review-editor-toolbar { align-items:stretch; flex-direction:column; }
  .review-editor-toolbar button { flex:1; }
  .review-breadcrumb { margin-bottom:1rem; }
  .review-prose { font-size:.9rem; }
  .review-document-title h2 { font-size:1rem; }
  .review-empty { padding:2rem 1.1rem; }
}
@media (prefers-reduced-motion:reduce) { .review-tab { transition:none; } }
