/* V2 reference direction: an open, editorial briefing with inline actions. */
:root {
  --color-background: #ffffff;
  --color-canvas: #f4f4f3;
  --color-sidebar: #fafafa;
  --color-surface: #ffffff;
  --color-surface-hover: #f3f3f5;
  --color-text: #202020;
  --color-text-muted: #58585e;
  --color-border: #ddddE2;
  --v2-decision-color: #854000;
  --v2-button-fill: #202020;
  --v2-button-hover: #3a3a3a;
  --v2-button-text: #ffffff;
  --v2-avatar-teal: #08636b;
  --v2-avatar-rose: #96325d;
  --v2-update-avatar-violet: #584478;
  --v2-update-avatar-blue: #315a9a;
  --v2-initials-size: 12px;
  --v2-heading-size: 28px;
  --v2-control-border: #888890;
  --v2-selection-surface: #f2f6f5;
  --v2-sidebar-active-surface: #e5e5e9;
  --v2-chat-field: #ffffff;
  --v2-chat-field-border: #87959e;
  --v2-assist-accent: #0b6654;
  --v2-assist-fill: #075c4d;
  --v2-assist-on-fill: #ffffff;
  --v2-strong-weight: 700;
  --v2-identity-weight: 600;
  --v2-source-weight: 400;
  --v2-label-tracking: .07em;
  /* Compact spacing rhythm for the 14px body scale; controls stay easy to click. */
  --v2-space-1: 4px;
  --v2-space-2: 8px;
  --v2-space-3: 12px;
  --v2-space-4: 16px;
  --v2-space-5: 20px;
  --v2-space-6: 24px;
  --v2-control-size: 44px;
}
:root[data-theme="dark"] {
  --color-background: #191a1c;
  --color-canvas: #101113;
  --color-sidebar: #1d1e21;
  --color-surface: #191a1c;
  --color-surface-hover: #25262a;
  --color-text: #f5f5f5;
  --color-text-muted: #bdbdc5;
  --color-border: #36373d;
  --v2-decision-color: #edbd83;
  --v2-button-fill: #f5f5f5;
  --v2-button-hover: #dedee4;
  --v2-button-text: #191a1c;
  --v2-avatar-teal: #245d65;
  --v2-avatar-rose: #783a56;
  --v2-control-border: #80808a;
  --v2-selection-surface: #27282c;
  --v2-sidebar-active-surface: var(--color-surface-hover);
  --v2-chat-field: #2d2e33;
  --v2-chat-field-border: #80808a;
  --v2-assist-accent: #b1e4d4;
  --v2-assist-fill: #b1e4d4;
  --v2-assist-on-fill: #193e33;
}
@font-face {
  font-family: 'Timeless Serif';
  src: url('/workspace/fonts/TimelessSerifVF.woff2') format('woff2');
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Timeless Serif';
  src: url('/workspace/fonts/TimelessSerifItalicVF.woff2') format('woff2');
  font-weight: 300 800;
  font-style: italic;
  font-display: swap;
}
/* V2 typography sizes. Overrides apply only on pages loading this stylesheet. */
:root {
  --type-base: 14px;
  --type-label: var(--type-base);
  --type-identity: var(--type-base);
  --type-large: 18px;
  --type-field: var(--type-base);
  --type-emphasis: var(--type-base);
  --type-micro: var(--type-base);
  --type-caption: var(--type-base);
  --type-meta: var(--type-base);
  --type-compact: var(--type-base);
  --type-avatar: var(--v2-initials-size);
  --type-avatarSmall: var(--v2-initials-size);
  --type-avatarTiny: var(--v2-initials-size);
}
.v2-layout :is(input, textarea, select) { font-size: var(--type-field); }
body { overflow: hidden; }
.v2-layout .workspace-main { scrollbar-width: none; }
.v2-layout .workspace-main::-webkit-scrollbar { display: none; }
.v2-utility-bar { position: sticky; top: 0; z-index: 4; display: flex; align-items: center; justify-content: flex-end; gap: var(--v2-space-2); height: 52px; padding: var(--v2-space-2); pointer-events: none; }
.v2-utility-bar > * { pointer-events: auto; }
.v2-updates-preview[hidden] { display: none; }
.v2-preview-updates-toggle[aria-checked="true"] .v2-theme-switch { border-color: var(--v2-assist-accent); background: var(--v2-assist-accent); }
.v2-preview-updates-toggle[aria-checked="true"] .v2-theme-switch::after { transform: translateX(12px); background: var(--color-sidebar); }
.v2-summary-open .v2-summary-toggle { visibility: hidden; }
.v2-summary-toggle { display: flex; align-items: center; gap: var(--v2-space-2); min-height: 36px; padding: var(--v2-space-2) var(--v2-space-3); border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--color-text-muted); font-family: var(--font-body); font-size: var(--type-base); font-weight: var(--v2-source-weight); line-height: var(--type-caption-line-height); cursor: pointer; }
.v2-summary-toggle:hover, .v2-summary-toggle[aria-expanded="true"] { border-color: var(--color-border); background: var(--color-surface-hover); color: var(--color-text); }
.v2-summary-toggle:disabled { cursor: default; opacity: .6; }
.v2-summary-toggle [data-solar], .v2-task-summary [data-solar] { display: inline-flex; width: 18px; height: 18px; flex: none; }
.v2-summary-toggle [data-solar]:last-child { width: 14px; height: 14px; transition: transform .15s; }
.v2-summary-toggle[aria-expanded="true"] [data-solar]:last-child { transform: rotate(180deg); }
.v2-summary-count { min-width: 20px; padding: 0 var(--v2-space-1); border-radius: 5px; background: var(--color-surface-hover); color: var(--color-text-muted); text-align: center; font-variant-numeric: tabular-nums; }
.v2-summary-count[hidden] { display: none; }
.v2-action.is-task-added:disabled { border-color: color-mix(in srgb, var(--v2-assist-accent) 30%, var(--color-border)); background: color-mix(in srgb, var(--v2-assist-accent) 8%, var(--color-background)); color: var(--v2-assist-accent); cursor: default; opacity: 1; }
.v2-task-flight, .v2-task-receipt { position: fixed; inset: auto; margin: 0; pointer-events: none; border: 1px solid color-mix(in srgb, var(--v2-assist-accent) 25%, var(--color-border)); background: var(--color-surface); color: var(--v2-assist-accent); box-shadow: var(--shadow-panel); }
.v2-task-flight { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border-radius: 12px; }
.v2-task-flight .solar { width: 22px; height: 22px; }
.v2-task-receipt { display: flex; align-items: center; gap: var(--v2-space-2); padding: var(--v2-space-2) var(--v2-space-3); border-radius: 999px; font-family: var(--font-body); font-size: var(--type-base); font-weight: var(--v2-source-weight); line-height: var(--type-caption-line-height); }
.v2-task-receipt .solar { width: 18px; height: 18px; }
.v2-task-summary { position: fixed; inset: auto; width: 320px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 32px); margin: 0; padding: 0; overflow: auto; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-sidebar); color: var(--color-text); box-shadow: var(--shadow-panel); font-family: var(--font-body); font-size: var(--type-base); font-weight: var(--v2-source-weight); line-height: var(--type-base-line-height); opacity: 0; transform: translateX(16px); pointer-events: none; }
.v2-task-summary:popover-open { opacity: 1; transform: translateX(0); pointer-events: auto; }
#assistant-view, #v2-home-view { margin-right: 0; }
.v2-summary-open :is(#assistant-view, #v2-home-view) { margin-right: 336px; }
@media (prefers-reduced-motion: no-preference) {
  #assistant-view, #v2-home-view { transition: margin-right 360ms var(--v2-motion-ease); }
  .v2-task-summary { transition: opacity 220ms ease, transform 360ms var(--v2-motion-ease), display 360ms allow-discrete, overlay 360ms allow-discrete; }
  @starting-style { .v2-task-summary:popover-open { opacity: 0; transform: translateX(16px); } }
}
.v2-summary-header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: var(--v2-space-3); padding: var(--v2-space-3) var(--v2-space-4); border-bottom: 1px solid var(--color-border); background: var(--color-sidebar); }
.v2-summary-filters { display: flex; gap: var(--v2-space-1); }
.v2-summary-filters button { padding: var(--v2-space-1) var(--v2-space-2); border: 0; border-radius: 6px; background: transparent; color: var(--color-text-muted); font: inherit; cursor: pointer; }
.v2-summary-filters button[aria-pressed="true"] { color: var(--color-text); background: var(--color-surface-hover); font-weight: var(--v2-identity-weight); }
.v2-summary-filters button:hover { color: var(--color-text); }
.v2-summary-filters button:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.v2-summary-content { padding: var(--v2-space-4); }
.v2-summary-content section + section { margin-top: var(--v2-space-5); padding-top: var(--v2-space-4); border-top: 1px solid var(--color-border); }
.v2-summary-content h3 { display: flex; align-items: baseline; gap: var(--v2-space-2); margin: 0 0 var(--v2-space-2); font-size: var(--type-base); font-weight: var(--v2-identity-weight); line-height: var(--type-base-line-height); }
.v2-summary-content h3 > span { color: var(--color-text-muted); font-weight: var(--v2-source-weight); font-variant-numeric: tabular-nums; }
.v2-summary-list { list-style: none; margin: 0; padding: 0; }
.v2-summary-row { display: flex; align-items: flex-start; gap: var(--v2-space-2); padding-block: var(--v2-space-3); }
.v2-summary-row + .v2-summary-row { border-top: 1px solid var(--color-border); }
.v2-summary-copy { flex: 1; min-width: 0; }
.v2-summary-copy p { margin: 0; overflow-wrap: anywhere; }
.v2-summary-copy time { display: block; margin-top: var(--v2-space-1); color: var(--color-text-muted); font-size: var(--type-base); line-height: var(--type-caption-line-height); }
.v2-summary-check, .v2-summary-icon { display: grid; place-items: center; flex: none; width: 28px; height: 28px; margin: -3px 0 0; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--color-text-muted); cursor: pointer; }
.v2-summary-check:hover, .v2-summary-icon:hover { color: var(--color-text); background: var(--color-surface-hover); }
.v2-summary-check:not(:hover):not([aria-pressed="true"]) path { opacity: 0; }
.v2-summary-row.is-done .v2-summary-title { text-decoration: line-through; color: var(--color-text-muted); }
.v2-summary-check:disabled, .v2-summary-icon:disabled { opacity: .5; cursor: progress; }
.v2-summary-options { margin-top: -3px; }
.v2-summary-menu { position: fixed; inset: auto; margin: 0; padding: var(--v2-space-1); border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-sidebar); color: var(--color-text); box-shadow: var(--shadow-panel); font-family: var(--font-body); font-size: var(--type-base); line-height: var(--type-base-line-height); }
.v2-summary-menu button { display: flex; align-items: center; gap: var(--v2-space-2); padding: var(--v2-space-2) var(--v2-space-3); border: 0; border-radius: 4px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.v2-summary-menu button .solar { width: 16px; height: 16px; }
.v2-summary-menu button:hover { background: var(--color-surface-hover); }
.v2-summary-menu button:focus-visible { outline: 2px solid var(--color-focus); outline-offset: -2px; background: var(--color-surface-hover); }
.v2-summary-menu button:disabled { opacity: .5; cursor: progress; }
.v2-summary-bell { display: grid; place-items: center; width: 28px; height: 22px; flex: none; color: var(--color-text-muted); }
.v2-summary-empty { margin: var(--v2-space-2) 0; color: var(--color-text-muted); }
.v2-summary-status { margin: 0; padding: 0 var(--v2-space-4) var(--v2-space-3); color: var(--color-text-muted); }
.v2-summary-status:empty { display: none; }
.v2-summary-more, .v2-summary-source { padding: var(--v2-space-1) 0; border: 0; border-radius: 3px; background: transparent; color: var(--color-text-muted); font: inherit; cursor: pointer; }
.v2-summary-source { margin-top: var(--v2-space-1); }
.v2-summary-details { flex: 1; min-width: 0; }
.v2-summary-details > summary { display: flex; align-items: flex-start; gap: var(--v2-space-2); cursor: pointer; list-style: none; border-radius: 4px; }
.v2-summary-details > summary::-webkit-details-marker { display: none; }
.v2-summary-details > summary > .solar { width: 14px; height: 14px; flex: none; margin-top: 5px; color: var(--color-text-muted); transition: transform 180ms ease; }
.v2-summary-details[open] > summary > .solar { transform: rotate(180deg); }
@supports (interpolate-size: allow-keywords) {
  @media (prefers-reduced-motion: no-preference) {
    .v2-summary-details { interpolate-size: allow-keywords; }
    .v2-summary-details::details-content { block-size: 0; opacity: 0; overflow: clip; transition: block-size 220ms ease, opacity 180ms ease, content-visibility 220ms allow-discrete; }
    .v2-summary-details[open]::details-content { block-size: auto; opacity: 1; }
  }
}
.v2-summary-details > summary:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.v2-summary-title { display: block; overflow-wrap: anywhere; }
.v2-summary-context { display: grid; gap: var(--v2-space-2); padding-top: var(--v2-space-3); }
.v2-summary-context p { margin: 0; overflow-wrap: anywhere; }
.v2-summary-context-label, .v2-summary-context-missing { color: var(--color-text-muted); }
.v2-summary-request { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.v2-summary-context .v2-summary-source { display: inline-flex; align-items: center; justify-self: start; gap: 6px; color: var(--v2-assist-accent); text-decoration: none; font: inherit; }
.v2-summary-context .v2-summary-source .solar { width: 16px; height: 16px; }
.v2-summary-context .v2-summary-source:hover { text-decoration: underline; }
.v2-summary-quote { margin: var(--v2-space-1) 0; padding: var(--v2-space-3); border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-background); }
.v2-summary-quote header { display: grid; gap: 2px; margin-bottom: var(--v2-space-2); font-weight: var(--v2-identity-weight); }
.v2-summary-quote header span { font-weight: var(--v2-source-weight); color: var(--color-text-muted); }
.v2-summary-quote p { white-space: pre-wrap; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.v2-summary-quote time { display: block; margin-top: var(--v2-space-2); color: var(--color-text-muted); }
.v2-summary-cancel { justify-self: start; margin-top: var(--v2-space-2); padding: var(--v2-space-1) 0; border: 0; border-radius: 3px; background: transparent; color: var(--color-text-muted); font: inherit; cursor: pointer; }
.v2-summary-cancel:hover { color: var(--color-text); text-decoration: underline; }
.v2-summary-empty-state { display: grid; justify-items: center; gap: var(--v2-space-2); padding: var(--v2-space-4) var(--v2-space-2); text-align: center; }
.v2-summary-empty-state img { object-fit: contain; margin-bottom: var(--v2-space-1); }
.v2-summary-empty-state p { margin: 0; }
.v2-summary-empty-state p:last-child { color: var(--color-text-muted); }
.v2-summary-more:hover, .v2-summary-source:hover { color: var(--color-text); text-decoration: underline; }
:is(.v2-summary-toggle,.v2-summary-check,.v2-summary-icon,.v2-summary-more,.v2-summary-source,.v2-summary-cancel):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .v2-summary-toggle [data-solar]:last-child, .v2-summary-details > summary > .solar { transition: none; } }
.theme-toggle { z-index: 5; }

/* Calm navigation; destinations remain pending until their V2 pages are designed. */
.v2-layout .workspace-sidebar { --v2-sidebar-text-size: var(--type-base); --v2-sidebar-detail-size: var(--v2-initials-size); --v2-sidebar-regular-weight: 400; --v2-sidebar-emphasis-weight: 400; --solar-stroke-width: 2.4; padding: var(--v2-space-3); scrollbar-width: thin; overflow-x: hidden; }
.v2-layout .workspace-sidebar { --v2-sidebar-row-height: calc(var(--v2-space-3) * 3); --v2-sidebar-row-gap: calc(var(--v2-space-1) / 2); }
.v2-sidebar-brand { display: flex; align-items: center; justify-content: space-between; gap: var(--v2-space-2); padding: var(--v2-space-1) 0 var(--v2-space-4) var(--v2-space-2); flex-shrink: 0; }
.v2-sidebar-wordmark { display: flex; align-items: center; min-width: 0; }
.v2-sidebar-wordmark img { display: block; width: 74.88px; height: auto; max-width: 100%; }
.v2-sidebar-wordmark .v2-brand-compact { display: none; width: 23.04px; }
.v2-sidebar-wordmark .v2-brand-dark { display: none; }
:root[data-theme="dark"] .v2-sidebar-wordmark .v2-brand-light { display: none; }
:root[data-theme="dark"] .v2-sidebar-wordmark .v2-brand-dark { display: block; }
.v2-sidebar-toggle { display: grid; place-items: center; width: calc(var(--v2-space-4) * 2); min-width: 0; height: var(--v2-control-size); padding: 0; flex-shrink: 0; border: 0; border-radius: 8px; background: transparent; color: var(--color-text); cursor: pointer; }
.v2-sidebar-toggle:hover { background: var(--color-surface-hover); }
.v2-sidebar-toggle:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.v2-sidebar-toggle .solar { width: 16px; height: 16px; }
.v2-sidebar-toggle .v2-expand-icon { display: none; }
.v2-sidebar-nav { display: flex; flex-direction: column; gap: var(--v2-sidebar-row-gap); flex-shrink: 0; }
.v2-sidebar-link { display: flex; align-items: center; gap: var(--v2-space-3); width: 100%; min-height: var(--v2-control-size); padding: var(--v2-space-2) var(--v2-space-3); border: 0; border-radius: 8px; background: transparent; color: var(--color-text); font-family: var(--font-body); font-size: var(--type-compact); font-weight: var(--type-compact-weight); line-height: var(--type-compact-line-height); text-align: left; text-decoration: none; cursor: pointer; }
.v2-sidebar-link .solar { width: 16px; height: 16px; flex-shrink: 0; }
.v2-sidebar-link { min-height: var(--v2-sidebar-row-height); padding-block: var(--v2-space-1); gap: var(--v2-space-2); font-weight: var(--v2-sidebar-regular-weight); line-height: var(--type-base-line-height); }
.v2-sidebar-toggle { height: var(--v2-sidebar-row-height); }
.v2-sidebar-link:hover { background: var(--color-surface-hover); }
.v2-sidebar-link[aria-current="page"] { background: var(--v2-sidebar-active-surface); font-weight: var(--v2-sidebar-emphasis-weight); }
.v2-sidebar-link[aria-disabled="true"] { cursor: default; }
.v2-sidebar-link:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.v2-sidebar-rule { height: 1px; margin: var(--v2-space-2) var(--v2-space-3); background: var(--color-border); }
.v2-sidebar-bottom { margin-top: auto; padding-top: var(--v2-space-3); flex-shrink: 0; }
.v2-sidebar-profile { margin-top: var(--v2-space-2); padding: 0 var(--v2-space-3); }
.v2-sidebar-identity { display: flex; align-items: center; gap: var(--v2-space-2); margin-top: var(--v2-space-3); padding: var(--v2-space-3) 0 var(--v2-space-1); border-top: 1px solid var(--color-border); }
.v2-sidebar-sync { padding-inline: 0; container-type: inline-size; }
.v2-sidebar-service-label { color: var(--color-text); font-size: var(--v2-sidebar-text-size); font-weight: var(--v2-sidebar-regular-weight); }
.v2-refresh-whatsapp { display: grid; place-items: center; width: calc(var(--v2-space-4) * 2); height: calc(var(--v2-space-4) * 2); margin-left: auto; padding: 0; flex-shrink: 0; background: transparent; color: var(--color-text); border: 0; border-radius: 8px; cursor: pointer; }
.v2-refresh-whatsapp .solar { width: 16px; height: 16px; }
.v2-refresh-whatsapp:hover { background: var(--color-surface-hover); }
.v2-refresh-whatsapp:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.v2-refresh-whatsapp[aria-disabled="true"] { cursor: wait; color: var(--color-text-muted); }
@media (prefers-reduced-motion: no-preference) { .v2-refresh-whatsapp[aria-busy="true"] .solar { animation: v2-refresh-turn 1s linear infinite; } }
@keyframes v2-refresh-turn { to { transform: rotate(360deg); } }
.v2-sidebar-status-line { display: flex; align-items: center; gap: calc(var(--v2-space-3) / 2); color: var(--v2-assist-accent); font-size: var(--v2-sidebar-text-size); font-weight: var(--v2-sidebar-regular-weight); line-height: var(--type-base-line-height); }
.v2-sidebar-status-copy { display: inline-flex; align-items: center; padding: calc(var(--v2-space-1) / 2) calc(var(--v2-space-3) / 2); border: 1px solid color-mix(in srgb, currentColor 14%, transparent); border-radius: 6px; background: color-mix(in srgb, currentColor 8%, var(--color-sidebar)); font-size: var(--v2-sidebar-detail-size); font-weight: var(--v2-sidebar-regular-weight); line-height: var(--type-caption-line-height); white-space: nowrap; }
.v2-sidebar-updated { display: block; margin-top: 0; color: var(--color-text-muted); font-size: var(--v2-sidebar-detail-size); font-weight: var(--v2-sidebar-regular-weight); line-height: var(--type-caption-line-height); }
.v2-sidebar-sync[data-status="disconnected"] .v2-sidebar-status-line { color: var(--v2-visual-danger); }
.v2-sidebar-sync:is([data-status="connecting"], [data-status="loading"]) .v2-sidebar-status-line { color: var(--v2-visual-warn); }
.v2-sidebar-avatar { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--v2-avatar-teal); color: color-mix(in srgb, var(--v2-avatar-teal) 24%, white); font-size: calc(var(--v2-initials-size) * 1.5); font-weight: var(--type-meta-weight); line-height: var(--type-meta-line-height); }
.v2-sidebar-profile-copy { display: flex; flex-direction: column; gap: calc(var(--v2-sidebar-row-gap) / 2); flex: 1; min-width: 0; }
.v2-sidebar-profile-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-text); font-size: var(--v2-sidebar-text-size); font-weight: var(--v2-sidebar-emphasis-weight); line-height: var(--type-base-line-height); }
.v2-sidebar-profile-copy > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-text-muted); font-size: var(--v2-sidebar-detail-size); font-weight: var(--v2-sidebar-regular-weight); line-height: var(--type-caption-line-height); }
.v2-profile-settings { display: grid; place-items: center; width: calc(var(--v2-space-4) * 2); height: calc(var(--v2-space-4) * 2); padding: 0; flex-shrink: 0; border: 0; border-radius: 8px; background: transparent; color: var(--color-text); cursor: pointer; }
.v2-profile-settings .solar, .v2-settings-theme .solar { width: 16px; height: 16px; flex-shrink: 0; }
.v2-profile-settings:hover, .v2-settings .v2-settings-theme:hover { background: var(--color-surface-hover); }
.v2-profile-settings:focus-visible, .v2-settings .v2-settings-theme:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.v2-settings { position: fixed; inset: auto auto var(--v2-space-5) calc(var(--sidebar-width) + var(--v2-space-3)); width: 260px; max-width: calc(100vw - var(--v2-space-6)); margin: 0; padding: var(--v2-space-4); border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-sidebar); color: var(--color-text); box-shadow: var(--shadow-panel); }
.v2-settings h2 { margin: 0 0 var(--v2-space-3); font-family: var(--font-body); font-size: var(--v2-sidebar-text-size); font-weight: var(--v2-sidebar-emphasis-weight); line-height: var(--type-base-line-height); }
.v2-settings .v2-settings-theme { position: static; display: flex; align-items: center; gap: var(--v2-space-2); width: 100%; height: var(--v2-control-size); padding: var(--v2-space-2); border: 0; border-radius: 8px; background: transparent; color: var(--color-text); font-family: var(--font-body); font-size: var(--v2-sidebar-text-size); font-weight: var(--v2-sidebar-regular-weight); cursor: pointer; }
.v2-settings .v2-settings-theme[hidden] { display: none; }
.v2-settings a.v2-settings-theme { box-sizing: border-box; text-decoration: none; }
.v2-theme-switch { position: relative; width: 32px; height: 20px; margin-left: auto; flex-shrink: 0; border: 1px solid var(--color-text-muted); border-radius: 999px; background: var(--color-surface-hover); }
.v2-theme-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: var(--color-text-muted); }
.v2-settings-theme[aria-pressed="true"] .v2-theme-switch { border-color: var(--v2-assist-accent); background: var(--v2-assist-accent); }
.v2-settings-theme[aria-pressed="true"] .v2-theme-switch::after { transform: translateX(12px); background: var(--color-sidebar); }
@media (prefers-reduced-motion: no-preference) { .v2-theme-switch, .v2-theme-switch::after { transition: background 160ms ease, transform 160ms ease; } }
.v2-sidebar-connection { display: none; place-items: center; width: 16px; height: 16px; flex-shrink: 0; color: inherit; }
.v2-sidebar-connection .solar { width: 16px; height: 16px; }
.v2-connection-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.v2-sidebar-connection[data-status="disconnected"] { color: var(--v2-visual-danger); }
.v2-sidebar-connection[data-status="connecting"] { color: var(--v2-visual-warn); }

