/* Meeting notetaker: review queue (modal, #/review, record hint) and #/meetings. Uses theme.js tokens only. */
.rv-title { display: flex; align-items: baseline; gap: var(--s3); flex-wrap: wrap; margin-bottom: var(--s4); }
.rv-title h1 { margin: 0; }
.rv-title .grow { flex: 1; }
.rv-dialog { width: min(760px, calc(100vw - 2 * var(--s4))); max-height: 80vh; display: flex; flex-direction: column; }
.rv-modal { padding-top: 8vh; }
.rv-head-r { display: flex; align-items: center; gap: var(--s3); }
.rv-body { overflow-y: auto; padding: var(--s2) 22px var(--s4); flex: 1; }
.rv-foot { align-items: center; flex-wrap: wrap; }
.rv-keys { margin-right: auto; font-size: 12px; }
.rv-group { padding: var(--s3) 0; border-bottom: 1px solid var(--line); }
.rv-group:last-child { border-bottom: 0; }
.rv-ghead { display: flex; align-items: center; gap: var(--s2); font-weight: 600; margin-bottom: var(--s2); font-size: 13.5px; color: var(--text2); }
.rv-rec { cursor: pointer; color: var(--text); font-weight: 600; }
.rv-rec:hover { text-decoration: underline; }
.rv-row { display: flex; gap: var(--s3); align-items: flex-start; padding: 8px 10px; border-radius: var(--r); outline: none; }
.rv-row.cur, .rv-row:focus-visible { background: var(--panel2); }
.rv-row[data-status="approved"], .rv-row[data-status="edited"] { box-shadow: inset 3px 0 0 var(--good, var(--accent)); }
.rv-row[data-status="rejected"] { opacity: .5; }
.rv-row[data-status="rejected"] .rv-new { text-decoration: line-through; }
.rv-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.rv-vals { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13.5px; }
.rv-label { color: var(--text3); min-width: 90px; }
.rv-arrow { color: var(--text3); display: inline-flex; }
.rv-new { font-weight: 600; }
.rv-tag { font-size: 11px; padding: 0 6px; border-radius: var(--pill); background: var(--panel2); color: var(--text3); }
.rv-ev { font-size: 12.5px; color: var(--text2); display: flex; gap: 6px; flex-wrap: wrap; }
.rv-ev span:first-child { font-style: italic; }
.rv-ev a { color: var(--accent); font-variant-numeric: tabular-nums; }
.rv-side { display: flex; align-items: center; gap: var(--s2); flex: none; }
.rv-acts { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.rv-acts .btn.on { border-color: var(--text2); }
.rv-conf { font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: var(--pill); border: 1px solid var(--line2); color: var(--text3); }
.rv-conf.high { color: var(--good, var(--accent)); border-color: currentColor; }
.rv-conf.med { color: var(--warn, var(--text2)); border-color: currentColor; }
.rv-conflict { font-size: 12.5px; color: var(--bad); display: inline-flex; gap: 4px; align-items: center; }
.rv-edit { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.rv-edit .fw, .rv-edit .fv { min-width: 180px; }
.rv-toast-btn { color: var(--accent); font-weight: 600; margin-left: 4px; }
.rv-filters { display: flex; gap: var(--s2); flex-wrap: wrap; margin-bottom: var(--s4); align-items: center; }
.rv-filters .seg { display: inline-flex; border: 1px solid var(--line2); border-radius: var(--r); overflow: hidden; }
.rv-filters .seg button { padding: 5px 12px; font-size: 13px; color: var(--text2); }
.rv-filters .seg button.on { background: var(--panel2); color: var(--text); font-weight: 600; }
.rv-batch { border: 1px solid var(--line); border-radius: var(--r-lg, var(--r)); padding: var(--s2) var(--s4); margin-bottom: var(--s3); background: var(--panel); }
.rv-batch > summary { cursor: pointer; padding: var(--s2) 0; display: flex; align-items: center; gap: 6px; }
.rv-note { margin-left: auto; font-size: 12.5px; color: var(--accent); cursor: pointer; }
.rv-n { font-size: 12px; background: var(--accent); color: var(--accent-ink); border-radius: var(--pill); padding: 0 7px; font-weight: 600; }
.rv-hint { display: flex; align-items: center; gap: 6px; font-size: 13px; padding: 6px 12px; margin: 0 0 var(--s3); border-radius: var(--r); background: var(--accent-bg); color: var(--accent); }
.rv-hint a { color: inherit; font-weight: 600; }
/* #/meetings */
.mt-h { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--text3); margin: var(--s5, 24px) 0 var(--s2); }
.mt-list, .mt-cals { display: flex; flex-direction: column; gap: 2px; }
.mt-row, .mt-cal { display: flex; gap: var(--s3); align-items: center; padding: 10px 12px; border-radius: var(--r); color: inherit; }
a.mt-row:hover, .mt-row:hover { background: var(--panel2); }
.mt-row.live { box-shadow: inset 3px 0 0 var(--accent); }
.mt-cal.bad .muted { color: var(--bad); }
.mt-cal .grow { flex: 1; }
.mt-when { width: 92px; flex: none; display: flex; flex-direction: column; font-size: 13px; }
.mt-what { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.mt-chips { display: flex; gap: 4px; flex-wrap: wrap; }
.chip.sm { padding: 1px 8px; font-size: 12px; cursor: pointer; }
.mt-status { font-size: 12px; color: var(--text3); }
.mt-status.recording { color: var(--bad); font-weight: 600; }
.mt-status.failed { color: var(--bad); }
.mt-connect { display: flex; gap: var(--s2); flex-wrap: wrap; align-items: center; padding: var(--s2) 12px; }
.mt-setup { margin: var(--s3) 0; font-size: 13px; color: var(--text2); }
.mt-setup ul { margin: var(--s2) 0; padding-left: var(--s5, 24px); }
.mt-banner { padding: 8px 12px; border-radius: var(--r); background: var(--panel2); font-size: 13px; margin: var(--s2) 0; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.mt-banner.bad { color: var(--bad); }
.mt-rec { color: var(--bad); font-weight: 700; font-size: 12px; letter-spacing: .06em; }
.mt-meter { display: inline-block; height: 6px; width: 2px; background: var(--accent); border-radius: 3px; vertical-align: middle; transition: width .1s; }
.mt-live { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); margin-top: var(--s3); }
@media (max-width: 760px) { .mt-live { grid-template-columns: 1fr; } .mt-when { width: 70px; } .rv-row { flex-direction: column; } .rv-side { align-self: flex-end; } }
.mt-pane { min-height: 50vh; display: flex; flex-direction: column; }
.mt-notes { flex: 1; min-height: 50vh; resize: vertical; font: inherit; line-height: 1.55; }
.mt-transcript { flex: 1; overflow-y: auto; max-height: 60vh; display: flex; flex-direction: column; gap: 6px; }
.mt-line { max-width: 85%; padding: 6px 10px; border-radius: 12px; font-size: 13.5px; background: var(--panel2); align-self: flex-start; }
.mt-line.me { align-self: flex-end; background: var(--accent-bg); }
.mt-line.interim { opacity: .55; }
.mt-line.interim:empty { display: none; }
.mt-desktop { font-size: 13px; }
.mt-h-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); }
.mt-h-row .mt-h { margin: 0; }
.mt-row .mt-del { opacity: .45; }
.mt-row:hover .mt-del { opacity: 1; }
.cr { display: flex; flex-direction: column; gap: var(--s4); margin-top: var(--s3); }
.cr-head { display: flex; align-items: baseline; gap: var(--s2); flex-wrap: wrap; }
.cr-head h2 { margin: 0 var(--s2) 0 0; }
.cr-head a { cursor: pointer; color: var(--accent); }
.cr-sec { border: 1px solid var(--line); border-radius: var(--r-lg, var(--r)); padding: var(--s3) var(--s4); background: var(--panel); display: flex; flex-direction: column; gap: var(--s2); }
.cr-sec h3 { margin: 0; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--text3); }
.cr-part ul { margin: 4px 0 0; padding-left: var(--s5, 22px); }
.cr-part li { margin: 2px 0; line-height: 1.5; }
.cr-label { font-size: 12.5px; color: var(--text3); font-weight: 600; }
.cr-item { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; padding: 4px 0; }
.cr-item input { flex: none; }
.cr-item .rv-ev { flex-basis: 100%; padding-left: 24px; }
.cr-due { margin-left: auto; font-size: 12.5px; }
.cr-foot { display: flex; gap: var(--s2); flex-wrap: wrap; }