@container (max-width: 170px) {
  .v2-layout:not(.v2-sidebar-collapsed) .v2-sidebar-status-line { display: grid; grid-template-columns: minmax(0, 1fr) 32px; }
  .v2-layout:not(.v2-sidebar-collapsed) .v2-sidebar-status-copy { grid-column: 1; grid-row: 2; justify-self: start; }
  .v2-layout:not(.v2-sidebar-collapsed) .v2-refresh-whatsapp { grid-column: 2; grid-row: 1; }
}

@media (min-width: 601px) {
  .v2-sidebar-wordmark { position: relative; width: 74.88px; height: 24.96px; flex-shrink: 0; }
  .v2-sidebar-wordmark img { position: absolute; top: 0; left: 0; max-width: none; }
  .v2-sidebar-wordmark .v2-brand-compact { display: block; width: 25.26px; opacity: 0; }
  /* Keep text in the layout so it can fold and fade instead of switching display. */
  .v2-sidebar-link > span:not([aria-hidden="true"]),
  .v2-sidebar-service-label,
  .v2-sidebar-status-copy { max-width: 220px; overflow: hidden; white-space: nowrap; }
  .v2-sidebar-service-label, .v2-sidebar-status-copy { flex-shrink: 0; }
  .v2-refresh-whatsapp { min-width: 24px; flex-shrink: 1; }
  .v2-sidebar-profile-copy { max-width: 220px; max-height: 56px; overflow: hidden; }
  .v2-sidebar-updated { max-height: 28px; overflow: hidden; white-space: nowrap; }
  /* Keep the compact status dot anchored while the surrounding rail resizes. */
  .v2-sidebar-profile { position: relative; }
  .v2-sidebar-connection { display: grid; position: absolute; left: 28px; bottom: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--color-sidebar); opacity: 0; visibility: hidden; }
  .v2-sidebar-collapsed .v2-sidebar-link > span:not([aria-hidden="true"]),
  .v2-sidebar-collapsed .v2-sidebar-profile-copy,
  .v2-sidebar-collapsed #v2-sidebar-status-copy,
  .v2-sidebar-collapsed .v2-sidebar-service-label,
  .v2-sidebar-collapsed .v2-sidebar-updated { max-width: 0; max-height: 0; opacity: 0; visibility: hidden; transform: translateX(-6px); }
  .v2-sidebar-collapsed #v2-sidebar-status-copy { padding-inline: 0; border-width: 0; }
  .v2-sidebar-toggle .v2-collapse-icon { display: inline-flex; }
  .v2-sidebar-collapsed .v2-collapse-icon { transform: rotate(180deg); }
  .v2-sidebar-collapsed .v2-sidebar-brand { flex-direction: column; justify-content: center; gap: var(--v2-space-1); padding-inline: 0; }
  .v2-sidebar-collapsed .v2-sidebar-wordmark { width: 23.04px; height: 22.76px; }
  .v2-sidebar-collapsed .v2-sidebar-wordmark .v2-brand-full { opacity: 0; }
  .v2-sidebar-collapsed .v2-sidebar-wordmark .v2-brand-compact { width: 23.04px; opacity: 1; }
  .v2-sidebar-link { display: grid; grid-template-columns: 16px minmax(0, 1fr); }
  .v2-sidebar-collapsed .v2-sidebar-link { grid-template-columns: 16px minmax(0, 1fr); padding-inline: calc((72px - var(--v2-space-3) * 2 - 2px - 16px) / 2); gap: 0; }
  .v2-sidebar-collapsed .v2-sidebar-rule { margin-inline: var(--v2-space-2); }
  .v2-sidebar-collapsed .v2-sidebar-profile { position: relative; display: flex; flex-direction: column; padding: var(--v2-space-3) 0 0; border: 0; border-top: 1px solid var(--color-border); border-radius: 0; background: transparent; }
  .v2-sidebar-collapsed .v2-sidebar-identity { flex-direction: column-reverse; justify-content: center; margin-top: var(--v2-space-1); padding: 0; border: 0; }
  .v2-sidebar-collapsed .v2-sidebar-sync { order: -1; margin: 0; padding: 0; border: 0; }
  .v2-sidebar-collapsed .v2-sidebar-status-line { gap: 0; }
  .v2-sidebar-collapsed .v2-refresh-whatsapp { height: var(--v2-sidebar-row-height); margin-inline: auto; }
  .v2-sidebar-collapsed .v2-sidebar-connection { opacity: 1; visibility: visible; }
  .v2-sidebar-collapsed #panel-divider { visibility: hidden; }
}
@media (min-width: 601px) and (prefers-reduced-motion: no-preference) {
  .v2-layout { --v2-sidebar-duration: 360ms; }
  .v2-sidebar-connection { transition: opacity 140ms ease, visibility 0s 140ms; }
  .v2-sidebar-collapsed .v2-sidebar-connection { transition: opacity 140ms ease var(--v2-sidebar-duration), visibility 0s var(--v2-sidebar-duration); }
  .v2-sidebar-link > span:not([aria-hidden="true"]),
  .v2-sidebar-profile-copy,
  .v2-sidebar-service-label,
  .v2-sidebar-status-copy,
  .v2-sidebar-updated {
    opacity: 1; visibility: visible; transform: translateX(0);
    transition: opacity 200ms ease 80ms, transform var(--v2-sidebar-duration) var(--v2-motion-ease), max-width var(--v2-sidebar-duration) var(--v2-motion-ease), max-height var(--v2-sidebar-duration) var(--v2-motion-ease), visibility 0s;
  }
  .v2-sidebar-collapsed :is(.v2-sidebar-profile-copy, .v2-sidebar-service-label, .v2-sidebar-status-copy, .v2-sidebar-updated),
  .v2-sidebar-collapsed .v2-sidebar-link > span:not([aria-hidden="true"]) {
    opacity: 0; visibility: hidden; transform: translateX(-6px);
    transition: opacity 140ms ease, transform var(--v2-sidebar-duration) var(--v2-motion-ease), max-width var(--v2-sidebar-duration) var(--v2-motion-ease), max-height var(--v2-sidebar-duration) var(--v2-motion-ease), visibility 0s var(--v2-sidebar-duration);
  }
  .v2-sidebar-link { transition: padding-inline var(--v2-sidebar-duration) var(--v2-motion-ease), gap var(--v2-sidebar-duration) var(--v2-motion-ease); }
  .v2-collapse-icon { transition: transform var(--v2-sidebar-duration) var(--v2-motion-ease); }
  .v2-sidebar-rule { transition: margin-inline var(--v2-sidebar-duration) var(--v2-motion-ease); }
  .v2-sidebar-wordmark { transition: width var(--v2-sidebar-duration) var(--v2-motion-ease), height var(--v2-sidebar-duration) var(--v2-motion-ease); }
  .v2-sidebar-wordmark img { transition: opacity 180ms ease, width var(--v2-sidebar-duration) var(--v2-motion-ease); }
}
@media (max-width: 600px) { .v2-sidebar-toggle { display: none; } }

.v2-layout {
  --type-card: 24px;
  --v2-content-max-width: 800px;
  --sidebar-width: 240px;
  --assistant-width: 360px;
  --v2-motion-ease: cubic-bezier(.22, 1, .36, 1);
  /* Matching tracks let the main panel resize continuously when chat opens/closes. */
  grid-template-columns: var(--sidebar-width) 4px minmax(0, 1fr) 0px 0px;
}
.v2-layout.v2-panel-open { grid-template-columns: var(--sidebar-width) 4px minmax(0, 1fr) 4px var(--assistant-width); }
#assistant-panel[hidden], #assistant-divider[hidden] { display: none; }

.v2-assistant-panel {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  box-shadow: var(--shadow-panel);
  background: var(--color-background);
  container: assistant-panel / inline-size;
}

.v2-main-header, .v2-examples, .v2-list-controls { width: 100%; max-width: var(--v2-content-max-width); margin-inline: auto; }
.v2-main-header { padding: var(--v2-space-6); }

.v2-section-title {
  --v2-heading-family: var(--v2-display-family, 'Timeless Serif', Georgia, serif);
  margin: 0;
  color: var(--color-text);
  font-family: var(--v2-heading-family);
  font-size: var(--v2-heading-size);
  font-weight: var(--type-section-weight);
  line-height: var(--type-section-line-height);
  letter-spacing: var(--type-section-tracking);
  font-kerning: var(--type-section-kerning);
}

.v2-specimen-name, .v2-review-note, .v2-item-time, .v2-draft-status {
  font-size: var(--type-caption);
  font-weight: var(--type-caption-weight);
  line-height: var(--type-caption-line-height);
  letter-spacing: var(--type-caption-tracking);
  font-kerning: var(--type-caption-kerning);
  color: var(--color-text-muted);
}
.v2-review-note { margin: var(--v2-space-2) 0 0; max-width: 50ch; }
.v2-examples { padding: 0 var(--v2-space-6); }
.v2-preview-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.v2-day-label, .v2-day-select { color: var(--color-text-muted); font-size: var(--type-caption); font-weight: var(--type-caption-weight); line-height: var(--type-caption-line-height); }
.v2-day-select { min-height: 36px; padding: 6px 10px; border: 1px solid var(--color-border); border-radius: 6px; background: var(--color-background); }
.v2-day-select:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.v2-list-controls { display: flex; align-items: center; gap: var(--v2-space-4); padding: var(--v2-space-6) 0 var(--v2-space-6); border-top: 1px solid var(--color-border); }
.v2-list-controls[hidden], #more-briefing-items[hidden] { display: none; }
.v2-more-people { display: flex; align-items: center; flex-shrink: 0; padding-right: 4px; }
.v2-more-people[hidden] { display: none; }
.v2-layout .v2-more-people .c-avatar[data-avatar-tone] { --v2-more-avatar-fill: var(--v2-avatar-teal); width: 36px; height: 36px; border: 2px solid var(--color-background); font-size: var(--v2-initials-size); background: var(--v2-more-avatar-fill); color: color-mix(in srgb, var(--v2-more-avatar-fill) 24%, white); }
.v2-layout .v2-more-people .c-avatar[data-avatar-tone="blue"] { --v2-more-avatar-fill: var(--color-info); }
.v2-layout .v2-more-people .c-avatar[data-avatar-tone="violet"] { --v2-more-avatar-fill: var(--color-violet); }
.v2-layout .v2-more-people .c-avatar[data-avatar-tone="rose"] { --v2-more-avatar-fill: var(--v2-avatar-rose); }
.v2-more-people .c-avatar + .c-avatar { margin-left: -10px; }
.v2-more-copy { flex: 1; min-width: 0; }
.v2-more-title { margin: 0; color: var(--color-text); font-size: var(--type-large); font-weight: var(--v2-strong-weight); line-height: var(--type-large-line-height); }
.v2-more-description { margin: 4px 0 0; color: var(--color-text-muted); font-size: var(--type-compact); font-weight: var(--type-compact-weight); line-height: var(--type-compact-line-height); }
.v2-action.v2-see-all { flex-shrink: 0; min-height: var(--v2-control-size); border-radius: 999px; padding: var(--v2-space-2) var(--v2-space-4); font-weight: var(--v2-strong-weight); border-color: var(--color-border); }
.v2-see-all[aria-expanded="true"] svg { transform: rotate(180deg); }
.v2-home-list .v2-specimen { padding-bottom: 0; }
.v2-home-list .v2-specimen-name { display: none; }
.v2-home-list, #more-briefing-items { display: grid; gap: 0; }
.v2-home-list { border-bottom: 1px solid var(--color-border); }
.v2-home-list .v2-caughtup { margin-top: 0; }
.v2-specimen { padding: 0 0 28px; }
.v2-specimen-name { margin: 0 0 10px; }
.v2-caughtup { display: flex; align-items: center; gap: var(--v2-space-5); padding: var(--v2-space-6) var(--v2-space-5); }
.v2-mascot { display: block; width: 144px; padding: 0; flex-shrink: 0; border: 0; border-radius: 16px; background: transparent; cursor: pointer; }
.v2-mascot picture, .v2-mascot img { display: block; width: 100%; height: auto; }
.v2-mascot:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.v2-rest-note { margin: 12px 0 0; color: var(--color-accent); font-size: var(--type-caption); font-weight: var(--type-caption-weight); line-height: var(--type-caption-line-height); }
.v2-caughtup, .v2-assistant-empty {
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-surface);
  box-shadow: none;
}
.v2-briefing-item { margin-inline: 0; padding: var(--v2-space-6) 0; border-top: 1px solid var(--color-border); border-radius: 0; cursor: pointer; }
.v2-briefing-item.v2-selected {
  margin-inline: calc(-1 * var(--v2-space-2));
  padding-inline: var(--v2-space-4);
  border-radius: 12px;
  background: var(--v2-selection-surface);
}
.v2-item-time { margin: 0 0 10px; }
.v2-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.v2-card-label {
  --v2-card-label-size: 12px;
  display: flex; align-items: center; gap: var(--v2-space-2); min-width: 0; margin: 0;
  color: var(--color-text-muted);
  font-size: var(--v2-card-label-size); font-weight: var(--v2-strong-weight); line-height: var(--type-caption-line-height);
  letter-spacing: var(--v2-label-tracking); text-transform: uppercase;
}
.v2-card-label > .solar { flex-shrink: 0; }
.v2-decision .v2-card-label { color: var(--v2-decision-color); }
.v2-overdue .v2-card-label { color: var(--color-danger); }
.v2-done-label { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; padding: 4px 8px; border-radius: 6px; background: var(--color-surface-hover); color: var(--color-text); font-size: var(--type-meta); font-weight: var(--type-meta-weight); line-height: var(--type-meta-line-height); }
.v2-completed .v2-item-title { color: var(--color-text-muted); }
.v2-card-body { display: grid; gap: var(--v2-space-4); margin-top: var(--v2-space-2); }
.v2-card-content { min-width: 0; text-align: left; }
.v2-card-content > .v2-item-description { margin: var(--v2-space-2) 0 0; }
.v2-card-description { display: flex; align-items: center; gap: var(--v2-space-2); margin-top: var(--v2-space-2); }
.v2-layout .v2-card-description > .c-avatar[data-avatar-tone] {
  --v2-avatar-background: var(--v2-avatar-teal);
  width: 24px; height: 24px;
  background: var(--v2-avatar-background);
  color: color-mix(in srgb, var(--v2-avatar-background) 24%, white);
  font-size: var(--v2-initials-size);
  font-weight: var(--type-avatarTiny-weight);
  line-height: var(--type-avatarTiny-line-height);
}
.v2-card-description > .v2-item-description { margin: 0; min-width: 0; max-width: none; color: var(--color-text-muted); }
.v2-description-name { color: var(--color-text); font-weight: var(--v2-strong-weight); }
.v2-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--v2-space-2); }
.v2-inline-checklist { min-width: 0; margin: 0; padding: 0; border: 1px solid var(--color-border); border-radius: 10px; overflow: hidden; }
.v2-checklist-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--v2-space-3); padding: var(--v2-space-3) var(--v2-space-4); background: var(--color-surface-hover); }
.v2-checklist-header > strong { font-size: var(--type-meta); font-weight: var(--v2-strong-weight); line-height: var(--type-meta-line-height); }
.v2-checklist-progress { display: flex; align-items: center; gap: 12px; }
.v2-checklist-count { color: var(--color-text-muted); font-size: var(--type-meta); font-weight: var(--type-meta-weight); line-height: var(--type-meta-line-height); }
.v2-progress-segments { display: flex; gap: 4px; }
.v2-progress-segments > span { display: block; width: 18px; height: 4px; border-radius: 4px; background: var(--color-border); }
.v2-progress-segments > .is-ready { background: var(--color-accent-fill); }
.v2-checklist-row { display: flex; align-items: center; gap: var(--v2-space-3); padding: var(--v2-space-3) var(--v2-space-4); min-height: var(--v2-control-size); border-top: 1px solid var(--color-border); cursor: pointer; }
.v2-checklist-row:hover { background: var(--color-surface-hover); }
.v2-checklist-row input { appearance: none; position: relative; width: 20px; height: 20px; margin: 0; border: 2px solid var(--v2-control-border); border-radius: 6px; flex-shrink: 0; cursor: pointer; }
.v2-checklist-row input:checked { border-color: var(--v2-button-fill); background: var(--v2-button-fill); }
.v2-checklist-row input:checked::after { content: ''; position: absolute; left: 5px; top: 1px; width: 5px; height: 9px; border: solid var(--v2-button-text); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.v2-checklist-row input:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.v2-checklist-row:has(input:checked) > span { color: var(--color-text-muted); text-decoration: line-through; }
.v2-card-options { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; margin: -6px 0; border: 0; border-radius: 8px; color: var(--color-text); background: transparent; cursor: pointer; }
.v2-card-options .solar { width: 20px; height: 20px; }
.v2-card-options .solar circle { fill: currentColor; stroke: none; }
.v2-card-options:hover { background: var(--color-surface-hover); }
.v2-card-top:has(.v2-card-menu:popover-open) .v2-card-options { color: var(--color-accent); background: var(--color-accent-soft); }
.v2-card-options:focus-visible, .v2-card-menu button:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.v2-card-menu { position: fixed; inset: auto; margin: 0; width: 260px; max-width: calc(100vw - 16px); padding: 6px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); color: var(--color-text); box-shadow: var(--shadow-panel); }
.v2-card-menu button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 12px; border: 0; border-radius: 6px; background: transparent; color: var(--color-text); font-size: var(--type-meta); font-weight: var(--type-meta-weight); line-height: var(--type-meta-line-height); cursor: pointer; text-align: left; }
.v2-card-menu button:hover { background: var(--color-surface-hover); }
.v2-card-menu button[data-card-action="dismiss"] { color: var(--color-danger); }
.v2-card-menu button[data-card-action="dismiss"]:is(:hover, :focus-visible) { background: var(--color-danger-soft); }
.v2-card-notice { position: fixed; z-index: 6; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; align-items: center; gap: 20px; padding: 12px 16px; max-width: calc(100vw - 32px); width: max-content; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); box-shadow: var(--shadow-panel); }
.v2-card-notice[hidden] { display: none; }
.v2-card-notice p { margin: 0; }
@media (max-width: 600px) { .v2-card-notice { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); } }
.v2-item-title {
  --v2-card-heading-family: var(--v2-display-family, 'Timeless Serif', Georgia, serif);
  margin: 0;
  color: var(--color-text);
  font-family: var(--v2-card-heading-family, var(--font-body));
  font-size: var(--type-card);
  font-weight: var(--type-card-weight);
  line-height: var(--type-card-line-height);
  letter-spacing: var(--type-card-tracking);
  font-kerning: var(--type-card-kerning);
  overflow-wrap: anywhere;
}
.v2-item-description {
  margin: 8px 0 0;
  color: var(--color-text);
  max-width: 58ch;
  font-size: var(--type-compact);
  font-weight: var(--type-compact-weight);
  line-height: var(--type-compact-line-height);
  letter-spacing: var(--type-compact-tracking);
  font-kerning: var(--type-compact-kerning);
}
.v2-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--v2-space-2);
  min-height: var(--v2-control-size);
  padding: var(--v2-space-2) var(--v2-space-4);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-background);
  color: var(--color-text);
  cursor: pointer;
  flex-shrink: 0;
  font-size: var(--type-meta);
  font-weight: var(--type-meta-weight);
  line-height: var(--type-meta-line-height);
  letter-spacing: var(--type-meta-tracking);
  font-kerning: var(--type-meta-kerning);
}
.v2-action:hover { background: var(--color-surface-hover); border-color: var(--color-text-muted); }
.v2-action-primary { background: var(--v2-button-fill); border-color: var(--v2-button-fill); color: var(--v2-button-text); }
.v2-action-primary:hover { background: var(--v2-button-hover); border-color: var(--v2-button-hover); }
.v2-action-primary:active { background: var(--v2-button-hover); }
.v2-animated-chevron, .v2-animated-chevron > div { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; flex-shrink: 0; pointer-events: none; }
.v2-animated-chevron svg { display: block; overflow: visible; }
.v2-action:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.v2-assistant-content { display: flex; flex: 1; min-height: 0; overflow: hidden; padding: 0; }
.v2-panel-content { position: relative; display: flex; flex-direction: column; flex: 1; width: 100%; min-width: 0; min-height: 0; }
.v2-reply-dock { display: flex; flex-direction: column; flex-shrink: 0; max-height: 60%; overflow: auto; background: var(--wa-bar); border-top: 1px solid var(--color-border); border-radius: 16px 16px 0 0; }
.v2-panel-actions { display: grid; gap: 12px; padding: 0 12px 12px; }
.v2-suggestion-card { flex-shrink: 0; min-width: 0; margin: 0; border: 0; background: transparent; }
.v2-suggestion-card[hidden] { display: none; }
.v2-suggestion-inline { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: var(--v2-space-2); padding: var(--v2-space-3); }
.v2-suggestion-inline:not(:has(> .v2-action)) { grid-template-columns: 16px minmax(0, 1fr); }
.v2-suggestion-inline > .solar { color: var(--v2-assist-accent); }
.v2-suggestion-inline .v2-suggestion-peek { white-space: normal; overflow-wrap: anywhere; }
.v2-suggestion-card > summary { display: flex; align-items: center; gap: var(--v2-space-2); min-height: 56px; padding: var(--v2-space-2) var(--v2-space-3); list-style: none; color: var(--color-text); cursor: pointer; }
.v2-suggestion-card > summary::-webkit-details-marker { display: none; }
.v2-suggestion-card > summary > .solar:first-child { color: var(--v2-assist-accent); flex-shrink: 0; }
.v2-suggestion-summary { display: grid; gap: 2px; min-width: 0; }
.v2-suggestion-summary strong { font-size: var(--type-meta); font-weight: var(--type-meta-weight); line-height: var(--type-meta-line-height); }
.v2-suggestion-peek { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--wa-muted); font-size: var(--type-caption); line-height: var(--type-caption-line-height); }
.v2-suggestion-card[open] .v2-suggestion-peek { display: none; }
.v2-suggestion-card[open] > summary { min-height: 44px; }
.v2-suggestion-card > summary > .solar:last-child { margin-left: auto; flex-shrink: 0; }
.v2-suggestion-card[open] > summary > .solar:last-child { transform: rotate(180deg); }
.v2-suggestion-card > summary:focus-visible { outline: 2px solid var(--color-focus); outline-offset: -3px; border-radius: 10px; }
.v2-suggested-text { margin: 0; padding: 10px 12px; border-left: 2px solid var(--v2-assist-accent); border-radius: 6px; background: var(--color-background); color: var(--color-text); font-size: var(--type-compact); line-height: var(--type-compact-line-height); white-space: pre-wrap; overflow-wrap: anywhere; }
.v2-chat-tools { display: flex; align-items: center; gap: 0; flex-shrink: 0; }
.v2-chat-collapsed [data-collapse-chat] > .solar { transform: rotate(180deg); }
.v2-chat-collapsed .v2-reply-dock { margin-bottom: auto; }
.v2-empty-close { position: absolute; top: 10px; right: var(--v2-space-3); }
.v2-panel-reply-action, .v2-panel-readiness { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.v2-panel-actions :is(strong, legend) { font-size: var(--type-meta); font-weight: var(--v2-strong-weight); line-height: var(--type-meta-line-height); }
.v2-panel-actions .v2-action, .v2-suggestion-inline > .v2-action { padding: 8px 14px; min-height: 44px; font-size: var(--type-meta); }
.v2-panel-actions > .v2-action { justify-self: end; }
.v2-panel-actions .v2-action-primary, .v2-suggestion-inline > .v2-action-primary { background: var(--v2-assist-fill); border-color: var(--v2-assist-fill); color: var(--v2-assist-on-fill); }
.v2-panel-actions .v2-action-primary:hover, .v2-suggestion-inline > .v2-action-primary:hover { filter: brightness(.94); }
.v2-panel-actions .v2-action:disabled { opacity: .55; cursor: default; }
.v2-panel-actions [tabindex="-1"]:focus { outline: none; }
.v2-panel-options { display: grid; gap: 4px; border: 0; margin: 0; padding: 0; min-width: 0; }
.v2-panel-options legend { margin-bottom: 8px; }
.v2-panel-options label { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 10px; border: 1px solid transparent; border-radius: 10px; cursor: pointer; }
.v2-panel-options label:hover { background: var(--color-surface-hover); }
.v2-panel-options label:has(input:checked) { border-color: var(--v2-assist-accent); background: var(--color-surface-hover); }
.v2-panel-options input { width: 18px; height: 18px; flex-shrink: 0; margin: 0; accent-color: var(--v2-assist-accent); }
.v2-panel-options label > span { font-size: var(--type-compact); font-weight: var(--type-compact-weight); line-height: var(--type-compact-line-height); }
.v2-panel-file { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--color-text-muted); }
.v2-panel-file > span { overflow-wrap: anywhere; }
.v2-panel-empty { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 12px; padding: 28px; max-width: 32ch; margin: auto; }
.v2-panel-empty > .solar { width: 28px; height: 28px; color: var(--color-text-muted); }
.v2-panel-empty h3 { margin: 0; font-size: var(--type-large); font-weight: var(--type-large-weight); line-height: var(--type-large-line-height); }
.v2-panel-empty p { margin: 0; color: var(--color-text-muted); }
.v2-panel-content > .wa-chat { flex: 1; border-radius: 0; min-height: 0; --wa-line: var(--color-border); }
:root[data-theme="dark"] .v2-panel-content > .wa-chat {
  --wa-canvas: var(--color-background);
  --wa-bar: var(--color-sidebar);
  --wa-in: #303136;
  --wa-out: #245044;
  --wa-text: var(--color-text);
  --wa-muted: #cfd0d7;
  --wa-author: #a4e9d7;
  --wa-pattern-opacity: .04;
}
.v2-panel-content .wa-chat-header { min-height: 60px; padding: var(--v2-space-2) var(--v2-space-3); gap: 8px; }
.v2-panel-content .wa-chat-identity :is(h2, h3) { font-weight: var(--v2-strong-weight); }
.v2-panel-content #action-chat-title:focus { outline: none; }
.v2-panel-content .wa-chat-identity p:empty { display: none; }
.v2-panel-content .wa-history { min-height: 0; padding: var(--v2-space-4) var(--v2-space-3); gap: var(--v2-space-2); scrollbar-width: thin; }
.v2-panel-content .wa-message { max-width: 93%; }
.v2-panel-content .wa-date { margin-bottom: 4px; }
.v2-panel-content .wa-date > span { background: var(--color-surface-hover); }
.v2-panel-content .wa-composer { padding: var(--v2-space-2) var(--v2-space-3) var(--v2-space-3); gap: 6px; background: transparent; border-top: 0; }
.v2-panel-content .wa-compose-row { flex-wrap: nowrap; align-items: flex-end; gap: 6px; }
.v2-panel-content .wa-compose-row textarea { min-height: 44px; height: 44px; max-height: 120px; resize: none; overflow-y: auto; width: 100%; padding: var(--v2-space-2); background: var(--v2-chat-field); border-color: var(--v2-chat-field-border); }
.v2-panel-content .wa-search input { background: var(--v2-chat-field); border-color: var(--v2-chat-field-border); }
.v2-panel-content .wa-save-button { width: 44px; height: 44px; padding: 0; border-radius: 50%; margin: 0; }
.v2-panel-content .wa-save-button > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.v2-panel-content .wa-compose-status { --v2-panel-status-size: 12px; font-size: var(--v2-panel-status-size); }
.v2-panel-content .wa-compose-status:empty { display: none; }
.v2-panel-content .wa-chat .c-avatar[data-avatar-tone] { background: var(--v2-avatar-teal); color: color-mix(in srgb, var(--v2-avatar-teal) 24%, white); }
.v2-panel-content .wa-chat .c-avatar[data-avatar-tone="rose"] { background: var(--v2-avatar-rose); color: color-mix(in srgb, var(--v2-avatar-rose) 24%, white); }
.v2-panel-content .wa-chat .c-avatar { font-size: var(--v2-initials-size); }
.v2-earlier-messages { align-self: center; flex-shrink: 0; min-height: 44px; padding: 8px 12px; border: 1px solid var(--wa-line); border-radius: 20px; color: var(--wa-text); background: var(--wa-bar); font-size: var(--type-caption); font-weight: var(--type-caption-weight); line-height: var(--type-caption-line-height); cursor: pointer; }
.v2-earlier-messages:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
/* Shared identity renderer: real avatarUrl values can replace these fixture initials. */
.v2-layout .c-person { display: flex; align-items: center; gap: 10px; min-width: 0; }
.v2-layout .c-person > div { display: grid; gap: 2px; min-width: 0; }
.v2-layout .c-person strong { color: var(--color-text); font-size: var(--type-identity); font-weight: var(--type-identity-weight); line-height: var(--type-identity-line-height); overflow-wrap: anywhere; }
.v2-layout .c-person div > span { color: var(--color-text-muted); font-size: var(--type-caption); font-weight: var(--type-caption-weight); line-height: var(--type-caption-line-height); }
.v2-layout .c-avatar { position: relative; display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; overflow: hidden; background: var(--color-accent-soft); color: var(--color-accent); font-size: var(--type-avatar); font-weight: var(--type-avatar-weight); line-height: var(--type-avatar-line-height); }
.v2-layout .c-avatar-fallback { display: grid; place-items: center; width: 100%; height: 100%; }
.v2-layout .c-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v2-layout .c-avatar[data-avatar-tone="blue"] { background: var(--color-info-soft); color: var(--color-info); }
.v2-layout .c-avatar[data-avatar-tone="violet"] { background: var(--color-violet-soft); color: var(--color-violet); }
.v2-layout .c-avatar[data-avatar-tone="rose"] { background: var(--color-danger-soft); color: var(--color-danger); }
.v2-layout .c-person-mention { display: inline-flex; align-items: center; gap: 6px; }
.v2-item-description .c-person-mention { display: inline; vertical-align: baseline; }
.v2-item-description .c-person-mention > span:last-child { color: var(--color-text); font-weight: var(--type-meta-weight); }
.v2-item-description .c-person-mention .c-avatar { display: inline-grid; vertical-align: middle; margin-right: 6px; width: 24px; height: 24px; font-size: var(--type-avatarTiny); }

@media (prefers-reduced-motion: no-preference) {
  .v2-see-all svg { transition: transform 180ms var(--v2-motion-ease); }
  .v2-briefing-item {
    transition: padding-inline 240ms var(--v2-motion-ease), margin-inline 240ms var(--v2-motion-ease), background-color 240ms ease, border-radius 240ms var(--v2-motion-ease);
  }
  .v2-action { transition: background-color 140ms ease, border-color 140ms ease; }
  .v2-mascot { transition: transform 180ms ease; }
  .v2-mascot:hover { transform: translateY(-3px) rotate(-2deg); }
  .v2-mascot:active { transform: scale(.97); }
}

@media (min-width: 1001px) and (prefers-reduced-motion: no-preference) {
  .v2-layout { transition: grid-template-columns 360ms var(--v2-motion-ease); }
  /* Direct manipulation follows the pointer without animation lag. */
  .is-resizing .v2-layout { transition: none; }
  .v2-assistant-panel {
    transition: opacity 220ms ease, transform 360ms var(--v2-motion-ease);
  }
  @starting-style {
    .v2-layout.v2-panel-open .v2-assistant-panel { opacity: 0; transform: translateX(12px); }
  }
}