/* ---------- one meeting: recording → writing notes → review ---------- */
.mt-one .mt-head { align-items: flex-start; }
.mt-head-l { display: flex; flex-direction: column; gap: var(--s2); min-width: 0; }
.mt-head-l h1 { margin: 0; }
.mt-sub { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.mt-actions { display: flex; align-items: center; gap: var(--s2); }
.mt-cols { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--s6); align-items: start; }
@media (max-width: 960px) { .mt-cols { grid-template-columns: 1fr; } }
.mt-main, .mt-side { display: flex; flex-direction: column; gap: var(--s4); min-width: 0; }
.mt-card { margin: 0; background: var(--panel); }
.mt-card .card-sec-h { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--text3); font-weight: 600; }
.mt-card-t { text-transform: none; letter-spacing: 0; font-size: 13.5px; color: var(--text); }
.mt-card-t a { cursor: pointer; font-weight: 600; }
.mt-notes-ed, .mt-note-ed { min-height: 240px; }
.mt-note-ed { min-height: 0; }

.mt-pill { display: inline-flex; align-items: center; gap: var(--s1); height: 24px; padding: 0 var(--s2); border-radius: var(--pill); font-size: 12.5px; font-weight: 600; background: var(--panel2); color: var(--text2); }
.mt-pill .dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.mt-pill.recording { color: var(--bad); }
.mt-pill.recording .dot { animation: mt-pulse 1.2s ease-in-out infinite; }
.mt-pill.starting .dot { animation: mt-pulse .6s ease-in-out infinite; }
.mt-pill.processing { color: var(--accent); }
.mt-pill.processing .dot { animation: mt-pulse .9s ease-in-out infinite; }
.mt-pill.ready { color: var(--accent); background: var(--accent-bg); }
.mt-pill.failed { color: var(--bad); }
@keyframes mt-pulse { 50% { opacity: .25; } }
.mt-timer { font-variant-numeric: tabular-nums; font-size: 13px; color: var(--text2); }
.mt-meters { display: inline-flex; gap: 3px; align-items: center; height: 16px; }
.mt-meter { --lv: 0; display: block; width: 4px; height: 16px; border-radius: 2px; background: linear-gradient(to top, var(--accent) calc(var(--lv) * 100%), var(--line) 0); transition: background .08s; }
.mt-stop { gap: var(--s2); }
.mt-stop-sq { width: 10px; height: 10px; border-radius: 2px; background: currentColor; }