@container main-panel (max-width: 600px) {
  .v2-main-header { padding: 24px; }
  .v2-examples { padding-inline: 24px; }
  .v2-briefing-item { padding-block: var(--v2-space-6); }
  .v2-list-controls { flex-wrap: wrap; gap: 12px; }
  .v2-more-copy { flex-basis: 180px; }
  .v2-see-all { margin-left: auto; }
  .v2-card-body { gap: var(--v2-space-4); }
  .v2-caughtup { flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px 20px; }
  .v2-mascot { width: 120px; }
}

@media (max-width: 1000px) {
  .v2-layout, .v2-layout.v2-panel-open {
    grid-template-columns: var(--sidebar-width) 4px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 4px;
  }
  .v2-layout .workspace-sidebar { grid-column: 1; grid-row: 1 / 3; }
  #panel-divider { grid-column: 2; grid-row: 1 / 3; }
  .v2-layout .workspace-main { grid-column: 3; grid-row: 1; }
  #assistant-divider { display: none; }
  .v2-assistant-panel { grid-column: 3; grid-row: 2; }
  .v2-main-header { padding-right: 68px; }
  .v2-layout:not(.v2-panel-open) { grid-template-rows: minmax(0, 1fr); }
  .v2-layout:not(.v2-panel-open) .workspace-sidebar, .v2-layout:not(.v2-panel-open) #panel-divider { grid-row: 1; }
}

@media (max-width: 600px) {
  .v2-layout, .v2-layout.v2-panel-open {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) calc(64px + env(safe-area-inset-bottom, 0px));
  }
  .v2-layout .workspace-main { grid-column: 1; grid-row: 1; }
  .v2-assistant-panel { grid-column: 1; grid-row: 2; }
  .v2-layout .workspace-sidebar {
    grid-column: 1;
    grid-row: 3;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
  }
  .v2-layout:has(.v2-panel-content) .v2-assistant-panel { grid-row: 1 / 3; z-index: 3; }
  .v2-layout:has(.v2-panel-content) .workspace-main { visibility: hidden; }

  #panel-divider { display: none; }
  .v2-layout:not(.v2-panel-open) { grid-template-rows: minmax(0, 1fr) calc(64px + env(safe-area-inset-bottom, 0px)); }
  .v2-layout:not(.v2-panel-open) .workspace-sidebar { grid-row: 2; }
}

@container main-panel (max-width: 360px) {
  .v2-main-header, .v2-examples { padding-left: 16px; }
  .v2-examples { padding-right: 16px; }
  .v2-caughtup { padding-inline: 16px; }
  .v2-checklist-header, .v2-checklist-row { padding-inline: 12px; }
  .v2-progress-segments { display: none; }
  .v2-action { max-width: 100%; flex-shrink: 1; text-align: left; }
}

@container assistant-panel (max-width: 300px) {
  .v2-panel-content .wa-compose-row > .wa-icon-button { display: none; }
}
@container assistant-panel (max-width: 340px) {
  .v2-panel-content .wa-chat-header { flex-wrap: wrap; }
  .v2-chat-tools { width: 100%; justify-content: flex-end; }
}

.v2-layout .v2-card-description > .c-avatar[data-avatar-tone="rose"] { --v2-avatar-background: var(--v2-avatar-rose); }

/* Situation-specific visual blocks, scaled to the V2 type and spacing tokens. */
:root {
  --v2-visual-radius: 12px;
  --v2-serif-family: var(--v2-display-family, 'Timeless Serif', Georgia, serif);
  --v2-visual-warn: #854000;
  --v2-visual-warn-soft: #fff2e2;
  --v2-visual-danger: #b3261e;
  --v2-visual-danger-soft: #fceceb;
  --v2-visual-good: #24783d;
  --v2-file-blue: #2b579a;
}
:root[data-theme="dark"] {
  --v2-visual-warn: #edbd83;
  --v2-visual-warn-soft: #392c20;
  --v2-visual-danger: #ffb4ab;
  --v2-visual-danger-soft: #432b2a;
  --v2-visual-good: #93d7a4;
  --v2-file-blue: #274a7e;
}
.v2-visual-card { padding: var(--v2-space-5); margin-block: var(--v2-space-4); border: 1px solid var(--color-border); border-radius: 16px; }
.v2-visual-card.v2-selected { padding-inline: 28px; }
.v2-visual-card .v2-card-top { min-height: 24px; }
.v2-card-visual { min-width: 0; }
.v2-visual { margin: 0; border: 1px solid var(--color-border); border-radius: var(--v2-visual-radius); background: var(--color-background); overflow: hidden; color: var(--color-text); font: inherit; }
.v2-visual strong, .v2-version strong { font-weight: var(--v2-strong-weight); }
.v2-visual-copy { display: grid; gap: var(--v2-space-1); min-width: 0; }
.v2-visual-copy > span, .v2-visual-muted { color: var(--color-text-muted); }
.v2-file-row, .v2-slot { display: flex; align-items: center; gap: var(--v2-space-4); padding: var(--v2-space-4); width: 100%; text-align: left; }
.v2-file-row { cursor: pointer; }
.v2-file-row:hover { background: var(--color-surface-hover); }
.v2-file-row > .solar { margin-left: auto; flex-shrink: 0; }
.v2-file-symbol { display: grid; place-items: center; flex-shrink: 0; width: 40px; height: 44px; border-radius: 8px; background: var(--color-surface-hover); color: var(--color-text-muted); }
.v2-file-symbol .solar { width: 20px; height: 20px; }
.v2-file-doc { background: var(--v2-file-blue); color: #fff; font-size: var(--v2-initials-size); font-weight: var(--v2-strong-weight); }
.v2-file-request { border-style: dashed; }
.v2-timeline { list-style: none; padding: var(--v2-space-4); }
.v2-timeline li { position: relative; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; column-gap: var(--v2-space-3); min-height: 44px; }
.v2-timeline li + li { margin-top: var(--v2-space-2); }
.v2-timeline li:not(:last-child)::after { content: ''; position: absolute; width: 2px; top: 36px; bottom: -8px; left: 11px; background: var(--color-border); }
.v2-track-marker { position: relative; display: grid; place-items: center; width: 24px; height: 24px; border: 2px solid var(--color-border); border-radius: 50%; }
.v2-track-marker .solar { width: 24px; height: 24px; flex-shrink: 0; }
.v2-timeline-done .v2-track-marker { border: 0; background: var(--v2-button-fill); color: var(--v2-button-text); }
.v2-timeline-current .v2-track-marker { border-color: var(--v2-visual-warn); }
.v2-timeline-current .v2-track-marker::after { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--v2-visual-warn); }
.v2-timeline-missed .v2-track-marker { border: 0; color: var(--v2-visual-danger); }
.v2-timeline-pending strong, .v2-track-time { color: var(--color-text-muted); }
.v2-track-label { display: flex; flex-wrap: wrap; align-items: center; gap: var(--v2-space-2); }
.v2-timeline-current strong { color: var(--v2-visual-warn); }
.v2-timeline-missed strong { color: var(--v2-visual-danger); }
.v2-track-time { text-align: right; font-size: var(--type-caption); }
.v2-visual-badge { display: inline-flex; align-items: center; justify-content: center; padding: 3px 8px; border-radius: 999px; white-space: nowrap; font-size: var(--v2-initials-size); font-weight: var(--v2-strong-weight); }
.v2-visual-warn { color: var(--v2-visual-warn); background: var(--v2-visual-warn-soft); }
.v2-visual-danger { color: var(--v2-visual-danger); background: var(--v2-visual-danger-soft); }
.v2-draft-block { padding: var(--v2-space-4); }
.v2-draft-block header { display: flex; align-items: center; gap: var(--v2-space-2); }
.v2-draft-block header > .v2-visual-badge { margin-left: auto; }
.v2-draft-preview { margin: var(--v2-space-3) 0; padding: var(--v2-space-3); border: 1px dashed var(--v2-control-border); border-radius: 8px; white-space: pre-wrap; }
.v2-draft-block footer { display: flex; align-items: center; gap: var(--v2-space-3); justify-content: space-between; color: var(--color-text-muted); }
.v2-visual-link { border: 0; padding: 8px 0; min-height: var(--v2-control-size); color: var(--color-text); background: transparent; font: inherit; font-weight: var(--v2-strong-weight); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.v2-visual-link:hover { color: var(--color-accent); }
.v2-feedback-source { display: flex; align-items: center; flex-wrap: wrap; gap: var(--v2-space-2); padding: var(--v2-space-4) var(--v2-space-4) 0; }
.v2-feedback-source > span { color: var(--color-text-muted); }
.v2-layout .v2-feedback-source .c-avatar { width: 24px; height: 24px; }
.v2-feedback-translation { margin: var(--v2-space-3) var(--v2-space-4) 0; color: var(--color-text-muted); font-weight: var(--type-compact-weight); }
.v2-feedback-translation[hidden] { display: none; }
.v2-feedback-links { display: flex; flex-wrap: wrap; gap: var(--v2-space-5); padding: 0 var(--v2-space-4) var(--v2-space-2); }
.v2-feedback-attachment { display: flex; gap: var(--v2-space-3); align-items: center; padding: var(--v2-space-3) var(--v2-space-4); border-top: 1px solid var(--color-border); }
.v2-feedback-facts { margin: 0; padding: var(--v2-space-3) var(--v2-space-4); border-top: 1px solid var(--color-border); background: var(--color-surface-hover); }
.v2-feedback-facts > div { display: grid; grid-template-columns: 16px 76px minmax(0, 1fr); gap: var(--v2-space-3); padding-block: var(--v2-space-2); align-items: baseline; }
.v2-feedback-facts .solar { align-self: center; }
.v2-feedback-facts > div:first-child .solar { color: var(--v2-visual-good); }
.v2-feedback-facts > div:nth-child(2) .solar { color: var(--v2-visual-warn); }
.v2-feedback-facts dt { color: var(--color-text-muted); font-weight: var(--v2-strong-weight); }
.v2-feedback-facts dd { margin: 0; }
.v2-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--v2-space-3); }
.v2-version { display: grid; gap: var(--v2-space-2); border: 0; padding: 0; background: transparent; color: var(--color-text); font: inherit; text-align: left; cursor: pointer; }
.v2-version:first-child { color: var(--color-text-muted); }
.v2-version-image { display: grid; place-items: center; aspect-ratio: 3 / 1; border-radius: var(--v2-visual-radius); background: var(--color-surface-hover); color: var(--color-text-muted); overflow: hidden; }
.v2-version-image > .solar { width: 24px; height: 24px; }
.v2-version-image img { width: 100%; height: 100%; object-fit: cover; }
.v2-slot > .solar { width: 24px; height: 24px; flex-shrink: 0; color: var(--color-text-muted); }
.v2-slot > .v2-visual-copy { flex: 1; }
.v2-cancelled-time { text-decoration: line-through; color: var(--color-text-muted); }
.v2-deadline-block { padding: var(--v2-space-4); }
.v2-deadline-choices { display: flex; flex-wrap: wrap; gap: var(--v2-space-2); margin-top: var(--v2-space-3); }
.v2-deadline-choices .v2-action[aria-pressed="true"] { color: var(--v2-button-text); background: var(--v2-button-fill); border-color: var(--v2-button-fill); }
.v2-deadline-picker { display: flex; align-items: center; flex-wrap: wrap; gap: var(--v2-space-2); margin-top: var(--v2-space-3); }
.v2-deadline-picker[hidden] { display: none; }
.v2-deadline-picker input { min-height: var(--v2-control-size); padding: var(--v2-space-2); border: 1px solid var(--v2-control-border); border-radius: 8px; background: var(--color-background); color: var(--color-text); font: inherit; color-scheme: light; }
:root[data-theme="dark"] .v2-deadline-picker input { color-scheme: dark; }
.v2-time-change { display: flex; align-items: center; flex-wrap: wrap; gap: var(--v2-space-4); padding: var(--v2-space-4); }
.v2-time-change > span, .v2-time-change del { color: var(--color-text-muted); }
.v2-time-change del { font-weight: var(--v2-strong-weight); }
.v2-amount { display: grid; grid-template-columns: 1fr 1fr; }
.v2-amount > div { padding: var(--v2-space-4); display: grid; align-content: start; gap: var(--v2-space-1); }
.v2-amount > div + div { border-left: 1px solid var(--color-border); }
.v2-amount dt { font-size: var(--v2-initials-size); text-transform: uppercase; letter-spacing: var(--v2-label-tracking); color: var(--color-text-muted); font-weight: var(--v2-strong-weight); }
.v2-amount dd { margin: 0; }
.v2-invoice-number { font-family: var(--v2-serif-family); font-size: var(--type-card); font-weight: var(--v2-strong-weight); }
.v2-invoice-status { font-weight: var(--v2-strong-weight); color: var(--v2-visual-warn); }
.v2-connection-status > div { display: flex; align-items: center; gap: var(--v2-space-4); justify-content: space-between; padding: var(--v2-space-3) var(--v2-space-4); }
.v2-connection-status > div + div { border-top: 1px solid var(--color-border); }
.v2-connection-status dt { display: flex; align-items: center; gap: var(--v2-space-3); }
.v2-connection-status dd { margin: 0; color: var(--color-text-muted); text-align: right; }
.v2-status-dot { display: inline-block; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--color-text-muted); }
.v2-status-good { background: var(--v2-visual-good); }
.v2-status-danger { background: var(--v2-visual-danger); }
.v2-delivery-preview { padding: var(--v2-space-4); border-radius: var(--v2-visual-radius); background: var(--wa-canvas, var(--color-surface-hover)); display: flex; flex-direction: column; align-items: flex-end; gap: var(--v2-space-2); }
.v2-delivery-preview .wa-message { max-width: 100%; margin: 0; }
.v2-delivery-preview > p { margin: 0; font-weight: var(--v2-strong-weight); color: var(--v2-visual-warn); }
.v2-delivery-caution { padding: var(--v2-space-3); margin: 0; border-bottom: 1px solid var(--color-border); background: var(--v2-visual-warn-soft); color: var(--v2-visual-warn); font-size: var(--type-base); }
.v2-reply-dock[hidden] { display: none; }
.v2-file-row:focus-visible, .v2-version:focus-visible, .v2-visual-link:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; border-radius: 8px; }
@container main-panel (max-width: 600px) {
  .v2-visual-card { padding: var(--v2-space-4); }
  .v2-visual-card.v2-selected { padding-inline: var(--v2-space-6); }
  .v2-track-time { max-width: 12ch; }
}
.v2-visual-card[data-item="connection"] .v2-card-label, .v2-overdue .v2-card-label { color: var(--v2-visual-danger); }
.v2-layout .v2-feedback-source .c-avatar[data-avatar-tone] { --v2-feedback-avatar-fill: var(--v2-avatar-teal); background: var(--v2-feedback-avatar-fill); color: color-mix(in srgb, var(--v2-feedback-avatar-fill) 24%, white); }
.v2-layout .v2-feedback-source .c-avatar[data-avatar-tone="rose"] { --v2-feedback-avatar-fill: var(--v2-avatar-rose); }

.v2-feedback-messages { display: flex; flex-direction: column; align-items: flex-start; gap: var(--v2-space-2); margin: var(--v2-space-3) var(--v2-space-4); padding: var(--v2-space-4); border-radius: 10px; background: var(--wa-canvas); color: var(--wa-text); }
.v2-feedback-messages .wa-message { max-width: 95%; min-width: 0; }
.v2-feedback-messages .wa-message-meta { font-size: var(--v2-initials-size); }
:root[data-theme="dark"] .v2-feedback-messages { --wa-canvas: var(--color-sidebar); --wa-in: #303136; --wa-text: var(--color-text); --wa-muted: #cfd0d7; }

/* The briefing's quieter layers: useful news, then confirmed plans. */
.v2-following-sections {
  width: 100%; max-width: var(--v2-content-max-width); margin-inline: auto;
  padding: 0 var(--v2-space-6) var(--v2-space-6);
}
.v2-following-section { padding-top: calc(2 * var(--v2-space-6)); }
.v2-following-section + .v2-following-section { margin-top: calc(2 * var(--v2-space-6)); border-top: 1px solid var(--color-border); }
.v2-following-section:has(.v2-update-list) + .v2-following-section { border-top: 0; }
.v2-following-header { margin-bottom: var(--v2-space-6); }
.v2-following-header > p, .v2-schedule-note {
  margin: var(--v2-space-2) 0 0; color: var(--color-text-muted);
  font-size: var(--type-compact); font-weight: var(--type-compact-weight); line-height: var(--type-compact-line-height);
}
.v2-upcoming-meta {
  display: flex; align-items: center; justify-content: space-between; gap: var(--v2-space-3);
  margin-bottom: var(--v2-space-3); color: var(--color-text-muted);
  font-size: var(--v2-initials-size); font-weight: var(--type-meta-weight); line-height: var(--type-meta-line-height);
}
.v2-upcoming-days { display: grid; gap: var(--v2-space-6); }
.v2-upcoming-day { border-bottom: 1px solid var(--color-border); }
.v2-day-heading {
  margin: 0 0 var(--v2-space-3); color: var(--color-text);
  font-size: var(--type-compact); font-weight: var(--v2-strong-weight); line-height: var(--type-compact-line-height);
}
.v2-date-tile {
  display: flex; flex-direction: column; align-items: center; align-self: start; gap: var(--v2-space-1);
  padding: var(--v2-space-2) var(--v2-space-1); border: 1px solid var(--color-border); border-radius: 8px;
  background: var(--color-sidebar); color: var(--color-text);
}
.v2-date-tile > span { font-size: var(--v2-initials-size); font-weight: var(--type-meta-weight); line-height: var(--type-meta-line-height); text-transform: uppercase; }
.v2-date-tile > strong { font-size: var(--type-card); font-weight: var(--type-card-weight); line-height: var(--type-card-line-height); }
.v2-upcoming-content { display: grid; align-content: start; gap: var(--v2-space-2); min-width: 0; }
.v2-upcoming-content > .v2-card-description { margin-top: 0; }
.v2-upcoming-meta { justify-content: flex-start; margin-bottom: 0; flex-wrap: wrap; }
.v2-upcoming-meta > time { color: var(--color-text); font-size: var(--type-compact); font-weight: var(--v2-strong-weight); }
.v2-upcoming-meta > span { border-left: 1px solid var(--color-border); padding-left: var(--v2-space-3); font-size: var(--type-compact); font-weight: var(--type-compact-weight); line-height: var(--type-compact-line-height); }
.v2-schedule-note { margin-top: var(--v2-space-5); }

/* News is a readable list, with identity before the headline and one source affordance. */
.v2-section-header { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: var(--v2-space-2) var(--v2-space-5); }
.v2-section-header > p { margin: 0; max-width: none; color: var(--color-text-muted); font-size: var(--type-compact); font-weight: var(--type-compact-weight); line-height: var(--type-compact-line-height); }

/* Quiet is a useful outcome, not a reason to invent another task. */
.v2-quiet-state { display: flex; align-items: center; gap: var(--v2-space-6); padding: var(--v2-space-4) var(--v2-space-6); border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); }
.v2-quiet-art, .v2-quiet-state .v2-mascot { width: 104px; flex-shrink: 0; }
.v2-quiet-art img { display: block; width: 100%; height: auto; }
.v2-home-list:has(.v2-quiet-state) { border-bottom: 0; }
.v2-following-section:has(> .v2-quiet-state) + .v2-following-section:has(> .v2-quiet-state) { margin-top: 0; border-top: 0; }
.v2-quiet-copy { min-width: 0; }
.v2-quiet-title { margin: 0 0 var(--v2-space-2); color: var(--color-text); font-family: var(--v2-serif-family); font-size: var(--type-card); font-weight: var(--type-card-weight); line-height: var(--type-card-line-height); }
.v2-quiet-copy .v2-item-description { margin: 0; max-width: 45ch; }
.v2-quiet-copy .v2-rest-note { margin-top: var(--v2-space-2); }
.v2-freshness { margin-left: auto; color: var(--color-text-muted); font-size: var(--v2-initials-size); font-weight: var(--type-caption-weight); line-height: var(--type-caption-line-height); }
/* Sync notices share the briefing's type hierarchy, with one obvious next step. */
.v2-sync-notice { margin: var(--v2-space-4) 0 var(--v2-space-6); padding: var(--v2-space-6); border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); }
.v2-sync-notice[hidden], #reconnect-whatsapp[hidden] { display: none; }
.v2-sync-heading { display: flex; align-items: center; gap: var(--v2-space-3); margin-bottom: var(--v2-space-4); }
.v2-sync-symbol { display: grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px; color: var(--v2-visual-warn); background: color-mix(in srgb, var(--v2-visual-warn) 10%, var(--color-surface)); }
.v2-sync-symbol .solar { width: 20px; height: 20px; }
.v2-sync-eyebrow { margin: 0; flex: 1; color: var(--color-text-muted); font-size: var(--v2-initials-size); font-weight: var(--v2-strong-weight); line-height: var(--type-caption-line-height); letter-spacing: var(--v2-label-tracking); text-transform: uppercase; }
.v2-sync-status { display: inline-flex; align-items: center; gap: var(--v2-space-2); color: var(--v2-visual-warn); font-size: var(--v2-initials-size); font-weight: var(--type-meta-weight); line-height: var(--type-meta-line-height); }
.v2-sync-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.v2-sync-copy { min-width: 0; }
.v2-sync-copy h2 { margin: 0; color: var(--color-text); font-family: var(--v2-serif-family); font-size: var(--type-card); font-weight: var(--type-card-weight); line-height: var(--type-card-line-height); }
.v2-sync-copy p { margin: var(--v2-space-2) 0 0; max-width: 57ch; color: var(--color-text-muted); font-size: var(--type-compact); font-weight: var(--type-compact-weight); line-height: var(--type-compact-line-height); }
.v2-sync-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--v2-space-4); margin-top: var(--v2-space-5); padding-top: var(--v2-space-4); border-top: 1px solid var(--color-border); }
.v2-sync-detail { display: flex; align-items: center; gap: var(--v2-space-2); color: var(--color-text-muted); font-size: var(--v2-initials-size); font-weight: var(--type-caption-weight); line-height: var(--type-caption-line-height); }
.v2-sync-detail > .solar { color: var(--v2-assist-accent); }
#reconnect-icon { display: flex; }
#reconnect-whatsapp:disabled { opacity: .6; cursor: wait; }
.v2-sync-notice[data-status="loading"] .v2-sync-detail { width: 100%; }
.v2-sync-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: var(--v2-space-2); padding: 0; margin: 0; list-style: none; }
.v2-sync-steps li { display: flex; flex-direction: column; align-items: flex-start; gap: var(--v2-space-2); color: var(--color-text-muted); }
.v2-step-track { width: 100%; height: 3px; border-radius: 2px; background: var(--color-border); }
.v2-sync-steps .is-current { color: var(--color-text); font-weight: var(--v2-strong-weight); }
.v2-sync-steps .is-current .v2-step-track { background: color-mix(in srgb, var(--v2-assist-accent) 55%, var(--color-border)); }
.v2-sync-steps .is-ready .v2-step-track { background: var(--v2-assist-accent); }
.v2-sync-steps .is-ready, .v2-sync-notice[data-status="loading"] :is(.v2-sync-symbol, .v2-sync-status) { color: var(--v2-assist-accent); }
.v2-sync-notice[data-status="loading"] .v2-sync-symbol { background: color-mix(in srgb, var(--v2-assist-accent) 10%, var(--color-surface)); }
.v2-sync-notice[data-status="error"] :is(.v2-sync-symbol, .v2-sync-status) { color: var(--v2-visual-danger); }

/* Each placeholder uses the real section geometry; none is an interactive control. */
.v2-loading-state { --v2-skeleton-fill: color-mix(in srgb, var(--color-text) 12%, var(--color-surface)); }
.v2-skeleton-shape { display: block; flex-shrink: 0; width: 100%; max-width: 100%; border-radius: 4px; background: var(--v2-skeleton-fill); }
.v2-skeleton-shape[data-width="68%"] { width: 68%; }
.v2-skeleton-shape[data-width="54%"] { width: 54%; }
.v2-skeleton-shape[data-width="76%"] { width: 76%; }
.v2-skeleton-shape[data-width="92%"] { width: 92%; }
.v2-skeleton-shape[data-width="192px"] { width: 192px; }
.v2-skeleton-shape[data-width="72px"] { width: 72px; }
.v2-skeleton-shape[data-width="84px"] { width: 84px; }
.v2-skeleton-shape[data-width="32%"] { width: 32%; }
.v2-skeleton-shape[data-width="44%"] { width: 44%; }
.v2-skeleton-shape[data-width="38%"] { width: 38%; }
.v2-skeleton-shape[data-width="136px"] { width: 136px; }
.v2-skeleton-shape[data-width="116px"] { width: 116px; }
.v2-skeleton-shape[data-width="63%"] { width: 63%; }
.v2-skeleton-shape[data-width="57%"] { width: 57%; }
.v2-skeleton-shape[data-width="112px"] { width: 112px; }
.v2-skeleton-shape[data-width="64px"] { width: 64px; }
.v2-skeleton-shape[data-width="88%"] { width: 88%; }
.v2-skeleton-shape[data-width="78px"] { width: 78px; }
.v2-skeleton-shape[data-width="52px"] { width: 52px; }
.v2-skeleton-shape[data-width="24px"] { width: 24px; }
.v2-skeleton-shape[data-width="26px"] { width: 26px; }
.v2-skeleton-shape[data-width="148px"] { width: 148px; }
.v2-skeleton-shape[data-width="64%"] { width: 64%; }
.v2-skeleton-shape[data-width="50%"] { width: 50%; }
.v2-skeleton-line { height: 12px; margin-block: 4px; }
.v2-skeleton-label { height: 10px; }
.v2-skeleton-title { height: 24px; margin-block: 4px 7px; }
.v2-skeleton-icon { width: 16px; height: 16px; }
.v2-skeleton-menu { width: 20px; height: 4px; margin-right: var(--v2-space-3); }
.v2-skeleton-meta { display: flex; align-items: center; gap: var(--v2-space-2); min-width: 0; }
.v2-skeleton-meta .v2-skeleton-label { flex-shrink: 1; }
.v2-skeleton-avatar { width: 24px; height: 24px; border-radius: 50%; }
.v2-skeleton-description { flex: 1; min-width: 0; }
.v2-skeleton-button { height: var(--v2-control-size); border-radius: 999px; }
.v2-skeleton-checkbox { width: 20px; height: 20px; border-radius: 6px; }
.v2-skeleton-priority { padding: var(--v2-space-6) 0; border-top: 1px solid var(--color-border); }
.v2-skeleton-priority .v2-card-top { min-height: 32px; }
.v2-skeleton-priority .v2-card-description { min-height: 24px; }
.v2-skeleton-priority .v2-card-body { gap: var(--v2-space-4); }
.v2-skeleton-priority .v2-checklist-row { cursor: default; }
.v2-skeleton-priority .v2-checklist-row:hover { background: transparent; }
.v2-skeleton-update { display: grid; grid-template-columns: 40px minmax(0, 1fr) var(--v2-control-size); gap: var(--v2-space-4); padding: var(--v2-space-6) 0; border-top: 1px solid var(--color-border); }
.v2-skeleton-update > .v2-skeleton-avatar { width: 40px; height: 40px; }
.v2-skeleton-update > .v2-skeleton-icon { margin: var(--v2-space-2) auto; }
.v2-skeleton-update .v2-skeleton-title { margin-block: var(--v2-space-2); }
.v2-loading-state[data-layout="updates"] { border-bottom: 1px solid var(--color-border); }
.v2-loading-state[data-layout="upcoming"] .v2-skeleton-list { display: grid; gap: var(--v2-space-6); }
.v2-skeleton-day > .v2-skeleton-line { margin-bottom: var(--v2-space-3); }
.v2-skeleton-upcoming { display: grid; grid-template-columns: 48px minmax(0, 1fr) var(--v2-control-size); gap: var(--v2-space-4); padding: var(--v2-space-6) 0; border-block: 1px solid var(--color-border); }
.v2-skeleton-upcoming > .v2-skeleton-icon { margin: var(--v2-space-2) auto; }
.v2-skeleton-date { display: flex; flex-direction: column; align-items: center; gap: var(--v2-space-1); align-self: start; padding: var(--v2-space-2) var(--v2-space-1); border: 1px solid var(--color-border); border-radius: 8px; }
.v2-skeleton-upcoming .v2-skeleton-title { margin-top: 0; }
.v2-panel-content .wa-save-button:disabled { opacity: .5; cursor: not-allowed; }
@media (prefers-reduced-motion: no-preference) {
  .v2-skeleton-list { animation: v2-loading-breathe 1.8s ease-in-out infinite alternate; }
  @keyframes v2-loading-breathe { from { opacity: .72; } to { opacity: 1; } }
}
@container main-panel (max-width: 600px) {
  .v2-sync-notice { padding: var(--v2-space-5); }
  .v2-sync-heading { flex-wrap: wrap; }
  .v2-sync-status { margin-left: 52px; }
  .v2-sync-eyebrow { flex-basis: calc(100% - 52px); }
  .v2-sync-steps { gap: var(--v2-space-4); }
}
@media (max-width: 560px) {
  .v2-quiet-state { gap: var(--v2-space-3); padding-inline: var(--v2-space-4); }
  .v2-quiet-art, .v2-quiet-state .v2-mascot { width: 88px; }
}
.v2-update-list { display: grid; border-bottom: 1px solid var(--color-border); }
.v2-briefing-item.v2-information-item {
  display: grid; grid-template-columns: 40px minmax(0, 1fr) var(--v2-control-size); align-items: start;
  gap: var(--v2-space-4); margin: 0; padding: var(--v2-space-6) 0;
  border: 0; border-top: 1px solid var(--color-border); border-radius: 0; background: transparent;
}
.v2-briefing-item.v2-information-item.v2-selected { margin-inline: calc(-1 * var(--v2-space-2)); padding-inline: var(--v2-space-4); border-radius: 12px; background: var(--v2-selection-surface); }
.v2-briefing-item.v2-upcoming-item { grid-template-columns: 48px minmax(0, 1fr) var(--v2-control-size); }
.v2-layout .v2-update-item > .c-avatar[data-avatar-tone] {
  --v2-update-avatar-fill: var(--v2-avatar-teal);
  width: 40px; height: 40px; font-size: var(--v2-initials-size);
  background: var(--v2-update-avatar-fill); color: color-mix(in srgb, var(--v2-update-avatar-fill) 24%, white);
}
.v2-layout .v2-update-item > .c-avatar[data-avatar-tone="rose"] { --v2-update-avatar-fill: var(--v2-avatar-rose); }
.v2-layout .v2-update-item > .c-avatar[data-avatar-tone="blue"] { --v2-update-avatar-fill: var(--v2-update-avatar-blue); }
.v2-layout .v2-update-item > .c-avatar[data-avatar-tone="violet"] { --v2-update-avatar-fill: var(--v2-update-avatar-violet); }
.v2-update-copy { min-width: 0; }
.v2-update-identity { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--v2-space-2); margin-bottom: var(--v2-space-1); color: var(--color-text-muted); font-size: var(--type-compact); font-weight: var(--type-compact-weight); line-height: var(--type-compact-line-height); }
.v2-update-identity > strong { color: var(--color-text); font-weight: var(--v2-strong-weight); }
.v2-update-copy > .v2-item-description { margin-top: var(--v2-space-2); max-width: none; color: var(--color-text-muted); }
.v2-information-open {
  display: grid; place-items: center; width: var(--v2-control-size); height: var(--v2-control-size);
  margin-top: calc(-1 * var(--v2-space-2)); padding: 0; border: 0; border-radius: 8px;
  background: transparent; color: var(--color-text-muted); cursor: pointer;
}
.v2-information-open:hover { color: var(--color-text); }
.v2-information-open:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }

/* ---- Assistant (connected chat). Appended block; existing rules unchanged. ---- */
#v2-home-view[hidden], #assistant-view[hidden], #assistant-recents[hidden], .v2-chat-composer[hidden] { display: none; }
.v2-chat {
  /* Comfortable reading scale, scoped to Assistant so Home/sidebar keep their scale. */
  --v2-chat-width: 720px;
  --v2-chat-text-size: 16px;
  --type-base: var(--v2-chat-text-size);
  --type-label: var(--v2-chat-text-size);
  --type-identity: var(--v2-chat-text-size);
  --type-field: var(--v2-chat-text-size);
  --type-emphasis: var(--v2-chat-text-size);
  --type-micro: var(--v2-chat-text-size);
  --type-caption: var(--v2-chat-text-size);
  --type-meta: var(--v2-chat-text-size);
  --type-compact: var(--v2-chat-text-size);
  --v2-initials-size: var(--v2-chat-text-size);
  --type-avatar: var(--v2-chat-text-size);
  --type-avatarSmall: var(--v2-chat-text-size);
  --type-avatarTiny: var(--v2-chat-text-size);
  --v2-chat-code-size: var(--v2-chat-text-size);
  --v2-answer-line-height: 1.75;
  --type-base-line-height: 1.75;
  --type-compact-line-height: 1.75;
  --type-field-line-height: 1.75;
  --type-caption-line-height: 1.5;
  --type-meta-line-height: 1.5;
  --v2-citation-line-height: 1.5;
  display: flex; flex-direction: column; min-height: calc(100% - 52px); padding: 0 var(--v2-space-6);
  font-size: var(--type-base); line-height: var(--type-base-line-height);
}
.v2-chat-thread { width: 100%; max-width: var(--v2-chat-width); margin: 0 auto; padding: var(--v2-space-6) 0; display: flex; flex-direction: column; gap: var(--v2-space-6); flex: 1; }
.v2-chat-blank { --v2-chat-width: 640px; justify-content: center; padding-block: calc(var(--v2-space-6) * 2); }
.v2-chat-blank .v2-chat-thread { flex: 0; padding: 0; }
.v2-chat-intro { width: 100%; max-width: var(--v2-chat-width); margin: 0 auto var(--v2-space-6); display: flex; flex-direction: column; align-items: center; gap: var(--v2-space-4); text-align: center; }
.v2-chat-mascot { width: 56px; height: auto; }
.v2-chat-welcome { display: flex; align-items: center; justify-content: center; gap: var(--v2-space-3); }
.v2-chat-welcome .v2-chat-mascot { width: 40px; flex: none; }
.v2-chat-greeting { margin: 0; color: var(--color-text); font-family: var(--v2-display-family, 'Timeless Serif', Georgia, serif); font-size: var(--v2-heading-size); font-weight: var(--type-section-weight); line-height: var(--v2-chat-heading-line-height); }
.v2-chat-note { margin: 0; color: var(--color-text-muted); font-size: var(--type-base); line-height: var(--type-base-line-height); }
.v2-chat-note a { color: var(--color-text); }
.v2-chat-prompts { list-style: none; margin: var(--v2-space-1) 0 var(--v2-space-2); padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--v2-space-2); width: 100%; }
.v2-chat-prompts[hidden] { display: none; }
.v2-chat-prompt { display: flex; align-items: center; gap: var(--v2-space-2); max-width: 240px; min-height: 36px; padding: var(--v2-space-2) var(--v2-space-3); border: 1px solid var(--color-border); border-radius: 999px; background: transparent; color: var(--color-text-muted); font: inherit; font-size: var(--type-base); text-align: left; cursor: pointer; }
.v2-chat-prompt > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-chat-prompt [data-solar] { width: 16px; height: 16px; flex: none; }
.v2-chat-prompt:hover { background: var(--color-surface-hover); color: var(--color-text); }
.v2-chat-prompt:focus-visible { outline: 2px solid var(--color-text); outline-offset: 3px; }
.v2-chat-consent { width: 100%; padding: var(--v2-space-5); border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); text-align: left; }
.v2-chat-consent h2 { margin: 0 0 var(--v2-space-2); font-family: var(--v2-display-family, 'Timeless Serif', Georgia, serif); font-size: var(--type-card); font-weight: var(--type-card-weight); }
.v2-chat-consent p { margin: 0 0 var(--v2-space-4); color: var(--color-text-muted); font-size: var(--type-base); line-height: var(--type-base-line-height); }
.v2-updates-settings { width: 100%; max-width: var(--v2-chat-width); margin: 0 auto; }
.v2-updates-settings[hidden], #assistant-updates-link[hidden], .v2-updates-dot[hidden] { display: none; }
.v2-updates-control-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--v2-space-3); margin-block: var(--v2-space-5); }
.v2-updates-control-status { display: flex; align-items: center; }
.v2-updates-status { padding: 2px var(--v2-space-2); border-radius: 999px; background: var(--color-surface-hover); color: var(--color-text-muted); line-height: var(--type-meta-line-height); }
.v2-updates-status[data-active="true"] { color: var(--color-accent); background: var(--color-accent-soft); }
.v2-updates-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--v2-space-2); }
.v2-updates-settings p { margin: var(--v2-space-3) 0; color: var(--color-text-muted); }
.v2-updates-info > span { display: grid; place-items: center; width: 20px; height: 20px; border: 1.5px solid currentColor; border-radius: 50%; font-weight: var(--v2-strong-weight); line-height: var(--type-meta-line-height); }
.v2-updates-info { width: 36px; height: 36px; flex: none; }
.v2-updates-info[hidden] { display: none; }
.v2-summary-open .v2-updates-info { visibility: hidden; }
.v2-updates-popup { position: fixed; inset: auto; width: min(360px, calc(100vw - 32px)); max-height: calc(100dvh - 80px); margin: 0; padding: var(--v2-space-5); overflow-y: auto; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-background); color: var(--color-text); box-shadow: var(--shadow-panel); font: inherit; }
.v2-updates-popup::backdrop { background: rgb(0 0 0 / .12); }
.v2-updates-popup-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--v2-space-3); }
.v2-updates-popup-heading h2 { margin: 0; font-size: var(--type-base); font-weight: var(--v2-strong-weight); }
.v2-updates-popup p { margin: var(--v2-space-4) 0 0; color: var(--color-text-muted); }
.v2-updates-popup .v2-icon-button { flex: none; }
.v2-updates-popup .v2-updates-actions { justify-content: flex-start; }
.v2-updates-popup .v2-action { min-height: 36px; padding: var(--v2-space-1) var(--v2-space-3); }
.v2-updates-popup-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--v2-space-3); padding-top: var(--v2-space-4); border-top: 1px solid var(--color-border); color: var(--color-text-muted); }
.v2-updates-learn-more { display: inline-flex; align-items: center; gap: var(--v2-space-1); border: 0; padding: 0; background: transparent; color: inherit; font: inherit; }
.v2-updates-learn-more:disabled { cursor: default; }
.v2-updates-empty-learn-more { color: var(--color-text-muted); cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.v2-updates-empty-learn-more:hover { color: var(--color-text); }
.v2-updates-empty-learn-more:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; border-radius: 2px; }
.v2-updates-preferences { border-top: 1px solid var(--color-border); }
.v2-updates-preferences > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-block: 16px; cursor: pointer; }
.v2-updates-preferences > summary::after { content: '+'; }
.v2-updates-preferences[open] > summary::after { content: '−'; }
.v2-updates-preferences > summary::-webkit-details-marker { display: none; }
.v2-updates-preferences [data-preference-count] { margin-left: auto; color: var(--color-text-muted); }
.v2-preferences-body { padding-bottom: 20px; }
.v2-preferences-status:empty { display: none; }
.v2-preferences-body form { display: grid; gap: 16px; margin-top: 16px; }
.v2-preferences-body [hidden] { display: none; }
.v2-preferences-body label { display: grid; gap: 8px; }
.v2-preferences-body :is(input,select) { min-width: 0; width: 100%; padding: 8px; border: 1px solid var(--color-border); border-radius: 8px; color: var(--color-text); background: var(--color-background); font: inherit; }
.v2-preferences-body :is(input,select):focus-visible, .v2-preference-link:focus-visible, .v2-updates-preferences > summary:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.v2-preference-row { display: flex; align-items: flex-start; gap: 8px; padding-block: 12px; border-bottom: 1px solid var(--color-border); }
.v2-preference-row > div { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.v2-preference-row :is(span,strong,small) { display: block; }
.v2-preference-row :is(span,small) { color: var(--color-text-muted); font-size: inherit; }
.v2-preference-row strong { font-weight: var(--v2-source-weight); }
.v2-preference-link { border: 0; padding: 4px 0; background: transparent; color: var(--color-text-muted); text-decoration: underline; text-underline-offset: 4px; font: inherit; cursor: pointer; }
.v2-preference-link:hover { color: var(--color-text); }
.v2-preference-link:disabled { cursor: default; text-decoration: none; }
.v2-preferences-body > [data-preference-add] { margin-top: 12px; }
.v2-preferences-form-actions, .v2-preference-receipt { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.v2-preference-receipt { margin-top: 12px; color: var(--color-text-muted); }
.v2-preference-chat-choice { display: block; width: 100%; border: 0; border-radius: 8px; padding: 8px; text-align: left; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.v2-preference-chat-choice:hover { background: var(--color-surface-hover); }
.v2-preference-chat-choice > span { color: var(--color-text-muted); }
.v2-updates-info[aria-expanded="true"] { background: var(--color-surface-hover); color: var(--color-text); }
@media (prefers-reduced-motion: no-preference) {
  .v2-updates-popup { opacity: 0; transform: translateY(-6px) scale(.985); transform-origin: top right; transition: opacity 180ms ease, transform 280ms var(--v2-motion-ease), display 280ms allow-discrete, overlay 280ms allow-discrete; }
  .v2-updates-popup:popover-open { opacity: 1; transform: translateY(0) scale(1); }
  .v2-updates-popup::backdrop { background: transparent; transition: background-color 220ms ease, display 280ms allow-discrete, overlay 280ms allow-discrete; }
  .v2-updates-popup:popover-open::backdrop { background: rgb(0 0 0 / .12); }
  .v2-updates-info, .v2-updates-popup :is(.v2-icon-button, .v2-action) { transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease; }
  @starting-style {
    .v2-updates-popup:popover-open { opacity: 0; transform: translateY(-6px) scale(.985); }
    .v2-updates-popup:popover-open::backdrop { background: transparent; }
  }
}
.v2-updates-settings .v2-updates-feedback { padding: var(--v2-space-3) 0; }
.v2-chat.v2-updates-empty { --v2-chat-width: 720px; justify-content: flex-start; padding-block: 0; }
.v2-updates-empty .v2-updates-settings { border-bottom: 0; padding-bottom: var(--v2-space-6); }
.v2-updates-welcome { width: 100%; max-width: 420px; margin: clamp(32px, 7vh, 72px) auto var(--v2-space-6); display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--v2-space-3); }
.v2-updates-art { display: block; width: 176px; height: 176px; object-fit: contain; margin-bottom: var(--v2-space-3); }
.v2-updates-welcome h2 { margin: 0; font-family: var(--v2-display-family, 'Timeless Serif', Georgia, serif); font-size: var(--type-detail); font-weight: var(--type-detail-weight); line-height: var(--type-detail-line-height); }
.v2-updates-settings .v2-updates-description { margin: 0 0 var(--v2-space-3); max-width: 36ch; text-wrap: balance; }
.v2-updates-settings .v2-updates-privacy { margin: 0; }
.v2-chat-dock[hidden] { display: none; }
.v2-updates-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--color-accent); margin-left: auto; flex: none; }