.mt-note { display: flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s3); border-radius: var(--r); background: var(--panel2); font-size: 13px; color: var(--text2); }
.mt-note .icon-btn { margin-left: auto; }
.mt-note.warn, .mt-note.bad { color: var(--bad); }
.mt-one .mt-transcript { max-height: 56vh; min-height: 120px; }
.mt-empty { font-size: 13px; }
.mt-hint { font-size: 12.5px; }

.mt-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s3); }
.mt-steps li { display: flex; align-items: center; gap: var(--s2); font-size: 13.5px; color: var(--text3); }
.mt-steps li.done { color: var(--text2); }
.mt-steps li.now { color: var(--text); font-weight: 600; }
.mt-step-ic { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--line2); display: inline-grid; place-items: center; flex: none; }
.mt-steps li.done .mt-step-ic { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.mt-steps li.now .mt-step-ic { border-color: var(--accent); border-top-color: transparent; animation: mt-spin .8s linear infinite; }
@keyframes mt-spin { to { transform: rotate(360deg); } }

.mt-sug { display: flex; flex-direction: column; gap: var(--s2); padding-bottom: var(--s3); border-bottom: 1px solid var(--line); }
.mt-sug:last-child { border-bottom: 0; padding-bottom: 0; }
.mt-sug-h { display: flex; align-items: center; gap: var(--s2); font-size: 13.5px; min-width: 0; }
.mt-sug-rec { font-weight: 600; cursor: pointer; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-sug-v { display: flex; align-items: center; gap: var(--s2); padding-left: 24px; flex-wrap: wrap; }
.mt-sug-v .fw, .mt-sug-v .fv { flex: 1; min-width: 140px; }
.mt-was { font-size: 13px; color: var(--text3); }
.mt-ev { padding-left: 24px; font-size: 12.5px; color: var(--text3); font-style: italic; }
.mt-task { display: flex; align-items: center; gap: var(--s2); }
.mt-task-t { flex: 1; min-width: 0; font-size: 13.5px; }
.mt-date { width: 140px; height: var(--h-sm); }

/* ---------- hold-to-talk assistant ---------- */
.as-fab { position: fixed; right: var(--s6); bottom: var(--s6); z-index: 60; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: var(--accent-ink); box-shadow: var(--shadow); touch-action: none; user-select: none; transition: transform .12s, box-shadow .12s; }
.as-fab:hover { transform: scale(1.05); }
.as-fab.on { transform: scale(1.12); background: var(--bad); animation: as-ring 1.2s ease-out infinite; }
@keyframes as-ring { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--bad) 45%, transparent); } 100% { box-shadow: 0 0 0 18px transparent; } }
.as-panel { position: fixed; right: var(--s6); bottom: calc(var(--s6) + 64px); z-index: 61; width: min(440px, calc(100vw - 2 * var(--s4))); max-height: min(70vh, 640px); overflow-y: auto; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: var(--s4); display: flex; flex-direction: column; gap: var(--s3); animation: fade .15s; }
@media (max-width: 600px) { .as-fab { right: var(--s4); bottom: var(--s4); } .as-panel { right: var(--s4); bottom: calc(var(--s4) + 64px); } }
.as-head { display: flex; align-items: center; justify-content: space-between; }
.as-listen { display: flex; align-items: center; gap: var(--s3); padding: var(--s2) 0; }
.as-wave { display: inline-flex; gap: 3px; align-items: center; height: 20px; }
.as-wave i { width: 3px; height: 100%; border-radius: 2px; background: var(--bad); animation: as-wave .9s ease-in-out infinite; }
.as-wave i:nth-child(2) { animation-delay: .15s; } .as-wave i:nth-child(3) { animation-delay: .3s; } .as-wave i:nth-child(4) { animation-delay: .45s; }
@keyframes as-wave { 50% { transform: scaleY(.3); } }
.as-busy { display: flex; align-items: center; gap: var(--s2); color: var(--text2); font-size: 13.5px; padding: var(--s2) 0; }
.as-input { width: 100%; resize: vertical; font: inherit; }
.as-err { color: var(--bad); font-size: 13px; }
.as-heard-l { display: flex; align-items: center; gap: var(--s2); font-size: 12.5px; }
.as-heard { flex: 1; height: var(--h-sm); font-size: 13px; }
.as-intent { font-size: 13.5px; color: var(--text2); }
.as-acts { display: flex; flex-direction: column; gap: var(--s3); }
.as-act { border: 1px solid var(--line); border-radius: var(--r); padding: var(--s3); display: flex; flex-direction: column; gap: var(--s2); background: var(--panel); }
.as-act-h { display: flex; align-items: center; gap: var(--s2); min-width: 0; }
.as-kind { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--text3); font-weight: 600; white-space: nowrap; }
.as-tg { max-width: 220px; min-width: 0; }
select.as-tg { height: var(--h-sm); padding: 0 var(--s2); font-size: 13px; line-height: normal; }
.as-act textarea, .as-act .input { width: 100%; font: inherit; }
.as-row { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.as-row > .input { flex: 1; min-width: 140px; }
.as-row .as-date { flex: 0 0 150px; min-width: 0; }
.as-row .fw, .as-row .fv { flex: 1; min-width: 140px; }
.as-flabel { font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: var(--s1); }
.as-was { font-size: 13px; }
.as-foot { display: flex; align-items: center; gap: var(--s2); }

/* ---------- desk mode: the Mac app's compact window (Granola-style) ---------- */
html.desk #nav, html.desk #rightbar { display: none !important; }
html.desk .as-fab { right: var(--s4); bottom: var(--s4); width: 48px; height: 48px; }
html.desk .as-panel { right: var(--s3); left: var(--s3); width: auto; bottom: calc(var(--s4) + 56px); }
html.desk #app, html.desk #app.nav-collapsed { grid-template-columns: 1fr; }
html.desk #main { background: var(--bg); }
.mt-desk { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s3); max-width: 520px; margin: 0 auto; }
.dk-top { display: flex; align-items: center; gap: var(--s2); -webkit-app-region: drag; padding-top: var(--s1); }
.dk-top .icon-btn { -webkit-app-region: no-drag; }
.dk-brand { font: 450 18px/1 var(--serif); letter-spacing: -.02em; font-variation-settings: 'opsz' 36; }
.dk-go { height: var(--h-lg); justify-content: center; gap: var(--s2); font-size: 15px; border-radius: var(--r-lg); }
.dk-go.live { background: var(--bad); }
.dk-dot { width: 10px; height: 10px; border-radius: 50%; background: currentColor; animation: mt-pulse 1.2s ease-in-out infinite; }
.dk-mic { display: inline-grid; place-items: center; }
.dk-h { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--text3); margin: var(--s3) 0 0; font-weight: 600; }
.dk-list { display: flex; flex-direction: column; gap: var(--s1); }
.dk-day { font-size: 12.5px; font-weight: 600; color: var(--text2); margin: var(--s2) 0 var(--s1); }
.dk-ev, .dk-row { display: flex; align-items: center; gap: var(--s3); padding: var(--s2) var(--s3); border-radius: var(--r); color: inherit; min-height: 52px; }
.dk-ev:hover, .dk-row:hover { background: var(--hover, var(--panel2)); }
.dk-ev.live { background: var(--accent-bg); }
.dk-ev-when { width: 64px; flex: none; display: flex; flex-direction: column; font-size: 13px; font-variant-numeric: tabular-nums; }
.dk-now { font-size: 11px; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: .06em; }
.dk-ev-what, .dk-row-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.dk-ev-title, .dk-row-t b { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-ev-sub, .dk-row-t .muted { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-ev .btn { flex: none; }
.dk-empty, .dk-loading { font-size: 13px; color: var(--text3); padding: var(--s2) var(--s3); }
/* the meeting flow inside the compact window: one column, tighter */
html.desk .mt-one { padding: var(--s4); }
html.desk .mt-one .mt-head { flex-wrap: wrap; gap: var(--s2); margin-bottom: var(--s4); }
html.desk .mt-one .mt-head h1 { font-size: 20px; }
html.desk .mt-cols { grid-template-columns: 1fr; gap: var(--s4); }
html.desk .dk-back { align-self: center; }
html.desk .mt-one .mt-transcript { max-height: 40vh; }
html.desk .mt-review .mt-side { order: -1; } /* compact review: suggestions and tasks before the long note */
html.desk .mt-one .mt-head { position: sticky; top: 0; z-index: 5; background: var(--bg); margin: calc(-1 * var(--s4)) calc(-1 * var(--s4)) var(--s4); padding: var(--s3) var(--s4); border-bottom: 1px solid var(--line); }

/* ---------- recording bar (one meeting, while recording) ---------- */
.mt-recbar { position: sticky; top: 0; z-index: 6; display: flex; align-items: center; gap: var(--s3); padding: var(--s2) var(--s2) var(--s2) var(--s4); margin-bottom: var(--s4); border-radius: var(--r-lg); background: var(--panel); border: 1px solid var(--line); box-shadow: var(--shadow); min-height: calc(var(--h-lg) + var(--s2)); }
.mt-recbar .grow { flex: 1; }
.mt-recdot { width: 10px; height: 10px; border-radius: 50%; background: var(--bad); flex: none; animation: mt-pulse 1.2s ease-in-out infinite; }
.mt-recbar.starting .mt-recdot { background: var(--text3); animation-duration: .6s; }
.mt-rec-l { font-size: 13.5px; }
.mt-recbar .mt-timer { font-size: 15px; font-weight: 600; color: var(--text); min-width: 44px; }
.mt-recbar .mt-meters { gap: var(--s3); height: auto; }
.mt-lv { display: inline-flex; align-items: center; gap: var(--s1); }
.mt-lv small { font-size: 11px; color: var(--text3); }
.mt-recbar .mt-meter { width: 44px; height: 6px; border-radius: var(--pill); background: linear-gradient(to right, var(--accent) calc(var(--lv) * 100%), var(--line) 0); }
.mt-recbar .mt-stop { height: var(--h-lg); padding: 0 var(--s5); border-radius: var(--pill); background: var(--bad); border-color: var(--bad); color: var(--accent-ink); font-weight: 600; }
.mt-recbar .mt-stop:hover { filter: brightness(1.08); }
@media (max-width: 520px) { .mt-lv small { display: none; } .mt-recbar .mt-meter { width: 28px; } }

/* ---------- ask your meetings ---------- */
.mt-ask { margin: var(--s2) 0 var(--s4); }
.ak { display: flex; flex-direction: column; gap: var(--s3); }
.ak-bar { display: flex; align-items: flex-end; gap: var(--s2); padding: var(--s2) var(--s2) var(--s2) var(--s4); border: 1px solid var(--line2); border-radius: var(--r-lg); background: var(--panel); transition: border-color .12s, box-shadow .12s; }
.ak-bar:focus-within { border-color: var(--accent); box-shadow: var(--focus-ring); }
.ak-ic { display: inline-grid; place-items: center; color: var(--accent); height: var(--h-md); flex: none; }
textarea.input.ak-input { flex: 1; width: auto; min-width: 0; border: 0; border-radius: 0; background: transparent; resize: none; font: 14.5px/1.5 var(--font, inherit); padding: 7px 0; min-height: var(--h-md); height: var(--h-md); box-shadow: none; outline: none; }
textarea.input.ak-input:focus { box-shadow: none; outline: none; }
.ak-send { width: var(--h-md); height: var(--h-md); padding: 0; justify-content: center; border-radius: 50%; flex: none; }
.ak-starters { display: flex; gap: var(--s2); flex-wrap: wrap; }
.ak-starter { height: var(--h-sm); display: inline-flex; align-items: center; color: var(--text2); background: var(--panel); border: 1px solid var(--line); border-radius: var(--pill); }
.ak-starter:hover { color: var(--accent); border-color: var(--accent); }
.ak-answers { display: flex; flex-direction: column; gap: var(--s3); }
.ak-card { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel); padding: var(--s4); display: flex; flex-direction: column; gap: var(--s3); animation: fade .15s; }
.ak-q { font-weight: 600; font-size: 14.5px; }
.ak-text { font-size: 14.5px; line-height: 1.65; color: var(--text); }
.ak-text p { margin: 0 0 var(--s2); }
.ak-text p:last-child { margin-bottom: 0; }
.ak-text ul { margin: 0 0 var(--s2); padding-left: var(--s5); }
.ak-cite { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; margin: 0 1px; border-radius: var(--pill); background: var(--accent-bg); color: var(--accent); font-size: 11px; font-weight: 700; vertical-align: 2px; text-decoration: none; cursor: pointer; }
.ak-cite:hover { background: var(--accent); color: var(--accent-ink); }
.ak-typing { display: inline-flex; gap: 4px; padding: var(--s1) 0; }
.ak-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--text3); animation: mt-pulse 1s ease-in-out infinite; }
.ak-typing i:nth-child(2) { animation-delay: .15s; } .ak-typing i:nth-child(3) { animation-delay: .3s; }
.ak-err { color: var(--bad); font-size: 13.5px; }
.ak-srcs { display: flex; flex-direction: column; gap: var(--s1); border-top: 1px solid var(--line); padding-top: var(--s3); }
.ak-srcs-h { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--text3); font-weight: 600; margin-bottom: var(--s1); }
.ak-src { display: flex; gap: var(--s2); align-items: flex-start; padding: var(--s2); border-radius: var(--r); color: inherit; text-decoration: none; }
.ak-src:hover, .ak-src.hl { background: var(--hover, var(--panel2)); }
.ak-src-n { flex: none; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--panel2); color: var(--text2); font-size: 11px; font-weight: 700; }
.ak-src.hl .ak-src-n { background: var(--accent); color: var(--accent-ink); }
.ak-src-b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ak-src-t { display: flex; gap: var(--s2); align-items: baseline; min-width: 0; font-size: 13px; }
.ak-src-t b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ak-src-t .muted { flex: none; font-size: 12px; }
.ak-src-s { font-size: 12.5px; color: var(--text3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ak-foot { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; font-size: 13px; }
.ak-foot .btn { gap: var(--s1); }
.ak-saved { color: var(--accent); display: inline-grid; place-items: center; }
.ak-saved-l { font-weight: 600; color: var(--accent); }
.ak-picker { flex: 1; display: flex; flex-direction: column; gap: var(--s2); border: 1px solid var(--line); border-radius: var(--r); padding: var(--s3); background: var(--bg); }
.ak-picks { display: flex; flex-direction: column; gap: var(--s1); max-height: 220px; overflow-y: auto; }
.ak-pick { display: flex; align-items: center; gap: var(--s2); padding: var(--s1) var(--s2); border-radius: var(--r); cursor: pointer; }
.ak-pick:hover { background: var(--hover, var(--panel2)); }
.ak-pick-t { display: inline-flex; align-items: center; gap: var(--s1); font-size: 13.5px; min-width: 0; }
.ak-pick-foot { display: flex; align-items: center; gap: var(--s2); }
.ak-pick-foot .grow { flex: 1; }
.ak-hint { margin: 0 0 var(--s3); }
.ak-hint-b { display: inline-flex; align-items: center; gap: var(--s2); height: var(--h-md); padding: 0 var(--s4); border-radius: var(--pill); border: 1px solid var(--line2); background: var(--panel); font-size: 13.5px; color: var(--text); font-weight: 600; }
.ak-hint-b .muted { font-weight: 400; }
.ak-hint-b:hover { border-color: var(--accent); color: var(--accent); }
.ak-hint.open { padding: var(--s4); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel2); }
.rv-hints { display: contents; }
.ak.compact .ak-card { padding: var(--s3); }
.ak.compact .ak-text, .ak.compact .ak-q { font-size: 13.5px; }

/* ---------- desk polish ---------- */
html.desk .mt-desk { padding: var(--s4) var(--s5) var(--s8); gap: var(--s4); }
html.desk .dk-go { box-shadow: var(--shadow); font-weight: 600; }
html.desk .dk-go:active { transform: translateY(1px); }
html.desk .dk-h { margin: var(--s2) 0 calc(-1 * var(--s2)); }
html.desk .dk-ev, html.desk .dk-row { border: 1px solid transparent; }
html.desk .dk-ev.live { border-color: color-mix(in srgb, var(--accent) 35%, transparent); }
html.desk .dk-ev .btn, html.desk .dk-row .mt-status { height: var(--h-sm); display: inline-flex; align-items: center; }
html.desk .dk-empty { border: 1px dashed var(--line2); border-radius: var(--r); padding: var(--s4); text-align: center; }
html.desk .mt-recbar { top: 58px; margin: 0 0 var(--s4); padding-left: var(--s3); gap: var(--s2); }
html.desk .mt-recbar .mt-stop { padding: 0 var(--s4); }
html.desk .mt-recbar .mt-rec-l { display: none; }
html.desk .mt-card .card-sec-b { padding: var(--s3) var(--s4); }
.ak.compact .ak-src-t { flex-direction: column; gap: 0; }
.ak.compact .ak-src-t b { max-width: 100%; }

/* talk-to-CRM v2: live text, one-line actions, inline editors */
.as-live { font-size: 14px; line-height: 1.5; min-height: 42px; }
.as-act { padding: 0; gap: 0; }
.as-act-h { display: flex; align-items: flex-start; gap: var(--s2); padding: var(--s2) var(--s3); cursor: pointer; }
.as-act-h .icon-btn { margin-left: auto; flex: none; }
.as-ic { width: 22px; height: 22px; border-radius: 6px; display: inline-grid; place-items: center; background: var(--accent-bg); color: var(--accent); flex: none; margin-top: 1px; }
.as-sum { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 13.5px; line-height: 1.45; min-width: 0; }
.as-sum b { display: inline-flex; align-items: center; gap: 4px; }
.as-chip { font-size: 12px; padding: 1px 8px; border-radius: var(--pill); background: var(--panel2); color: var(--text2); white-space: nowrap; }
.as-chip.bad { color: var(--bad); }
.as-quote { color: var(--text2); font-style: italic; flex-basis: 100%; }
.as-edit { display: flex; flex-direction: column; gap: var(--s2); padding: 0 var(--s3) var(--s3) calc(var(--s3) + 30px); }
.as-edit .as-row > select { flex: 1; min-width: 0; height: var(--h-sm); font-size: 13px; }
.as-edit .as-flabel { width: 74px; flex: none; font-weight: 500; color: var(--text3); font-size: 12.5px; }
.as-time { flex: 0 0 110px; }
.as-dup { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 0 var(--s3) var(--s2) calc(var(--s3) + 30px); font-size: 12.5px; }
.as-auto { display: inline-flex; align-items: center; gap: var(--s2); font-size: 12.5px; }
.as-toast-msg { max-width: 60vw; }

/* ---------- #/meetings home (web) ---------- */
.mt-home { padding-bottom: 140px; }
.mh-n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--pill); background: var(--accent); color: var(--accent-ink); font-size: 11.5px; font-weight: 700; display: inline-grid; place-items: center; }
.mh-list { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel); overflow: hidden; }
.mh-list:has(> .ws-empty), .mh-list:has(> .mh-none) { border: 0; background: none; }
.mh-day { padding: var(--s3) var(--s4) var(--s1); font-size: 12px; font-weight: 600; color: var(--text3); background: var(--panel); }
.mh-day:not(:first-child) { border-top: 1px solid var(--line); }
.mh-row { display: flex; align-items: center; gap: var(--s4); padding: var(--s3) var(--s4); min-height: 60px; color: inherit; }
.mh-row + .mh-row { border-top: 1px solid var(--line); }
a.mh-row:hover { background: var(--hover); }
.mh-row.live { background: var(--accent-bg); }
.mh-time { width: 72px; flex: none; display: flex; flex-direction: column; font-size: 13px; font-variant-numeric: tabular-nums; line-height: 1.35; }
.mh-time .muted { font-size: 12px; }
.mh-now { font-size: 11px; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: .06em; }
.mh-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--s1); }
.mh-title { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mh-sub { display: flex; align-items: center; gap: var(--s1); flex-wrap: wrap; font-size: 12.5px; color: var(--text3); }
.mh-tag { font-size: 11.5px; padding: 1px 8px; border-radius: var(--pill); background: var(--panel2); color: var(--text2); }
.mh-person { font-size: 12.5px; color: var(--text2); }
.mh-person:not(:last-child)::after { content: ','; }
.mh-badge { flex: none; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: var(--pill); background: var(--panel2); color: var(--text3); }
.mh-badge.accent { background: var(--accent-bg); color: var(--accent); }
.mh-badge.recording { color: var(--bad); }
.mh-badge.processing { color: var(--accent); }
.mh-badge.failed { color: var(--bad); }
.mh-del { opacity: 0; flex: none; }
.mh-row:hover .mh-del { opacity: .7; }
.mh-search { width: 220px; height: var(--h-sm); font-size: 13px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.mh-none { padding: var(--s3) 0; font-size: 13px; }
.mh-skel { height: 60px; background: linear-gradient(90deg, var(--panel) 0, var(--panel2) 50%, var(--panel) 100%); background-size: 200% 100%; animation: mh-sk 1.2s infinite linear; }
.mh-skel + .mh-skel { border-top: 1px solid var(--line); }
@keyframes mh-sk { to { background-position: -200% 0; } }
.mh-drawer { width: min(760px, 100vw); }
.mh-drawer .drawer-head { display: flex; align-items: center; gap: var(--s2); }
.mh-drawer .drawer-head .grow { flex: 1; }
.mh-drawer-b { padding: var(--s4); overflow-y: auto; flex: 1; }
.rv-view.embedded .rv-filters { margin-top: 0; }
@media (max-width: 640px) { .mh-row { gap: var(--s3); } .mh-time { width: 56px; } .mh-search { width: 140px; } }

/* ---------- Ask dock ---------- */
.akd { position: fixed; bottom: var(--s5); left: 50%; transform: translateX(-50%); z-index: 55; width: min(640px, calc(100vw - 2 * var(--s4))); display: flex; flex-direction: column; gap: var(--s2); }
.akd .akd-bar { box-shadow: var(--shadow); border-color: var(--line2); background: var(--panel); }
.akd.open .akd-bar { border-color: var(--accent); }
.akd-panel { display: flex; flex-direction: column; max-height: min(62vh, 620px); background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); overflow: hidden; animation: akd-up .16s ease-out; }
@keyframes akd-up { from { opacity: 0; transform: translateY(8px); } }
.akd-head { display: flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s2) var(--s2) var(--s4); border-bottom: 1px solid var(--line); font-size: 13.5px; }
.akd-head .grow { flex: 1; }
.akd-head .ak-ic { height: auto; }
.akd-scope { font-size: 12px; color: var(--text3); padding: 1px 8px; border-radius: var(--pill); background: var(--panel2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 240px; }
.akd-log { overflow-y: auto; padding: var(--s4); display: flex; flex-direction: column; gap: var(--s4); scroll-behavior: smooth; }
.akd-log .ak-card { border: 0; padding: 0; background: none; animation: none; }
.akd-log .ak-card + .ak-card { border-top: 1px solid var(--line); padding-top: var(--s4); }
.akd-log .ak-q { align-self: flex-end; max-width: 85%; background: var(--accent-bg); color: var(--text); padding: var(--s2) var(--s3); border-radius: 14px 14px 4px 14px; font-weight: 500; font-size: 14px; }
.akd-intro { display: flex; flex-direction: column; gap: var(--s3); font-size: 13.5px; }
html.desk .akd { bottom: var(--s3); width: calc(100vw - 2 * var(--s4)); }
html.desk .akd-panel { max-height: 70vh; }
html.desk .mt-desk { padding-bottom: 120px !important; }
/* the hold-to-talk button sits bottom right; keep the dock clear of it on narrow screens */
@media (max-width: 900px) { .akd { left: calc(50% - 30px) !important; width: calc(100vw - 2 * var(--s4) - 64px); } }

/* ---------- one meeting (web): page frame + columns that collapse with the content width ---------- */
.mt-one { container-type: inline-size; padding-bottom: 140px; }
.mt-one .mt-head { display: flex; align-items: flex-start; gap: var(--s3); margin: 0; }
.mt-one .mt-head h1 { font: 700 26px var(--font-display); letter-spacing: -.02em; line-height: 1.2; }
.mt-one .mt-actions { flex-wrap: wrap; justify-content: flex-end; }
.mt-one .mt-cols { grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); gap: var(--s5); }
@container (max-width: 860px) { .mt-one .mt-cols { grid-template-columns: minmax(0, 1fr); } .mt-one .mt-review .mt-side { order: -1; } }
.mt-one .mt-card .card-sec-b { padding: var(--s4); }
/* tasks in the side column: text on its own line, date and remove below it */
.mt-task { flex-wrap: wrap; align-items: flex-start; padding: var(--s2) 0; row-gap: var(--s1); }
.mt-task + .mt-task { border-top: 1px solid var(--line); }
.mt-task > :first-child { margin-top: 2px; }
.mt-task-t { flex: 1 1 calc(100% - 32px); line-height: 1.45; overflow-wrap: anywhere; }
.mt-task .mt-date { margin-left: 28px; flex: 0 0 150px; }
.mt-task .icon-btn { margin-left: auto; }

/* ---------- desk: one meeting (quick note, recording, review) ---------- */
html.desk .mt-one { padding: 0 var(--s4) 120px; gap: var(--s3); max-width: none; }
html.desk .mt-one .mt-head { position: static; margin: 0 calc(-1 * var(--s4)); padding: var(--s3) var(--s4) var(--s2); border-bottom: 0; display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "back sub del" "title title title" "act act act"; align-items: center; gap: var(--s2) var(--s2); background: var(--bg); }
html.desk .mt-one .dk-back { grid-area: back; }
html.desk .mt-one .mt-head-l { display: contents; }
html.desk .mt-one .mt-head-l h1 { grid-area: title; font-size: 19px; line-height: 1.25; margin: 0; }
html.desk .mt-one .mt-sub { grid-area: sub; flex-wrap: nowrap; overflow: hidden; min-width: 0; }
html.desk .mt-one .mt-sub .chip { display: none; }
html.desk .mt-one .mt-head > .grow { display: none; }
html.desk .mt-one .mt-actions { display: contents; }
html.desk .mt-one .mt-actions > .icon-btn { grid-area: del; }
html.desk .mt-one .mt-actions > .btn { grid-area: act; width: 100%; justify-content: center; height: var(--h-md); }
html.desk .mt-one .mt-actions > .btn:not(.primary) { display: none; }
html.desk .mt-one .mt-recbar { position: sticky; top: var(--s2); margin: 0; padding: var(--s1) var(--s1) var(--s1) var(--s3); min-height: 0; border-radius: var(--pill); gap: var(--s2); }
html.desk .mt-one .mt-recbar .mt-stop { height: var(--h-md); padding: 0 var(--s4); }
html.desk .mt-one .mt-recbar .mt-rec-l { display: none; }
html.desk .mt-one .mt-cols { gap: var(--s3); }
html.desk .mt-one .mt-main, html.desk .mt-one .mt-side { gap: var(--s3); }
html.desk .mt-one .mt-card { border-radius: var(--r-lg); }
html.desk .mt-one .mt-card .card-sec-h { padding: var(--s2) var(--s3); font-size: 11px; background: none; border-bottom: 1px solid var(--line); }
html.desk .mt-one .mt-card .card-sec-b { padding: var(--s3); }
html.desk .mt-one .mt-notes-ed { min-height: 200px; }
html.desk .mt-one .mt-note { font-size: 12.5px; padding: var(--s2) var(--s3); }
html.desk .mt-one .mt-transcript { max-height: 32vh; }
html.desk .mt-one .mt-line { font-size: 13px; }
html.desk .mt-one .mt-sug-v, html.desk .mt-one .mt-ev { padding-left: 0; }
html.desk .mt-one .mt-task .mt-date { margin-left: 28px; flex: 1 1 120px; max-width: 170px; }
.mt-newrec { display: flex; flex-direction: column; gap: var(--s1); flex: 1; min-width: 0; }
.mt-newname { max-width: 280px; }
.mt-flag { display: flex; align-items: center; gap: var(--s1); font-size: 12.5px; color: var(--warn, var(--bad)); }
.mt-missing { font-size: 12.5px; color: var(--text3); }
.rv-tag.warn { color: var(--warn, var(--bad)); }
@media (max-width: 640px) { .mh-row { flex-wrap: wrap; row-gap: var(--s1); } .mh-row .mh-main { flex-basis: calc(100% - 90px); } .mh-row .mh-title { white-space: normal; } .mh-row .mh-badge { margin-left: calc(56px + var(--s3)); } }