.v2-chat-dock { position: sticky; bottom: 0; width: 100%; max-width: var(--v2-chat-width); margin: 0 auto; padding-bottom: var(--v2-space-4); background: linear-gradient(transparent, var(--color-background) var(--v2-space-6)); display: flex; flex-direction: column; align-items: center; gap: var(--v2-space-2); }
.v2-chat-blank .v2-chat-dock { position: static; background: none; }
.v2-chat-composer { position: relative; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--v2-space-3); padding: var(--v2-space-4); border: 1px solid var(--color-border); border-radius: 20px; background: var(--color-surface-hover); box-shadow: 0 2px 8px rgb(0 0 0 / .04); }
.v2-chat-composer:focus-within { border-color: var(--color-text-muted); }
.v2-chat-composer textarea { grid-column: 1 / -1; width: 100%; min-width: 0; min-height: 40px; max-height: 200px; margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0; resize: none; overflow-y: auto; background: transparent; color: var(--color-text); font: inherit; font-size: var(--type-base); font-weight: var(--v2-source-weight); line-height: var(--type-base-line-height); }
.v2-chat-composer textarea::placeholder { color: var(--color-text-muted); opacity: 1; }
.v2-chat-composer-hint { color: var(--color-text-muted); font-size: var(--v2-initials-size); line-height: var(--type-caption-line-height); }
.v2-chat-send { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--v2-button-fill); color: var(--v2-button-text); cursor: pointer; }
.v2-chat-send:hover:not(:disabled) { background: var(--v2-button-hover); }
.v2-chat-send:disabled { background: var(--color-border); color: var(--color-text-muted); cursor: default; }
.v2-chat-send:focus-visible { outline: 2px solid var(--color-text); outline-offset: 3px; }
.v2-chat-send [data-solar] { width: 20px; height: 20px; }
.v2-chat-stop-mark { width: 12px; height: 12px; border-radius: 3px; background: currentColor; }
.v2-chat-jump { display: inline-flex; align-items: center; gap: var(--v2-space-1); padding: var(--v2-space-1) var(--v2-space-3); border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: var(--v2-initials-size); cursor: pointer; box-shadow: var(--shadow-panel); }

.v2-msg { display: flex; flex-direction: column; gap: var(--v2-space-2); }
.v2-msg-user { align-items: flex-end; }
.v2-bubble { max-width: 80%; padding: var(--v2-space-2) var(--v2-space-4); border-radius: 18px; background: var(--color-surface-hover); color: var(--color-text); font-size: var(--type-base); line-height: var(--type-base-line-height); white-space: pre-wrap; overflow-wrap: anywhere; }
.v2-updates-chat .v2-chat-thread { gap: var(--v2-space-5); }
.v2-updates-chat .v2-msg-assistant { align-items: flex-start; }
.v2-updates-chat .v2-msg-assistant > .v2-answer { width: fit-content; min-width: 0; max-width: 90%; padding: var(--v2-space-4) var(--v2-space-5); border-radius: 22px 22px 22px 6px; background: var(--color-surface-hover); }
.v2-updates-chat .v2-msg-assistant > .v2-answer:empty, .v2-updates-chat .v2-activity-wait { display: none; }
.v2-updates-chat .v2-answer > :last-child { margin-bottom: 0; }
.v2-updates-chat .v2-msg-user > .v2-bubble { padding: var(--v2-space-3) var(--v2-space-5); border-radius: 22px 22px 6px 22px; background: var(--color-accent-soft); }
.v2-updates-chat .v2-msg-actions { padding-inline: var(--v2-space-2); }
.v2-updates-chat .v2-chat-composer { display: flex; align-items: flex-end; border-radius: 28px; padding: var(--v2-space-3) var(--v2-space-4); }
.v2-updates-chat .v2-chat-composer textarea { min-height: 36px; }
.v2-updates-chat .v2-chat-composer-hint { display: none; }
.v2-typing-dots { display: flex; align-items: center; gap: 5px; height: 44px; padding-inline: var(--v2-space-4); border-radius: 22px 22px 22px 6px; background: var(--color-surface-hover); }
.v2-typing-dots > span { width: 7px; height: 7px; border-radius: 50%; background: var(--color-text-muted); animation: v2-typing 1.2s ease-in-out infinite; }
.v2-typing-dots > span:nth-child(2) { animation-delay: .15s; }
.v2-typing-dots > span:nth-child(3) { animation-delay: .3s; }
@keyframes v2-typing { 0%, 60%, 100% { opacity: .45; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .v2-typing-dots > span { animation: none; } }
.v2-msg-actions { display: flex; align-items: center; gap: var(--v2-space-1); opacity: 0; transition: opacity .15s; }
.v2-msg:hover .v2-msg-actions, .v2-msg:focus-within .v2-msg-actions, .v2-msg-assistant:last-child .v2-msg-actions { opacity: 1; }
.v2-icon-button { width: 32px; height: 32px; display: inline-grid; place-items: center; border: 0; border-radius: 8px; background: transparent; color: var(--color-text-muted); cursor: pointer; }
.v2-icon-button:hover:not(:disabled) { background: var(--color-surface-hover); color: var(--color-text); }
.v2-icon-button:disabled { opacity: .4; cursor: default; }
.v2-versions { display: inline-flex; align-items: center; color: var(--color-text-muted); font-size: var(--v2-initials-size); }
.v2-answer { color: var(--color-text); font-size: var(--type-base); line-height: var(--v2-answer-line-height); overflow-wrap: anywhere; }
.v2-answer > :first-child { margin-top: 0; }
.v2-answer p, .v2-answer ul, .v2-answer ol, .v2-answer pre { margin: 0 0 var(--v2-space-4); }
.v2-answer :is(ul, ol) > li + li { margin-top: var(--v2-space-2); }
.v2-answer ul, .v2-answer ol { padding-left: var(--v2-space-6); }
/* Photo-bearing lists need room between people, including rows with no available photo. */
.v2-answer :is(ul, ol):not(.v2-answer-contacts):has(> li .v2-profile-link) > li + li { margin-top: var(--v2-space-3); }
.v2-answer .v2-answer-contacts { padding-left: 0; list-style: none; }
.v2-answer .v2-answer-contacts > li { margin: 0; padding-block: var(--v2-space-4); }
.v2-answer .v2-answer-contacts > li + li { margin-top: 0; border-top: 1px solid var(--color-border); }
.v2-answer-chat { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--v2-space-2); padding-block: var(--v2-space-4); }
.v2-answer-chat + .v2-answer-chat { border-top: 1px solid var(--color-border); }
.v2-answer .v2-chat-title > .v2-profile-link { display: flex; gap: var(--v2-space-3); width: fit-content; line-height: var(--type-base-line-height); }
.v2-answer .v2-chat-title > .v2-profile-link .c-avatar { width: 32px; height: 32px; flex: 0 0 32px; }
.v2-answer-chat-meta { color: var(--color-text-muted); font-size: var(--v2-initials-size); font-weight: var(--type-base-weight); line-height: var(--type-caption-line-height); }
 .v2-chat-title { display: flex; align-items: center; gap: var(--v2-space-2); min-width: 0; }