/* ---------- Mac app: no talk button; the Ask bar sits flush at the bottom ---------- */
html.desk .as-fab, html.desk .as-panel { display: none !important; }
html.desk .akd { left: 50% !important; bottom: 0; width: 100vw; transform: translateX(-50%); padding: var(--s2) var(--s3) var(--s3); background: linear-gradient(to top, var(--bg) 70%, transparent); gap: var(--s2); }
html.desk .akd .akd-bar { box-shadow: 0 2px 10px rgba(0, 0, 0, .08); border-radius: var(--r-lg); padding-left: var(--s3); }
html.desk .akd-panel { max-height: 64vh; }
html.desk .mt-desk, html.desk .mt-one { padding-bottom: 96px !important; }

/* ---------- assistant: values that aren't options yet, and finding people ---------- */
.as-missing { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2); padding: 0 var(--s3) var(--s2) calc(var(--s3) + 30px); font-size: 12.5px; color: var(--text2); }
.as-missing > span:first-child { color: var(--warn, var(--bad)); display: inline-grid; }
.as-missing select { width: auto; max-width: 180px; }
.as-find { display: flex; flex-direction: column; gap: var(--s2); padding: 0 var(--s3) var(--s3) calc(var(--s3) + 30px); }
.as-find > .btn { align-self: flex-start; }
.as-find .muted { font-size: 12.5px; }
.as-person { display: flex; align-items: flex-start; gap: var(--s3); padding: var(--s2) var(--s3); border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); }
.as-person-m { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.as-person-m b { font-size: 13.5px; }
.as-person-c { font-size: 12.5px; color: var(--text); }
.as-person-l { display: flex; gap: var(--s3); font-size: 12px; }
.as-person-l a { color: var(--accent); }
.as-person-a { display: flex; flex-direction: column; gap: var(--s1); flex: none; align-items: stretch; }
.as-find-foot { font-size: 11.5px; }

/* ---------- Start recording (desk): flat, solid, clear states ---------- */
.btn.primary.dk-go, html.desk .btn.primary.dk-go {
  height: 52px; border-radius: var(--r-lg); border: 0; gap: var(--s2);
  background: var(--accent); color: var(--accent-ink);
  font-size: 15px; font-weight: 600; letter-spacing: -.01em;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--accent) 30%, transparent);
  transition: background .15s ease, box-shadow .15s ease, transform .08s ease;
}
.btn.primary.dk-go:hover { background: var(--accent2); box-shadow: 0 4px 14px -6px var(--glow); transform: none; }
.btn.primary.dk-go:active { transform: scale(.985); box-shadow: none; }
.btn.primary.dk-go:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.btn.primary.dk-go .dk-mic { width: 26px; height: 26px; border-radius: 50%; background: color-mix(in srgb, var(--accent-ink) 18%, transparent); }
/* recording: the same shape in red, a live dot with a soft ring */
.btn.primary.dk-go.live { background: var(--bad); color: var(--accent-ink); box-shadow: 0 1px 2px color-mix(in srgb, var(--bad) 35%, transparent); }
.btn.primary.dk-go.live:hover { background: color-mix(in srgb, var(--bad) 88%, var(--text)); }
.btn.primary.dk-go.live .dk-dot { width: 10px; height: 10px; background: var(--accent-ink); animation: dk-ring 1.4s ease-out infinite; }
@keyframes dk-ring { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent-ink) 70%, transparent); } 100% { box-shadow: 0 0 0 9px transparent; } }

/* ---------- who a name meant: "Did you mean…?" and fixing a linked person ---------- */
.mt-who { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.mt-who-o { display: flex; align-items: flex-start; gap: var(--s2); padding: var(--s2); border: 1px solid var(--line); border-radius: var(--r); background: var(--panel); text-align: left; transition: border-color .12s, background .12s; }
.mt-who-o:hover { border-color: var(--line2); }
.mt-who-o.on { border-color: var(--accent); background: var(--accent-bg); }
.mt-who-r { width: 18px; flex: none; display: inline-grid; place-items: center; color: var(--accent); margin-top: 1px; }
.mt-who-m { display: flex; flex-direction: column; gap: 1px; min-width: 0; font-size: 13px; }
.mt-who-m .muted { font-size: 12px; }
.mt-recchip { display: inline-flex; align-items: center; gap: 0; border-radius: var(--pill); }
.mt-recchip .mt-fix { width: 22px; height: 22px; margin-left: -2px; opacity: .55; }
.mt-recchip:hover .mt-fix { opacity: 1; }
.mt-recchip.auto .chip { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent); }