.v2-chat-title > .v2-profile-link { min-width: 0; }
.v2-chat-title > .v2-profile-link > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-chat-unread { flex-shrink: 0; padding: 2px var(--v2-space-2); border-radius: 6px; background: var(--color-surface-hover); color: var(--color-text); font-size: var(--v2-initials-size); font-weight: var(--v2-identity-weight); line-height: var(--type-caption-line-height); }
.v2-chat-title .v2-answer-chat-meta { margin-left:auto; }
.v2-answer-chat > .v2-chat-open { justify-self:start; }
.v2-wa-excerpt { margin:var(--v2-space-3) 0; color:var(--color-text); }
.v2-wa-bubble { width:fit-content; min-width:240px; max-width:100%; box-sizing:border-box; padding:var(--v2-space-3) var(--v2-space-4); border-radius:10px; background:var(--color-surface-hover); border:1px solid var(--color-border); }
.v2-wa-heading { display:flex; align-items:center; flex-wrap:wrap; gap:var(--v2-space-2); margin-bottom:var(--v2-space-2); }
.v2-wa-origin { margin-left:auto; color:var(--color-text-muted); font-size:var(--v2-initials-size); font-weight:var(--v2-source-weight); line-height:var(--type-caption-line-height); }
.v2-wa-open :is(.solar,[data-solar]) { width:14px; height:14px; flex:0 0 14px; --solar-stroke-width:2; }
.v2-wa-sender { font-size:var(--type-base); font-weight:var(--v2-identity-weight); line-height:var(--type-base-line-height); }
.v2-answer .v2-wa-text { display:block; width:100%; margin:0; padding:0; border:0; background:transparent; color:var(--color-text); font:inherit; font-weight:var(--type-base-weight); line-height:var(--type-base-line-height); text-align:left; white-space:pre-wrap; overflow-wrap:anywhere; }
.v2-wa-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--v2-space-4); margin-top:var(--v2-space-2); color:var(--color-text-muted); font-size:var(--v2-initials-size); font-weight:var(--v2-source-weight); line-height:var(--type-caption-line-height); }
.v2-wa-open { display:inline-flex; align-items:center; gap:var(--v2-space-1); padding:var(--v2-space-1) 0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.v2-wa-open:hover { color:var(--color-text); }
.v2-wa-open:focus-visible { outline:2px solid var(--color-text-muted); outline-offset:4px; }
.v2-wa-compact { margin:0; }
.v2-wa-compact .v2-wa-text { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.v2-answer-quote { list-style:none; }
.v2-chat-open { display: inline-flex; align-items: center; justify-content: center; gap: var(--v2-space-2); flex-shrink: 0; min-height: 36px; padding: var(--v2-space-2); border: 0; border-radius: 6px; background: transparent; color: var(--color-text-muted); font: inherit; font-size: var(--v2-initials-size); line-height: var(--type-caption-line-height); cursor: pointer; }
.v2-chat-open :is(.solar, [data-solar]) { width: 16px; height: 16px; flex: 0 0 16px; --solar-stroke-width: 2; }
.v2-chat-open:hover { color: var(--color-text); }
.v2-chat-open:focus-visible { outline: 2px solid var(--color-text-muted); outline-offset: 2px; }
.v2-answer-contact { display: flex; align-items: flex-start; gap: var(--v2-space-3); padding-block: var(--v2-space-4); }
.v2-answer-contact + .v2-answer-contact { border-top: 1px solid var(--color-border); }
.v2-answer-contacts + .v2-answer-contact { border-top:1px solid var(--color-border); }
.v2-answer-contact > .c-avatar { width: calc(var(--v2-space-3) * 3); height: calc(var(--v2-space-3) * 3); flex-shrink: 0; font-size: var(--v2-initials-size); }
.v2-answer-contact-content { min-width: 0; }
.v2-answer-contact-heading { margin: 0; font-size: var(--type-large); font-weight: var(--v2-identity-weight); line-height: var(--type-caption-line-height); letter-spacing: var(--type-base-tracking); }
.v2-answer .v2-answer-contact-heading > .v2-profile-link { font-size: inherit; font-weight: inherit; line-height: inherit; }
.v2-answer .v2-answer-contact-name { display: inline; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--color-text); font: inherit; font-weight: var(--v2-identity-weight); text-align: left; cursor: pointer; }
.v2-answer-contact-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.v2-answer-contact-name:focus-visible { outline: 2px solid var(--color-text); outline-offset: 3px; }
.v2-answer-contact-copy { margin-top: var(--v2-space-2); color: var(--color-text); font-weight: var(--v2-source-weight); }
.v2-answer code { padding: 1px 4px; border-radius: 4px; background: var(--color-surface-hover); font-size: var(--v2-chat-code-size); }
.v2-answer pre { padding: var(--v2-space-3); border-radius: 8px; background: var(--color-surface-hover); overflow-x: auto; }
.v2-answer pre code { padding: 0; background: none; }
.v2-answer-quote-fallback { margin:0 0 var(--v2-space-4); padding:var(--v2-space-2) var(--v2-space-4); border-left:2px solid var(--color-border); color:var(--color-text-muted); }
.v2-table-wrap { overflow-x: auto; margin-bottom: var(--v2-space-3); }
.v2-answer table { border-collapse: collapse; font-size: var(--type-base); }
.v2-answer th, .v2-answer td { padding: var(--v2-space-1) var(--v2-space-3); border-bottom: 1px solid var(--color-border); text-align: left; }
.v2-msg-assistant[aria-busy="true"] .v2-answer > :last-child::after { content: '▍'; margin-left: 2px; color: var(--color-text-muted); animation: v2-caret 1s steps(2) infinite; }
@keyframes v2-caret { 50% { opacity: 0; } }
.v2-cite { display: inline-flex; align-items: center; margin: 0 1px; padding: 0 var(--v2-space-2); border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: var(--v2-initials-size); line-height: var(--v2-citation-line-height); vertical-align: baseline; cursor: pointer; }
.v2-cite:hover { background: var(--color-surface-hover); }
.v2-tool-shimmer { color: var(--color-text-muted); background: linear-gradient(90deg, var(--color-text-muted) 35%, var(--color-text) 50%, var(--color-text-muted) 65%) 0 0 / 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: v2-shimmer 2.2s linear infinite; }
@keyframes v2-shimmer { to { background-position: -300% 0; } }
.v2-tools { max-width: 560px; margin: 0; padding: 0; color: var(--color-text-muted); font-size: var(--type-base); font-weight: var(--v2-source-weight); line-height: var(--type-base-line-height); }
.v2-activity-wait { display: flex; align-items: center; gap: var(--v2-space-2); margin: 0; padding: 0; color: var(--color-text-muted); font-size: var(--type-base); font-weight: var(--type-base-weight); }
.v2-activity-wait .solar { width: 16px; height: 16px; --solar-stroke-width: 2; }
.v2-tools summary { display: flex; align-items: center; gap: var(--v2-space-2); width: fit-content; max-width: 100%; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; list-style: none; }
.v2-tools summary::-webkit-details-marker { display: none; }
.v2-tools summary:focus-visible { outline: 2px solid var(--color-text-muted); outline-offset: 3px; }
.v2-tool-summary-icon, .v2-tool-chevron, .v2-tool-node, .v2-tool-outcome { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-tools .solar { width: 16px; height: 16px; --solar-stroke-width: 2; }
.v2-tool-summary-icon { width: var(--v2-space-6); }
.v2-tool-title { color: var(--color-text-muted); font-weight: var(--type-base-weight); min-width: 0; overflow-wrap: anywhere; }
.v2-tool-count { margin-left: auto; padding-left: var(--v2-space-2); white-space: nowrap; font-size: var(--v2-initials-size); }
.v2-tool-chevron { margin-left: auto; width: var(--v2-space-6); height: var(--v2-space-6); transition: transform 200ms cubic-bezier(.2,.8,.2,1), opacity 160ms ease-out; }
.v2-tool-count + .v2-tool-chevron { margin-left: 0; }
.v2-tools[open] .v2-tool-chevron { transform: rotate(180deg); }
@media (hover: hover) and (pointer: fine) {
  .v2-tool-chevron { opacity: 0; }
  .v2-tools summary:hover .v2-tool-chevron, .v2-tools summary:focus-visible .v2-tool-chevron { opacity: 1; }
}
.v2-tool-tree { list-style: none; margin: var(--v2-space-2) 0 0; padding: 0; }
.v2-tool-step { display: flex; align-items: flex-start; gap: var(--v2-space-3); position: relative; padding: var(--v2-space-2) 0; }
.v2-tool-step::before { content: ''; position: absolute; left: 11px; top: 0; bottom: 0; width: 1px; background: var(--color-border); }
.v2-tool-step:first-child::before { top: var(--v2-space-5); }
.v2-tool-step:last-child::before { bottom: calc(100% - var(--v2-space-5)); }
.v2-tool-node { position: relative; width: var(--v2-space-6); height: var(--v2-space-6); background: var(--color-background); box-shadow: 0 0 0 var(--v2-space-1) var(--color-background); }
.v2-tool-step-copy { display: flex; flex-direction: column; gap: var(--v2-space-1); min-width: 0; padding-top: 1px; }
.v2-tool-label { overflow-wrap: anywhere; }
.v2-tool-detail { font-size: var(--v2-initials-size); }
.v2-tool-outcome { margin-left: auto; height: var(--v2-space-6); }
.v2-tool-outcome .solar { width: 12px; height: 12px; }
.v2-tool-step.is-working .v2-tool-node { color: var(--color-text); }
.v2-answer-note { margin: 0; color: var(--color-text-muted); font-size: var(--v2-initials-size); }
.v2-link-button { padding: 0; border: 0; background: none; color: var(--color-text); font: inherit; text-decoration: underline; cursor: pointer; }
.v2-edit { width: 100%; max-width: 80%; display: flex; flex-direction: column; gap: var(--v2-space-2); }
.v2-edit textarea { width: 100%; padding: var(--v2-space-3); border: 1px solid var(--v2-chat-field-border); border-radius: 12px; background: var(--v2-chat-field); color: var(--color-text); font: inherit; font-size: var(--type-base); resize: vertical; }
.v2-edit-actions { display: flex; justify-content: flex-end; gap: var(--v2-space-2); }

.v2-recents { position: relative; display: flex; flex: 1; flex-direction: column; gap: var(--v2-space-2); margin-top: var(--v2-space-6); min-height: 0; overflow: hidden; padding-bottom: var(--v2-space-3); }
.v2-recents-list { min-height: 0; overflow-y: auto; scrollbar-width: thin; overscroll-behavior: contain; }
.v2-recents::after { content:""; position:absolute; inset-inline:0; bottom:var(--v2-space-3); height:36px; background:linear-gradient(to bottom, transparent, var(--color-sidebar)); pointer-events:none; opacity:0; transition:opacity 160ms ease; }
.v2-recents[data-more-below]::after { opacity:1; }
@media (prefers-reduced-motion: reduce) { .v2-recents::after { transition:none; } }
.v2-sidebar-collapsed .v2-recents { display: none; }
.v2-recents-heading { flex-shrink: 0; margin: 0; padding: 0 var(--v2-space-3); color: var(--color-text-muted); font-size: var(--type-base); font-weight: var(--v2-source-weight); line-height: var(--type-base-line-height); }
.v2-recents-group ul { list-style: none; margin: 0; padding: 0; }
.v2-recent { position: relative; display: flex; align-items: center; border-radius: 8px; }
.v2-recent:hover, .v2-recent:focus-within { background: var(--color-surface-hover); }
.v2-recent a { flex: 1; min-width: 0; padding: var(--v2-space-2) var(--v2-space-3); color: var(--color-text); font-size: var(--type-base); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-recent a[aria-current="page"] { font-weight: var(--v2-sidebar-emphasis-weight); }
.v2-recent:has(a[aria-current="page"]) { background: var(--v2-sidebar-active-surface); }
/* Keep titles full-width until the row's actions are needed. Invisible controls
   remain keyboard-reachable; focus-within reveals them before activation. */
.v2-recent .v2-icon-button { position: absolute; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; opacity: 0; pointer-events: none; }
.v2-recent [data-delete] { right: var(--v2-space-1); }
.v2-recent [data-rename] { right: calc(28px + var(--v2-space-1)); }
.v2-recent:is(:hover, :focus-within) a { padding-right: calc(56px + var(--v2-space-2)); }
.v2-recent:is(:hover, :focus-within) .v2-icon-button { opacity: 1; pointer-events: auto; }
@media (prefers-reduced-motion: no-preference) { .v2-recent a { transition: padding-right 160ms ease; } }
@media (hover: none) { .v2-recent a { padding-right: calc(56px + var(--v2-space-2)); } .v2-recent .v2-icon-button { opacity: 1; pointer-events: auto; } }
.v2-recent-rename { flex: 1; min-width: 0; margin: 2px; padding: var(--v2-space-1) var(--v2-space-2); border: 1px solid var(--v2-chat-field-border); border-radius: 6px; background: var(--v2-chat-field); color: var(--color-text); font: inherit; font-size: var(--type-base); }

.v2-chat-loading { padding: var(--v2-space-6); }
.v2-chat-older { margin: var(--v2-space-2) auto; color: var(--color-text-muted); font-size: var(--v2-initials-size); text-align: center; }
.v2-chat-sync { display: flex; align-items: center; justify-content: space-between; gap: var(--v2-space-3); padding: var(--v2-space-2) var(--v2-space-3); border-bottom: 1px solid var(--color-border); color: var(--color-text-muted); font-size: var(--v2-initials-size); line-height: var(--type-base-line-height); }
.v2-chat-sync .v2-link-button { flex-shrink: 0; font-size: inherit; }
.v2-chat-highlight { outline: 2px solid var(--v2-assist-accent); outline-offset: 2px; }
.v2-continue { margin: 0 0 var(--v2-space-2); color: var(--color-text); font-size: var(--v2-initials-size); }
.v2-continue a { color: var(--color-text); font-weight: var(--type-base-weight); }
@media (prefers-reduced-motion: reduce) { .v2-tool-shimmer, .v2-msg-assistant[aria-busy="true"] .v2-answer > :last-child::after { animation: none; } .v2-tool-shimmer { background: none; -webkit-text-fill-color: currentColor; } .v2-msg-actions, .v2-tool-chevron { transition: none; } }
@media (max-width: 600px) { .v2-chat { padding: 0 var(--v2-space-4); } .v2-chat-prompts { grid-template-columns: 1fr; } .v2-bubble, .v2-edit { max-width: 92%; } .v2-msg-actions { opacity: 1; } }

/* Fixed answer building blocks; shared V2 color and type tokens cover both themes. */
:root { --v2-chat-code-size: 13px; --v2-chat-heading-line-height: 1.2; --v2-answer-line-height: 1.65; --v2-citation-line-height: 20px; }
.v2-layout-stack { display: grid; gap: var(--v2-space-4); }
.v2-answer .v2-layout-stack > :is(p, ul, ol) { margin: 0; }
.v2-layout-stack > ul:not(.v2-answer-contacts) > li + li { margin-top: var(--v2-space-3); }
.v2-generated-answer strong { font-weight: var(--v2-identity-weight); }
.v2-layout-icon { display: inline-flex; flex: none; width: 16px; height: 16px; --solar-stroke-width: 2; }
.v2-layout-card, .v2-layout-message, .v2-layout-facts { margin: 0; border: 1px solid var(--color-border); border-radius: 12px; padding: var(--v2-space-4); background: var(--color-surface); }
.v2-layout-card p { margin: var(--v2-space-1) 0 0; color: var(--color-text-muted); }
.v2-layout-message { padding:var(--v2-space-1) 0; border:0; background:transparent; }
.v2-layout-message header, .v2-layout-person { display:flex; align-items:center; gap:var(--v2-space-2); }
.v2-layout-message header span:last-child { color:var(--color-text-muted); }
.v2-layout-message footer { display:flex; gap:var(--v2-space-2); color:var(--color-text-muted); font-size:var(--v2-initials-size); }
.v2-layout-facts > div { display:grid; grid-template-columns:minmax(100px,1fr) 2fr; gap:var(--v2-space-3); padding:var(--v2-space-2) 0; }
.v2-layout-facts > div + div { border-top:1px solid var(--color-border); }
.v2-layout-facts dt, .v2-layout-record-label { color:var(--color-text-muted); }
.v2-layout-facts dd { margin:0; }
.v2-layout-facts:not(.v2-layout-counts) { padding:0; border:0; border-radius:0; }
.v2-layout-facts:not(.v2-layout-counts) > div { grid-template-columns:minmax(100px, .7fr) 2fr; padding:var(--v2-space-3) 0; }
.v2-layout-facts:not(.v2-layout-counts) dt { font-size:var(--v2-initials-size); }
.v2-layout-facts:not(.v2-layout-counts) dd { font-weight:var(--v2-identity-weight); }
.v2-layout-facts.v2-layout-counts { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:var(--v2-space-2); padding:0; border:0; background:transparent; }
.v2-layout-counts > div { display:flex; flex-direction:column; gap:var(--v2-space-2); padding:var(--v2-space-3); border:0; border-radius:10px; background:var(--color-surface-hover); }
.v2-layout-counts > div + div { border-top:0; }
.v2-layout-counts dt { display:flex; align-items:center; gap:var(--v2-space-2); font-size:var(--v2-initials-size); line-height:var(--type-caption-line-height); }
.v2-layout-counts dd { margin-top:auto; font-size:var(--type-card); font-weight:var(--v2-identity-weight); line-height:var(--type-card-line-height); }
.v2-layout-counts .v2-answer-sources { font-size:var(--type-base); font-weight:var(--v2-source-weight); }
.v2-layout-task { display:flex; flex-direction:column; gap:var(--v2-space-3); }
.v2-layout-record-label { display:flex; align-items:center; gap:var(--v2-space-2); font-size:var(--v2-initials-size); line-height:var(--type-caption-line-height); }
.v2-layout-record-state { display:inline-flex; align-items:center; gap:var(--v2-space-1); margin-left:auto; padding:var(--v2-space-1) var(--v2-space-2); border-radius:6px; background:var(--color-surface-hover); }
.v2-layout-task p.v2-layout-task-title { margin:0; color:var(--color-text); font-size:var(--type-large); font-weight:var(--v2-identity-weight); line-height:var(--type-large-line-height); }
.v2-layout-task p.v2-layout-task-date { display:flex; align-items:center; gap:var(--v2-space-2); margin:0; font-size:var(--v2-initials-size); }
.v2-layout-task > .v2-layout-actions { padding-top:var(--v2-space-3); border-top:1px solid var(--color-border); }
.v2-layout-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:var(--v2-space-3); }
.v2-layout-action { display:flex; flex-direction:column; align-items:flex-start; gap:var(--v2-space-2); max-width:100%; }
.v2-layout-warning, .v2-layout-note { display:block; color:var(--color-text-muted); font-size:var(--v2-initials-size); }
.v2-layout-warning { display:flex; align-items:flex-start; gap:var(--v2-space-2); max-width:54ch; color:var(--v2-decision-color); line-height:var(--type-caption-line-height); }
.v2-layout-review { max-width:56ch; color:var(--color-text-muted); font-size:var(--v2-initials-size); line-height:var(--type-caption-line-height); }
.v2-layout-review summary { display:flex; align-items:center; gap:var(--v2-space-2); min-height:28px; cursor:pointer; list-style:none; }
.v2-layout-review summary::-webkit-details-marker { display:none; }
.v2-layout-review summary > .v2-layout-icon:last-child { width:12px; height:12px; }
.v2-layout-review[open] summary > .v2-layout-icon:last-child { transform:rotate(180deg); }
.v2-layout-review summary:focus-visible { outline:2px solid var(--color-text); outline-offset:3px; border-radius:4px; }
.v2-layout-review.v2-layout-review-flagged summary { color:var(--v2-decision-color); }
.v2-answer .v2-layout-review p { margin:var(--v2-space-1) 0 0; padding-left:var(--v2-space-6); color:var(--color-text-muted); }
.v2-layout-change, .v2-layout-summary-change { display:flex; flex-wrap:wrap; align-items:center; gap:var(--v2-space-2); color:var(--color-text-muted); font-size:var(--v2-initials-size); line-height:var(--type-caption-line-height); }
.v2-layout-summary-change { padding-bottom:var(--v2-space-4); }
.v2-layout-update, .v2-layout-message footer .v2-link-button { display:inline-flex; align-items:center; gap:var(--v2-space-1); }
.v2-layout-complete { display:inline-flex; align-items:center; gap:var(--v2-space-2); color:var(--color-text-muted); }
.v2-layout-task-completed { border-color:transparent; background:var(--color-surface-hover); }
.v2-layout-person { padding:var(--v2-space-3) 0; border:0; border-radius:0; }
.v2-layout-person .v2-profile-link > .c-avatar { width:36px; height:36px; }
.v2-layout-person p { padding-left:calc(36px + var(--v2-space-2)); font-size:var(--v2-initials-size); }
.v2-layout-unavailable { display:flex; align-items:center; gap:var(--v2-space-2); flex-wrap:wrap; color:var(--color-text-muted); font-size:var(--type-base); }
.v2-layout-draft { width:100%; max-width:560px; border:1px dashed var(--color-text-muted); border-radius:12px 12px 4px 12px; }
.v2-layout-draft .v2-wa-footer { justify-content:flex-end; margin-top:var(--v2-space-4); }
.v2-layout-action .v2-layout-proposal-title { margin:0; font-weight:var(--v2-identity-weight); color:var(--color-text); }
.v2-layout-proposal { width:100%; box-sizing:border-box; }
.v2-layout-proposal .v2-layout-proposal-title { font-size:var(--type-large); line-height:var(--type-caption-line-height); }
.v2-layout-proposal-controls { display:flex; align-items:flex-start; flex-wrap:wrap; gap:var(--v2-space-3) var(--v2-space-4); padding-top:var(--v2-space-3); border-top:1px solid var(--color-border); }
.v2-layout-proposal-controls summary { min-height:40px; }
.v2-layout-actions:has(.v2-layout-draft, .v2-layout-proposal-title) { flex-direction:column; align-items:stretch; gap:var(--v2-space-5); }
.v2-layout-actions:has(.v2-layout-draft, .v2-layout-proposal-title) > .v2-layout-action + .v2-layout-action { padding-top:var(--v2-space-4); border-top:1px solid var(--color-border); }
.v2-layout-fact-group > .v2-answer-sources { margin-top:var(--v2-space-1); }

/* Shared person/group identity controls. Photos and names open profiles; sources open messages. */
.v2-profile-link, .v2-chat-profile { display:inline-flex; align-items:center; gap:var(--v2-space-2); max-width:100%; padding:0; border:0; background:transparent; color:var(--color-text); font:inherit; font-weight:var(--v2-identity-weight); text-align:left; vertical-align:middle; cursor:pointer; }
.v2-profile-link > .c-avatar { flex-shrink:0; width:24px; height:24px; font-size:var(--v2-initials-size); }
.v2-profile-link:hover > span:last-child { text-decoration:underline; text-underline-offset:3px; }
.v2-profile-link:focus-visible, .v2-chat-profile:focus-visible { outline:2px solid var(--color-text); outline-offset:3px; border-radius:4px; }
.v2-answer-contact-content { width:100%; }
.v2-answer-contact-content > .v2-profile-link > .c-avatar { width:32px; height:32px; }
.v2-answer-contact-copy { padding-left:0; }
.v2-answer-contact-copy > .v2-profile-link, .v2-group-update > .v2-profile-link { gap:var(--v2-space-1); line-height:var(--type-base-line-height); vertical-align:baseline; }
.v2-answer-contact-copy > .v2-profile-link > .c-avatar, .v2-group-update > .v2-profile-link > .c-avatar { width:20px; height:20px; align-self:center; }
.v2-group-updates { display:flex; flex-direction:column; gap:var(--v2-space-3); }
.v2-answer-sources { display:flex; flex-direction:column; align-items:flex-start; gap:var(--v2-space-2); margin-top:var(--v2-space-2); }
.v2-source-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--v2-space-4); }
.v2-source-open { display:inline-flex; align-items:center; gap:var(--v2-space-1); padding:var(--v2-space-1) 0; border:0; border-radius:4px; background:transparent; color:var(--color-text-muted); font:inherit; font-size:var(--v2-initials-size); font-weight:var(--v2-source-weight); cursor:pointer; }
/* Target rendered SVGs too: icon refreshes remove their data-solar marker. */
.v2-source-actions :is(svg, [data-solar]) { display:block; flex:0 0 14px; width:14px; height:14px; position:relative; top:-1px; }
.v2-source-open:hover { color:var(--color-text); }
.v2-source-open:focus-visible { outline:2px solid var(--color-text); outline-offset:3px; }
.v2-source-toggle { display:inline-flex; align-items:center; gap:var(--v2-space-1); padding:var(--v2-space-1) 0; border:0; border-radius:4px; background:transparent; color:var(--color-text-muted); font:inherit; font-size:var(--v2-initials-size); font-weight:var(--v2-source-weight); cursor:pointer; }
.v2-source-open, .v2-source-toggle { line-height:var(--type-caption-line-height); }
.v2-source-count { padding-inline:var(--v2-space-1); font-variant-numeric:tabular-nums; }
.v2-source-toggle[aria-expanded="true"] > :is(svg, [data-solar]):last-child { transform:rotate(180deg); }
.v2-source-toggle:hover { color:var(--color-text); }
.v2-source-toggle:focus-visible { outline:2px solid var(--color-text); outline-offset:3px; }
.v2-source-list { display:flex; flex-direction:column; gap:var(--v2-space-3); border-left:1px solid var(--color-border); padding:var(--v2-space-2) 0 var(--v2-space-2) var(--v2-space-3); }
.v2-source-list[hidden] { display:none; }
.v2-cite-group { display:flex; flex-wrap:wrap; align-items:center; column-gap:var(--v2-space-2); row-gap:var(--v2-space-1); font-size:var(--type-base); line-height:var(--type-base-line-height); }
.v2-cite-group > .v2-profile-link { font-size:var(--type-base); font-weight:var(--v2-identity-weight); color:var(--color-text); }
.v2-source-date, .v2-source-unavailable { color:var(--color-text-muted); font-size:var(--v2-initials-size); font-weight:var(--v2-source-weight); }
.v2-source-context { display:inline-flex; align-items:center; gap:var(--v2-space-2); color:var(--color-text-muted); }
.v2-cite-group .c-avatar { width:24px; height:24px; }
.v2-cite-group .v2-cite { gap:var(--v2-space-1); margin:0 0 0 var(--v2-space-2); padding:var(--v2-space-1) 0; border:0; border-radius:4px; background:transparent; color:var(--color-text-muted); font-size:var(--type-base); font-weight:var(--v2-source-weight); }
.v2-cite-group .v2-cite:hover { color:var(--color-text); text-decoration:underline; text-underline-offset:3px; }
.v2-cite:focus-visible { outline:2px solid var(--color-text); outline-offset:3px; }
.v2-layout-message header { flex-wrap:wrap; }
.v2-layout-message header .v2-profile-link > span:last-child { color:var(--color-text); }
.wa-chat-header > .v2-chat-profile { flex:1; min-width:0; }
.v2-chat-profile .wa-chat-identity { min-width:0; }
.v2-profile-panel { flex:1; width:100%; min-width:0; height:100%; background:var(--color-surface); }
.v2-profile-panel > header { display:flex; align-items:center; justify-content:space-between; padding:var(--v2-space-4); border-bottom:1px solid var(--color-border); }
.v2-profile-panel h2 { margin:0; font:inherit; font-size:var(--type-base); font-weight:var(--v2-identity-weight); }

/* Shared answer identities; metadata hierarchy comes from tone and weight. */
.v2-answer .v2-profile-link { gap:var(--v2-space-2); font-size:var(--type-base); line-height:var(--type-base-line-height); vertical-align:middle; }
.v2-answer .v2-profile-link > .c-avatar { width:24px; height:24px; flex:0 0 24px; }
.v2-answer .v2-profile-repeat > .c-avatar { display:none; }
.v2-answer .v2-profile-repeat { font-weight:var(--type-base-weight); }
.v2-answer :is(.v2-layout-task-title, .v2-layout-proposal-title) > .v2-profile-link { font:inherit; }
.v2-answer .v2-source-list .v2-profile-link > .c-avatar { display:inline-flex; }
.v2-answer .v2-cite, .v2-answer .v2-source-date { font-size:var(--v2-initials-size); font-weight:var(--v2-source-weight); }
.v2-answer .v2-wa-heading > .v2-profile-link { font-weight:var(--v2-identity-weight); }
.v2-source-actions :is(svg,[data-solar]) { top:0; }

/* People is a relationship workspace: a quiet directory beside the person's story. */
#people-view[hidden] { display: none; }
#people-view { margin-right: 0; }
.v2-summary-open #people-view { margin-right: 336px; }
.workspace-main:has(> #people-view:not([hidden])) { overflow: hidden; }
.v2-people { --people-title: 32px; --people-heading: 20px; --people-body: 16px; display: flex; flex-direction: column; height: calc(100% - 52px); min-height: 0; padding: 12px 32px 0; container: people / inline-size; font-family: var(--font-body); font-size: var(--type-base); line-height: var(--type-base-line-height); font-weight: var(--v2-source-weight); color: var(--color-text); }
.people-page-head { width: 100%; max-width: 1120px; margin: 0 auto 28px; flex-shrink: 0; }
.people-page-head h1 { margin: 0 0 4px; font-family: var(--v2-display-family); font-size: var(--people-title); font-weight: var(--type-section-weight); line-height: var(--type-section-line-height); }
.people-page-head p, .people-muted { margin: 0; color: var(--color-text-muted); }
.people-layout { display: grid; grid-template-columns: 252px minmax(0,1fr); width: 100%; max-width: 1120px; margin: 0 auto; flex: 1; min-height: 0; }
.people-directory { min-width: 0; min-height: 0; padding-right: 24px; }
.people-search { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-background); }
.people-search:focus-within { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.people-search input { width: 100%; min-width: 0; border: 0; outline: 0; padding: 0; background: transparent; color: inherit; font: inherit; }
.people-search .solar { color: var(--color-text-muted); }
.v2-people .solar { width: 18px; height: 18px; flex-shrink: 0; }
.people-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 6px 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.people-button:hover { background: var(--color-surface-hover); }
.people-button:disabled { opacity: .55; cursor: wait; }
.people-button[aria-pressed="true"] { color: var(--v2-assist-accent); background: color-mix(in srgb, var(--v2-assist-accent) 8%, transparent); }
.people-primary { background: var(--v2-assist-accent); color: var(--color-background); padding-inline: 16px; }
.people-primary:hover { background: var(--v2-assist-accent); opacity: .9; }
.people-filters { display: flex; flex-wrap: wrap; gap: 2px; margin: 12px 0; }
.people-filters .people-button { padding: 4px 7px; min-height: 32px; }
.people-directory-status { color: var(--color-text-muted); margin: 0 0 12px; }
.people-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 10px; margin-bottom: 4px; border: 0; border-radius: 10px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.people-row:hover { background: var(--color-surface-hover); }
.people-row[aria-current="true"] { background: color-mix(in srgb, var(--v2-assist-accent) 8%, var(--color-background)); }
.people-row > span:not(.c-avatar) { flex: 1; min-width: 0; }
.people-row strong, .people-chat-row strong { display: block; overflow-wrap: anywhere; font-weight: var(--v2-identity-weight); }
.people-row small, .people-chat-row small, .people-work-row small { display: block; color: var(--color-text-muted); font-size: var(--type-base); margin-top: 2px; }
.people-row > .solar { width: 16px; color: var(--v2-assist-accent); }
.people-row .c-avatar { width: 36px; height: 36px; flex-shrink: 0; }
.people-more { width: 100%; border-color: var(--color-border); margin-top: 12px; }
.people-detail { min-width: 0; min-height: 0; padding: 0 8px 24px 36px; border-left: 1px solid var(--color-border); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; }
.people-person-head { padding-bottom: 24px; }
.people-person-identity { display: flex; align-items: center; gap: 16px; }
.people-person-identity > .c-avatar { width: 64px; height: 64px; flex-shrink: 0; font-size: var(--people-heading); }
.people-person-identity > div { flex: 1; min-width: 0; }
.people-person-identity h2 { font-size: var(--people-title); line-height: var(--type-section-line-height); font-weight: var(--v2-identity-weight); margin: 0 0 4px; overflow-wrap: anywhere; letter-spacing: var(--type-section-tracking); }
.people-person-identity p { margin: 0; color: var(--color-text-muted); }
.people-person-identity > button { align-self: flex-start; }
.people-person-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; color: var(--color-text-muted); }
.people-person-meta .people-button { margin-left: auto; border-color: var(--color-border); color: var(--color-text); }
.people-tabs { display: flex; gap: 16px; border-bottom: 1px solid var(--color-border); margin-bottom: 24px; }
.people-tabs .people-button { border-radius: 0; margin-bottom: -1px; padding: 8px 4px 12px; border-width: 0 0 2px; color: var(--color-text-muted); }
.people-tabs [aria-current="page"] { color: var(--color-text); border-bottom-color: var(--v2-assist-accent); }
.people-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 0 0 24px; }
.people-stats strong { display: block; font-size: var(--people-title); line-height: var(--type-section-line-height); font-weight: var(--v2-source-weight); font-variant-numeric: tabular-nums; }
.people-stats span { display: block; color: var(--color-text-muted); margin-top: 4px; }
.people-insight { border: 1px dashed color-mix(in srgb,var(--v2-assist-accent) 30%,var(--color-border)); border-radius: 12px; padding: 12px 16px; color: var(--v2-assist-accent); }
.people-insight summary, .people-editor > summary { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; }
.people-insight summary::-webkit-details-marker, .people-editor > summary::-webkit-details-marker { display: none; }
.people-insight summary > .solar:last-child { margin-left: auto; }
.people-insight p { margin: 12px 0 4px; font-size: var(--people-body); }
.people-insight small { color: var(--color-text-muted); font-size: var(--type-base); }
.people-section { padding: 28px 0; border-bottom: 1px solid var(--color-border); }
.people-section:last-child { border-bottom: 0; }
.people-section > header { display: flex; align-items: center; gap: 12px; justify-content: space-between; margin-bottom: 16px; }
.people-section h3 { margin: 0; font-size: var(--people-heading); font-weight: var(--v2-identity-weight); line-height: var(--type-card-line-height); }
.people-section header p { margin: 6px 0 0; color: var(--color-text-muted); }
.people-editor > summary { color: var(--v2-assist-accent); width: fit-content; padding: 4px 0; }
.people-editor form { margin-top: 16px; display: grid; gap: 16px; }
.people-editor fieldset { border: 0; padding: 0; margin: 0; }
.people-labels { display: flex; flex-wrap: wrap; gap: 8px; }
.people-labels label { display: flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid var(--color-border); border-radius: 8px; cursor: pointer; }
.people-labels label:has(:checked) { color: var(--v2-assist-accent); border-color: var(--v2-assist-accent); }
.people-labels input { accent-color: var(--v2-assist-accent); }
.people-field { display: grid; gap: 8px; }
.people-field input, .people-field select { width: 100%; min-height: 40px; border: 1px solid var(--color-border); padding: 10px 12px; border-radius: 8px; background: var(--color-background); color: inherit; font: inherit; }
.people-editor button[type="submit"] { justify-self: start; }
.people-chat-row { display: flex; align-items: center; width: 100%; gap: 12px; padding: 16px 0; border: 0; border-bottom: 1px solid var(--color-border); background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.people-chat-row > span:not(.c-avatar) { flex: 1; min-width: 0; }
.people-chat-row > time { color: var(--color-text-muted); }
.people-chat-row .c-avatar { flex-shrink: 0; }
.people-chat-row:hover { color: var(--v2-assist-accent); }
.people-work-row { display: flex; align-items: flex-start; gap: 12px; padding: 16px 0; }
.people-work-row > div { min-width: 0; }
.people-work-row strong { font-size: var(--people-body); font-weight: var(--v2-source-weight); overflow-wrap: anywhere; }
.people-work-row.is-done strong { text-decoration: line-through; color: var(--color-text-muted); }
.people-work-row .people-button { padding-left: 0; color: var(--v2-assist-accent); }
.people-check { display: grid; place-items: center; padding: 4px; border: 0; background: transparent; color: var(--v2-assist-accent); cursor: pointer; }
.people-count { display: inline-block; margin-left: 12px; color: var(--color-text-muted); font-size: var(--type-base); font-weight: var(--v2-source-weight); }
.people-empty { display: grid; justify-items: center; text-align: center; padding: 64px 24px; color: var(--color-text-muted); }
.people-empty h3 { color: var(--color-text); font-size: var(--people-heading); font-weight: var(--v2-identity-weight); margin: 16px 0 8px; line-height: var(--type-card-line-height); }
.people-empty p { max-width: 320px; margin: 0; }
.people-empty-symbol { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 20px; color: var(--v2-assist-accent); background: color-mix(in srgb,var(--v2-assist-accent) 7%,transparent); }
.people-empty-symbol .solar { width: 28px; height: 28px; }
.people-directory .people-empty { padding: 32px 8px; }
.people-directory .people-empty h3 { font-size: var(--people-body); }
.people-detail > .people-empty { padding-top: 120px; }
.people-back { display: none; margin-bottom: 16px; }
.people-loading i { display: block; height: 56px; margin: 8px 0; border-radius: 10px; background: var(--color-surface-hover); }
.v2-people :is(button, summary, input, textarea, select):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  #people-view { transition: margin-right 360ms var(--v2-motion-ease); }
  .v2-people :is(button, summary, input) { transition: background 160ms ease, color 160ms ease, border-color 160ms ease; }
  .people-person-body { animation: people-reveal 220ms ease both; }
  @keyframes people-reveal { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
}
@container people (max-width: 680px) {
  .people-layout { grid-template-columns: 1fr; }
  .people-directory { position: static; padding: 0; }
  .people-detail { display: none; padding: 0; border: 0; }
  .has-person .people-detail { display: block; }
  .has-person .people-directory { display: none; }
  .people-back { display: inline-flex; }
  .people-person-identity { flex-wrap: wrap; gap: 12px; }
  .people-person-identity h2 { font-size: var(--people-heading); }
  .people-person-identity > button { margin-left: auto; }
  .people-chat-row > time { display: none; }
}
@media (max-width: 600px) { .v2-people { padding: 12px 20px 0; } .v2-summary-open #people-view { margin-right: 0; } }
.v2-profile-overview { padding: 24px; overflow: auto; font-size: var(--type-base); line-height: var(--type-base-line-height); overflow-wrap: anywhere; }
.v2-profile-overview > .c-avatar { width: 64px; height: 64px; }
.v2-profile-overview h3 { margin: 16px 0 8px; font-size: var(--type-card); line-height: var(--type-card-line-height); font-weight: var(--v2-identity-weight); }
.v2-profile-overview p { margin: 12px 0; color: var(--color-text-muted); }
.v2-profile-overview .v2-action { margin-top: 12px; text-decoration: none; }
.people-person-identity h2:focus { outline: none; }
.people-check-empty { display: block; width: 18px; height: 18px; border: 1.5px solid var(--color-text-muted); border-radius: 50%; }
.people-directory { display: flex; flex-direction: column; }
.people-directory > [data-people-list] { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; }
.people-directory-status, .people-search, .people-filters, .people-more { flex-shrink: 0; }
@container people (max-width: 680px) { .people-directory { max-height: none; } }
.people-history-note { margin: -8px 0 20px; color: var(--color-text-muted); }

/* People shares the app's action, selection and WhatsApp excerpt treatments. */
.people-button { gap: var(--v2-space-2); padding: var(--v2-space-2) var(--v2-space-4); border-color: var(--color-border); border-radius: 999px; background: var(--color-background); }
.people-button:hover { border-color: var(--color-text-muted); }
.people-primary { background: var(--v2-button-fill); border-color: var(--v2-button-fill); color: var(--v2-button-text); }
.people-primary:hover { background: var(--v2-button-hover); border-color: var(--v2-button-hover); opacity: 1; }
.people-filters .people-button, .people-back, .people-tabs .people-button, .people-section > header .people-button, .people-work-row .people-button { border-color: transparent; background: transparent; }
.people-filters .people-button { border-radius: 6px; }
.people-filters .people-button[aria-pressed="true"] { background: var(--color-surface-hover); color: var(--color-text); }
.people-tabs .people-button { border-radius: 0; padding: 8px 4px 12px; }
.people-tabs [aria-current="page"] { border-bottom-color: var(--v2-assist-accent); }
.people-person-identity > [data-person-important] { border-color: transparent; }
.people-person-identity > [data-person-important][aria-pressed="true"] { background: var(--v2-selection-surface); }
.people-relationship legend { margin-bottom: var(--v2-space-3); color: var(--color-text-muted); }
.people-field textarea { width: 100%; min-height: 88px; border: 1px solid var(--v2-chat-field-border); border-radius: 10px; padding: 12px; background: var(--v2-chat-field); color: inherit; resize: vertical; font: inherit; line-height: var(--type-base-line-height); }
.people-notes dl { margin: 0 0 16px; }
.people-notes dl > div + div { margin-top: 16px; }
.people-notes dt { color: var(--color-text-muted); }
.people-notes dd { margin: 4px 0 0; font-size: var(--people-body); white-space: pre-wrap; overflow-wrap: anywhere; }
.people-chats-section { padding-top: 0; border-bottom: 0; }
.people-recent-section { padding-top: 8px; }
.people-chat-row { position: relative; padding: 16px 8px; border-bottom: 0; border-radius: 8px; }
.people-chat-row:not(:last-child)::after { content: ''; position: absolute; bottom: 0; left: 64px; right: 8px; height: 1px; background: var(--color-border); }
.people-chat-row:hover { color: var(--color-text); background: var(--color-surface-hover); }
.people-chat-row > .c-avatar { width: 44px; height: 44px; }
.people-chat-copy { display: grid; gap: 4px; min-width: 0; }
.people-chat-top { display: flex; align-items: baseline; gap: 16px; }
.people-chat-top strong { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.people-chat-top time { flex-shrink: 0; color: var(--color-text-muted); }
.people-chat-preview { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--color-text-muted); }
.people-messages { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 16px 8px; }
.people-messages .v2-wa-excerpt { margin: 0; max-width: 90%; }
.people-messages .v2-wa-bubble { position: relative; min-width: min(240px,100%); border: 0; border-radius: 0 10px 10px; background: var(--wa-in); color: var(--wa-text); box-shadow: 0 1px 1px #0001; }
.people-messages .v2-wa-bubble::before { content: ''; position: absolute; top: 0; left: -7px; border-top: 8px solid var(--wa-in); border-left: 8px solid transparent; }
.people-messages [data-direction="outgoing"] { align-self: flex-end; }
.people-messages [data-direction="outgoing"] .v2-wa-bubble { border-radius: 10px 0 10px 10px; background: var(--wa-out); }
.people-messages [data-direction="outgoing"] .v2-wa-bubble::before { left: auto; right: -7px; border-left: 0; border-right: 8px solid transparent; border-top-color: var(--wa-out); }
.people-messages .v2-wa-text { margin: 0; border: 0; padding: 0; font-size: var(--people-body); font-weight: var(--v2-source-weight); line-height: var(--type-base-line-height); white-space: pre-wrap; overflow-wrap: anywhere; }
.people-messages :is(.v2-wa-origin, .v2-wa-footer) { color: var(--wa-muted); font-size: var(--type-base); }
.people-message-group { color: var(--wa-muted); }
:root[data-theme="light"] .people-messages .v2-wa-bubble { box-shadow: 0 0 0 1px var(--color-border), 0 1px 1px #0001; }
