/* Native titlebar metrics remain stable while the workspace has its own identity. */
:root {

    font-size: 16px;

    font-family: Geist, "Segoe UI", sans-serif;

    --surface-alpha: 1;

}

html,
body,
#app {

    width: 100%;

    height: 100%;

    min-height: 0;

}

body {

    font-size: 14px;

    -webkit-font-smoothing: antialiased;

    text-rendering: optimizeLegibility;

}

html[data-view="overlay"],
html[data-view="control"],
html[data-view="overlay"] body,
html[data-view="control"] body,
html[data-view="overlay"] #app,
html[data-view="control"] #app {

    background: transparent !important;

}

body.dark-panel {

    --muted-foreground: var(--identity-light-secondary);

}

.dashboard-window {

    height: 100vh;

    display: flex;

    flex-direction: column;

    background: var(--sidebar);

    position: relative;

    overflow: hidden;

    color: var(--foreground);

}

.dashboard-titlebar {

    height: 36px;

    min-height: 36px;

    padding: 0 16px;

    position: relative;

    display: flex;

    align-items: center;

    -webkit-app-region: drag;

    user-select: none;

}

.dashboard-titlebar button,
.dashboard-titlebar input {

    -webkit-app-region: no-drag;

}

.history-navigation {

    display: flex;

    align-items: center;

}

.history-navigation .icon-btn {

    width: 23px;

    height: 23px;

    margin-top: 3px;

    color: var(--muted-foreground);

}

.global-search {

    position: absolute;

    left: 50%;

    transform: translateX(-50%);

    top: 6px;

    width: 45vw;

    max-width: 470px;

    height: 26px;

    display: flex;

    align-items: center;

    gap: 7px;

    border: 1px solid var(--border);

    border-radius: 8px;

    background: var(--muted);

    color: var(--muted-foreground);

    padding: 0 8px;

    font-size: 11px;

    box-shadow: 0 1px 1px #00000003;

}

.global-search span {

    flex: 1;

    text-align: left;

}

.global-search kbd {

    background: transparent;

    border: 0;

    font-size: 10px;

    padding: 0;

}

.titlebar-account {

    margin-left: auto;

    display: flex;

    align-items: center;

    gap: 8px;

    padding-top: 3px;

}

.account-button {

    height: 30px;

    width: 30px;

    border-radius: var(--radius-panel);

    border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);

    background: var(--muted);

    font-size: 12px;

    font-weight: 500;

    color: var(--muted-foreground);

}

.titlebar-account .window-controls {

    gap: 2px;

}

.titlebar-account .icon-btn {

    width: 32px;

    height: 25px;

}

.dashboard-frame {

    flex: 1;

    min-height: 0;

    border: 1px solid var(--border);

    border-radius: var(--radius-panel);

    margin: 4px 10px 10px;

    overflow: hidden;

    background: var(--background);

    position: relative;

}

.dashboard-frame.capture-protected {

    border-style: dashed;

}

.dashboard-scroll {

    height: 100%;

    overflow: auto;

}

.dashboard-container {

    width: 100%;

    max-width: 928px;

    margin: auto;

}

.dashboard-home {

    display: flex;

    min-height: 100%;

    flex-direction: column;

}

.dashboard-overview {

    padding: 28px 28px 24px;

    background: var(--background);

    border-bottom: 1px solid var(--border);

}

.release-badge {

    background: #dcfce7;

    color: #15803d;

    font-size: 14px;

    font-weight: 500;

    border-radius: 8px;

    padding: 4px 12px 4px 14px;

    display: flex;

    gap: 6px;

    align-items: center;

    margin: -4px 0 12px;

}

.release-badge:hover {

    background: #bbf7d0;

}

.dark-panel .release-badge {

    background: #052e16;

    color: #86efac;

}

.overview-heading {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    min-height: 43px;

}

.overview-tools {

    display: flex;

    align-items: center;

    gap: 10px;

}

.overview-tools h1 {

    font-size: 26px;

    font-weight: 600;

    letter-spacing: -0.65px;

    color: var(--foreground);

    margin-right: 8px;

}

.round-outline {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    height: 32px;

    min-width: 32px;

    border: 1px solid var(--border);

    border-radius: 10px;

    background: var(--background);

    color: color-mix(in oklab, var(--muted-foreground) 80%, transparent);

    font-size: 12px;

    padding: 0 8px;

}

.round-outline:hover {

    color: var(--foreground);

    background: var(--muted);

}

.mini-switch {

    width: 27px;

    height: 15px;

    border-radius: 8px;

    background: #a1a1aa;

    position: relative;

    margin-left: 2px;

}

.mini-switch:after {

    content: "";

    width: 11px;

    height: 11px;

    position: absolute;

    left: 2px;

    top: 2px;

    background: white;

    border-radius: 50%;

    box-shadow: 0 1px 2px #0002;

}

.mini-switch.on {

    background: var(--primary);

}

.mini-switch.on:after {

    left: 14px;

}

.start-tools {

    display: flex;

    align-items: center;

    gap: 18px;

}

.mode-selector {

    padding: 5px 8px;

    font-size: 12px;

    background: transparent;

    border-color: var(--border);

    border-radius: 8px;

    max-width: 155px;

    height: 30px;

}

.start-button {

    height: 41px;

    padding: 0 22px;

    border-radius: 10px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    background: var(--action);

    color: var(--action-foreground);

    border: 1px solid var(--action);

    font-size: 14px;

    font-weight: 600;

    letter-spacing: -0.15px;

    box-shadow: 0 2px 3px #00000012;

    transition: background-color 150ms ease, border-color 150ms ease;

}

.start-button:hover {

    background: var(--action-hover);
    border-color: var(--action-hover);

}

.calendar-prompt {

    font-size: 14px;

    color: var(--muted-foreground);

    line-height: 20px;

    margin-top: 24px;

}

.calendar-prompt button {

    font-weight: 500;

    padding: 0;

    color: var(--primary);

    text-decoration: underline;

    text-underline-offset: 3px;

}

.upcoming-meetings {

    display: grid;

    grid-template-columns: minmax(0, 1fr) 250px;

    gap: 12px;

    margin-top: 24px;

}

.next-meeting {

    position: relative;

    padding: 8px 8px 8px 24px;

}

.next-meeting:before {

    content: "";

    position: absolute;

    left: 4px;

    top: 8px;

    bottom: 8px;

    width: 3px;

    background: var(--primary);

    border-radius: 4px;

}

.next-meeting small {

    font-size: 12px;

}

.next-meeting h2 {

    font-size: 20px;

    font-weight: 500;

    letter-spacing: -0.4px;

}

.next-meeting .flex {

    margin-top: 5px;

    justify-content: space-between;

}

.next-meeting p {

    margin-top: 8px;

    font-size: 14px;

    color: var(--muted-foreground);

}

.meeting-join {

    padding: 4px 8px;

    border-radius: 8px;

    color: var(--primary);

    background: color-mix(in oklab, var(--primary) 15%, transparent);

    display: flex;

    align-items: center;

    gap: 4px;

    font-size: 12px;

    font-weight: 500;

}

.later-meetings {

    display: grid;

    gap: 8px;

}

.later-meeting {

    border: 1px solid var(--border);

    padding: 10px 12px;

    border-radius: 8px;

    text-align: left;

    background:
      radial-gradient(ellipse at 100% 0, #78bb971c, transparent 65%),
      var(--background);

}

.later-meeting strong {

    font-size: 14px;

    font-weight: 500;

    display: block;

}

.later-meeting small {

    font-size: 12px;

    margin-top: 3px;

    display: block;

}

.dashboard-history {

    flex: 1;

    padding: 0 28px 28px;

}

.history-group {

    padding-top: 24px;

}

.history-group > h2 {

    font-size: 13px;

    font-weight: 600;

    color: var(--muted-foreground);

    padding: 8px 0;

    margin-bottom: 8px;

    position: sticky;

    top: 0;

    background: var(--background);

    z-index: 1;

    letter-spacing: 0;

}

.meeting-row {

    border-radius: 10px;

    position: relative;

    margin-bottom: 10px;
    border: 1px solid var(--border);
    background: var(--background);

    display: flex;

    align-items: center;

    min-height: 76px;

    padding: 0 14px;

}

.meeting-row:hover {

    background: color-mix(in oklab, var(--selected) 45%, var(--background));
    border-color: color-mix(in oklab, var(--primary) 45%, var(--border));

}

.meeting-main {

    display: flex;

    align-items: center;

    gap: 12px;

    text-align: left;

    flex: 1;

    min-width: 0;

    padding: 12px 0;

}

.meeting-row-symbol {

    width: 36px;

    height: 36px;

    background: var(--muted);

    border-radius: 10px;

    display: grid;

    place-items: center;

    color: var(--muted-foreground);

    flex-shrink: 0;

}

.meeting-row-copy {

    min-width: 0;

    flex: 1;

}

.meeting-row-copy strong {

    font-size: 14px;

    font-weight: 600;

    display: block;

    overflow: hidden;

    white-space: nowrap;

    text-overflow: ellipsis;

}

.meeting-row-copy p {

    font-size: 13px;

    color: var(--muted-foreground);

    margin-top: 5px;

    overflow: hidden;

    white-space: nowrap;

    text-overflow: ellipsis;

}

.meeting-row-meta {

    display: flex;

    gap: 12px;

    align-items: center;

    flex-shrink: 0;

    font-size: 11px;

    color: var(--muted-foreground);

    margin-left: 16px;

}

.meeting-row-meta small {

    font-size: 11px;

}

.session-live {

    font-size: 10px;

    color: var(--primary);

    background: color-mix(in oklab, var(--primary) 10%, transparent);

    padding: 3px 6px;

    border-radius: 6px;

}

.meeting-row-actions {

    display: flex;

    margin-left: 8px;

    opacity: 0;

}

.meeting-row:hover .meeting-row-actions,
.meeting-row:focus-within .meeting-row-actions {

    opacity: 1;

}

.meeting-row-actions .icon-btn {

    width: 26px;

    height: 26px;

}

.first-session {

    margin-top: 24px;

    border: 1px dashed var(--border);

    border-radius: 8px;

    padding: 32px;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 24px;

    text-align: center;

}

.empty-header {

    max-width: 448px;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 12px;

}

.empty-symbol {

    width: 40px;

    height: 40px;

    display: grid;

    place-items: center;

    border-radius: 8px;

    background: var(--muted);

    color: var(--foreground);

}

.empty-header h2 {

    font-size: 18px;

    font-weight: 500;

    letter-spacing: -0.4px;

}

.empty-header p {

    font-size: 14px;

    line-height: 21px;

    color: var(--muted-foreground);

}

.btn.neutral-primary {

    background: var(--foreground);

    color: var(--background);

    height: 36px;

    font-size: 14px;

    border-radius: 6px;

}

.btn {

    font-size: 13px;

    letter-spacing: 0;

    border-radius: 6px;

    height: 36px;

}

.btn.primary {

    background: var(--primary);

}

.account-menu {

    position: absolute;

    right: 115px;

    top: 37px;

    width: 195px;

    padding: 4px;

    border-radius: 7px;

    border: 1px solid var(--border);

    background: var(--background);

    box-shadow: 0 4px 18px #0002;

    z-index: 30;

}

.account-menu-header {

    padding: 7px 8px;

}

.account-menu-header strong,
.account-menu-header small {

    display: block;

    font-size: 12px;

}

.account-menu-header small {

    font-size: 11px;

    margin-top: 4px;

}

.account-menu button {

    display: flex;

    align-items: center;

    gap: 8px;

    width: 100%;

    text-align: left;

    padding: 7px 8px;

    font-size: 12px;

    border-radius: 8px;

}

.account-menu button:hover {

    background: var(--muted);

}

.account-menu hr {

    border: 0;

    border-top: 1px solid var(--border);

    margin: 4px -4px;

}

.studio-dialog-backdrop {

    position: absolute;

    inset: 0;

    z-index: 40;

    background: #0008;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 48px 32px;

    backdrop-filter: none;

}

.studio-dialog {

    display: grid;

    grid-template-columns: 232px 1fr;

    width: min(calc(100vw - 64px), 960px);

    height: min(calc(100dvh - 80px), 760px);

    background: var(--background);

    border: 1px solid var(--border);

    border-radius: 12px;

    box-shadow: 0 18px 60px #0004;

    overflow: hidden;

    color: var(--foreground);

}

.dialog-sidebar {

    display: flex;

    flex-direction: column;

    min-height: 0;

    background: color-mix(in oklab, var(--muted) 40%, transparent);

    border-right: 1px solid var(--border);

    padding: 16px 12px;

    overflow: auto;

}

.dialog-close {

    height: 32px;

    margin-bottom: 12px;

}

.dialog-close .icon-btn {

    height: 32px;

    width: 32px;

    color: var(--muted-foreground);

}

.dialog-sidebar nav {

    display: grid;

    gap: 6px;

}

.dialog-nav {

    height: 34px;

    display: flex;

    align-items: center;

    gap: 8px;

    width: 100%;

    padding: 6px 12px;

    text-align: left;

    border-radius: 6px;

    font-size: 14px;

    font-weight: 500;

    color: var(--muted-foreground);

}

.dialog-nav:hover {

    color: var(--foreground);

}

.dialog-nav.selected {

    background: color-mix(in oklab, var(--foreground) 5%, transparent);

    color: var(--foreground);

}

.dialog-sidebar h3 {

    font-size: 12px;

    font-weight: 600;

    padding: 16px 12px 8px;

    color: var(--muted-foreground);

}

.dialog-content {

    padding: 28px;

    min-width: 0;

    min-height: 0;

    overflow: auto;

}

.settings-heading h2 {

    font-size: 18px;

    font-weight: 600;

    letter-spacing: 0;

}

.settings-heading p {

    font-size: 13px;

    color: var(--muted-foreground);

    margin-top: 7px;

    line-height: 20px;

}

.preferences-group {

    display: grid;

    gap: 24px;

    margin: 20px 0 40px;

}

.preference-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 16px;

}

.preference-copy {

    display: flex;

    align-items: center;

    gap: 16px;

    min-width: 0;

}

.preference-icon {

    height: 48px;

    width: 48px;

    border-radius: 10px;

    background: var(--muted);

    color: var(--muted-foreground);

    display: grid;

    place-items: center;

    flex-shrink: 0;

}

.preference-copy h3 {

    font-size: 13px;

    font-weight: 600;

    letter-spacing: 0;

}

.preference-copy p {

    font-size: 13px;

    line-height: 1.35;

    color: var(--muted-foreground);

    margin-top: 3px;

    max-width: 310px;

}

.preference-control {

    display: flex;

    gap: 7px;

    align-items: center;

    flex-shrink: 0;

}

.preference-control select {

    font-size: 13px;

    height: 32px;

    padding: 5px 9px;

    max-width: 160px;

    border-radius: 10px;

    background: var(--background);

}

.preference-control input[type="range"] {

    width: 125px;

}

.preference-control .btn {

    height: 31px;

    padding: 0 10px;

    font-size: 13px;

}

.toggle {

    width: 32px;

    height: 18px;

    background: var(--border);

}

.toggle:after {

    width: 14px;

    height: 14px;

    top: 2px;

    left: 2px;

}

.toggle.on:after {

    left: 16px;

}

.version-badge {

    display: inline-flex;

    align-items: center;

    padding: 3px 8px;

    font-size: 11px;

    border: 1px solid var(--border);

    border-radius: 5px;

    color: var(--muted-foreground);

    white-space: nowrap;

}

.audio-test-card {

    border: 1px solid var(--border);

    border-radius: 6px;

    padding: 12px;

    text-align: center;

    background: color-mix(in oklab, var(--background) 70%, transparent);

}

.audio-meter {

    height: 56px;

    display: flex;

    align-items: flex-end;

    justify-content: center;

    gap: 4px;

    padding-bottom: 6px;

}

.audio-meter i {

    height: 8px;

    width: 6px;

    border-radius: 20px;

    background: var(--primary);

    opacity: 0.2;

}

.audio-test-card p {

    font-size: 12px;

    line-height: 1.35;

    color: var(--muted-foreground);

    margin: 4px auto;

    max-width: 350px;

}

.text-button {

    font-size: 12px;

    color: var(--muted-foreground);

    text-decoration: underline;

    text-underline-offset: 3px;

    padding: 5px 0;

}

.advanced-settings {

    margin-top: -8px;

}

.advanced-settings summary {

    display: flex;

    align-items: center;

    justify-content: space-between;

    cursor: pointer;

    padding: 12px;

    margin: -12px;

    list-style: none;

    border-radius: 6px;

}

.advanced-settings summary:hover {

    background: var(--muted);

}

.advanced-settings[open] summary {

    margin-bottom: 12px;

}

.advanced-settings .preferences-group {

    margin-bottom: 12px;

}

.settings-legacy > h2 {

    font-size: 14px;

    letter-spacing: 0;

}

.settings-legacy > .subtitle {

    font-size: 12px;

    margin-top: 3px;

}

.settings-legacy .preference-row {

    margin-top: 22px;

}

.settings-legacy .shortcut-input {

    width: 190px;

    font-size: 11px;

    padding: 7px 8px;

    height: 32px;

}

.settings-legacy .preference-copy p:empty {

    display: none;

}

.settings-legacy .notice {

    font-size: 12px;

}

.settings-legacy .preference-copy h3 {

    max-width: 190px;

}

.connection-card {

    display: flex;

    align-items: center;

    gap: 14px;

    padding: 16px;

    border: 1px solid var(--border);

    border-radius: 8px;

    margin-top: 20px;

}

.connection-card h3 {

    font-size: 13px;

    font-weight: 600;

}

.connection-card p {

    font-size: 12px;

    color: var(--muted-foreground);

    margin-top: 4px;

}

.provider-mark {

    display: grid;

    place-items: center;

    width: 38px;

    height: 38px;

    border: 1px solid var(--border);

    border-radius: 6px;

    color: #4285f4;

    font-size: 27px;

    font-family: Arial, sans-serif;

    font-weight: 600;

}

.provider-mark.outlook {

    color: #1682db;

}

.connection-card + .section-head {

    margin-top: 32px;

}

.dialog-content .section-head h2 {

    font-size: 14px;

    letter-spacing: 0;

}

.dialog-content .section-head {

    margin-bottom: 12px;

}

.dialog-content .document {

    margin-top: 10px;

}

.dialog-content > .stack .empty {

    font-size: 12px;

}

.dialog-content > .notice {

    margin-top: 22px;

}

.profile-identity {

    display: flex;

    align-items: center;

    gap: 15px;

    margin: 24px 0;

}

.profile-avatar {

    width: 56px;

    height: 56px;

    border-radius: 50%;

    background: var(--muted);

    display: grid;

    place-items: center;

    font-size: 24px;

    color: var(--muted-foreground);

}

.profile-identity h3 {

    font-size: 15px;

    font-weight: 500;

}

.profile-identity p {

    font-size: 12px;

    color: var(--muted-foreground);

    margin-top: 4px;

}

.dialog-content .fields {

    gap: 16px;

}

.dialog-content .field label {

    font-size: 12px;

}

.dialog-content .field input,
.dialog-content .field textarea {

    font-size: 13px;

    padding: 8px 10px;

    border-radius: 6px;

}

.dialog-content .form-footer {

    margin-top: 20px;

}

.plan-card {

    border: 1px solid var(--border);

    background:
      radial-gradient(ellipse at 100% 0, #78bb971c, transparent 60%),
      var(--background);

    padding: 24px;

    border-radius: 8px;

    margin-top: 20px;

}

.plan-card h2 {

    font-size: 24px;

    font-weight: 500;

    letter-spacing: -0.6px;

    margin-top: 18px;

}

.plan-card p {

    font-size: 12px;

    color: var(--muted-foreground);

    margin-top: 8px;

    line-height: 1.6;

}

.plan-status {

    font-size: 12px;

    display: flex;

    align-items: center;

    gap: 7px;

    margin-top: 18px;

}

.settings-footnote {

    font-size: 12px;

    color: var(--muted-foreground);

    line-height: 1.6;

}

.recording-dot {

    height: 6px;

    width: 6px;

    border-radius: 50%;

    background: #16a173;

    display: inline-block;

    flex-shrink: 0;

}

.mode-sidebar-heading {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 12px 12px;

    font-size: 12px;

    color: var(--muted-foreground);

}

.active-dot {

    margin-left: auto;

    background: var(--primary);

    height: 6px;

    width: 6px;

    border-radius: 50%;

}

.mode-editor-title {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 16px;

    margin-bottom: 35px;

}

.mode-editor-title h1 {

    font-size: 30px;

    font-weight: 500;

    letter-spacing: -0.75px;

    line-height: 1.2;

}

.mode-active {

    display: flex;

    align-items: center;

    gap: 4px;

    height: 28px;

    padding: 0 10px;

    border-radius: 8px;

    font-size: 12px;

    color: var(--selected-foreground);

    background: var(--selected);

    white-space: nowrap;

}

.dark-panel .mode-active {

    background: var(--selected);

    color: var(--selected-foreground);

}

.mode-section {

    margin-bottom: 32px;

}

.mode-section > label,
.mode-section h2 {

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 0;

}

.prompt-editor {

    border: 1px solid var(--border);

    border-radius: 8px;

    margin-top: 12px;

    overflow: hidden;

}

.editor-toolbar {

    display: flex;

    align-items: center;

    gap: 18px;

    padding: 8px 12px;

    border-bottom: 1px solid var(--border);

    color: var(--muted-foreground);

    font-size: 13px;

    user-select: none;

}

.editor-toolbar small {

    font-size: 10px;

}

.prompt-editor textarea {

    border: 0;

    width: 100%;

    border-radius: 0;

    padding: 14px;

    min-height: 135px;

    font-size: 13px;

    line-height: 1.6;

    resize: vertical;

    background: transparent;

    outline: none;

}

.editor-save {

    display: flex;

    justify-content: flex-end;

    margin-top: 9px;

}

.editor-save .btn {

    height: 30px;

    font-size: 12px;

}

.section-description {

    font-size: 12px;

    color: var(--muted-foreground);

    margin-bottom: 12px;

}

.mode-action-list {

    border: 1px solid var(--border);

    border-radius: 8px;

    overflow: hidden;

}

.mode-action {

    display: flex;

    gap: 10px;

    align-items: center;

    padding: 10px 12px;

    border-bottom: 1px solid var(--border);

    color: var(--muted-foreground);

    font-size: 13px;

}

.mode-action:last-child {

    border: 0;

}

.mode-action > span:first-of-type {

    color: var(--foreground);

    flex: 1;

}

.mode-action .icon-btn {

    width: 23px;

    height: 23px;

}

.action-badge {

    font-size: 10px;

    color: var(--muted-foreground);

}

.reference-empty {

    border: 1px solid var(--border);

    border-radius: 8px;

    padding: 20px;

    text-align: center;

    display: grid;

    justify-items: center;

    gap: 10px;

    font-size: 14px;

    color: var(--muted-foreground);

}

.reference-file {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 12px 16px;

    border: 1px solid var(--border);

    border-radius: 8px;

    margin: 8px 0;

}

.reference-symbol {

    width: 40px;

    height: 40px;

    display: grid;

    place-items: center;

    border-radius: 6px;

    background: var(--muted);

    color: var(--muted-foreground);

}

.reference-file h3 {

    font-size: 14px;

    font-weight: 600;

}

.reference-file small {

    font-size: 12px;

    display: block;

    margin-top: 3px;

}

.reference-upload {

    text-align: center;

    margin-top: 10px;

}

.context-preview {

    border: 1px solid var(--border);

    border-radius: 8px;

    padding: 16px;

}

.context-preview h3 {

    font-size: 14px;

    font-weight: 500;

}

.context-preview p {

    font-size: 12px;

    line-height: 1.6;

    color: var(--muted-foreground);

    margin-top: 8px;

}

.ongoing-card {

    position: absolute;

    bottom: 24px;

    left: 24px;

    display: flex;

    align-items: center;

    gap: 16px;

    background: var(--background);

    border: 1px solid var(--border);

    border-radius: 12px;

    box-shadow: 0 5px 15px #0002;

    padding: 10px;

    z-index: 20;

}

.ongoing-card > button:first-child {

    text-align: left;

}

.ongoing-card strong {

    font-size: 14px;

    font-weight: 400;

    display: flex;

    align-items: center;

    gap: 6px;

    max-width: 250px;

}

.ongoing-card small {

    font-size: 10px;

    display: flex;

    align-items: center;

    gap: 6px;

    margin-top: 5px;

}

.ongoing-card .icon-btn {

    border: 1px solid var(--border);

    border-radius: 50%;

    width: 28px;

    height: 28px;

    color: #e05d5d;

}

.session-detail {

    height: 100%;

    display: flex;

    flex-direction: column;

}

.detail-header {

    padding: 24px 32px 20px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    border-bottom: 1px solid var(--border);

}

.detail-header h1 {

    font-size: 24px;

    font-weight: 500;

    letter-spacing: -0.6px;

    margin-top: 8px;

}

.detail-date {

    font-size: 12px;

    color: var(--muted-foreground);

}

.detail-columns {

    display: grid;

    grid-template-columns: minmax(0, 1fr) 340px;

    flex: 1;

    min-height: 0;

}

.meeting-notes {

    min-width: 0;

    overflow: auto;

}

.detail-tabs {

    height: 48px;

    display: flex;

    gap: 24px;

    padding: 0 32px;

    border-bottom: 1px solid var(--border);

    position: sticky;

    top: 0;

    background: var(--background);

    z-index: 1;

}

.detail-tabs button {

    height: 100%;

    font-size: 13px;

    position: relative;

    color: var(--muted-foreground);

}

.detail-tabs button.selected {

    color: var(--foreground);

    font-weight: 500;

}

.detail-tabs button.selected:after {

    position: absolute;

    content: "";

    bottom: 0;

    left: 0;

    right: 0;

    height: 2px;

    background: var(--foreground);

}

.detail-tabs span {

    font-size: 11px;

    margin-left: 5px;

    color: var(--muted-foreground);

}

.detail-notes-content {

    padding: 28px 32px;

}

.detail-notes-content .markdown {

    color: var(--foreground);

    font-size: 14px;

    line-height: 1.7;

}

.saved-answer {

    margin-bottom: 30px;

}

.saved-answer .section-head h2 {

    font-size: 16px;

    letter-spacing: -0.3px;

}

.notes-empty {

    font-size: 14px;

    color: var(--muted-foreground);

    padding: 20px 0;

}

.notes-empty p {

    font-size: 12px;

    line-height: 1.6;

    margin-top: 8px;

}

.detail-transcript {

    margin-bottom: 22px;

    font-size: 13px;

    line-height: 1.7;

}

.detail-transcript > div {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 7px;

}

.detail-transcript strong {

    font-size: 12px;

    font-weight: 500;

}

.detail-transcript small {

    font-size: 11px;

}

.detail-transcript p {

    color: var(--foreground);

}

.session-assistant {

    border-left: 1px solid var(--border);

    padding: 16px;

    display: flex;

    flex-direction: column;

    min-height: 0;

    background: color-mix(in oklab, var(--muted) 20%, transparent);

}

.session-assistant-title {

    display: flex;

    align-items: center;

    gap: 8px;

    font-size: 13px;

    font-weight: 500;

    padding: 4px 0 14px;

}

.detail-chat-log {

    flex: 1;

    overflow: auto;

    min-height: 0;

}

.detail-chat-log > article {

    padding: 12px 0 20px;

    border-bottom: 1px solid var(--border);

}

.detail-chat-log .markdown {

    color: var(--foreground);

    font-size: 13px;

}

.detail-chat-log > article > small {

    display: block;

    margin-bottom: 10px;

    font-size: 11px;

}

.detail-chat-empty {

    height: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 12px;

    color: var(--muted-foreground);

    font-size: 12px;

}

.detail-chat-composer {

    border: 1px solid var(--border);

    border-radius: 12px;

    padding: 10px;

    background: var(--background);

    display: flex;

    align-items: flex-end;

    margin-top: 12px;

}

.detail-chat-composer textarea {

    padding: 0;

    background: transparent;

    border: 0;

    resize: none;

    font-size: 12px;

    width: 100%;

    outline: none;

    line-height: 1.6;

}

.detail-chat-composer > button {

    width: 26px;

    height: 26px;

    border-radius: 50%;

    background: var(--foreground);

    color: var(--background);

    display: grid;

    place-items: center;

    flex-shrink: 0;

}

.detail-chat-log .markdown pre,
.detail-notes-content .markdown pre {

    background: var(--muted);

    color: var(--foreground);

    border-color: var(--border);

}

.detail-chat-log .markdown code,
.detail-notes-content .markdown code {

    color: inherit;

}

.standalone-page {

    padding: 24px;

}

.standalone-page > .settings-heading {

    margin-top: 30px;

}

.standalone-page > .settings-heading h2 {

    font-size: 28px;

    letter-spacing: -0.7px;

    font-weight: 500;

}

.help-steps {

    display: grid;

    gap: 26px;

    margin-top: 32px;

}

.help-step {

    display: flex;

    align-items: flex-start;

    gap: 16px;

}

.help-step h3 {

    font-size: 14px;

    font-weight: 600;

    margin: 3px 0 7px;

}

.help-step p {

    font-size: 13px;

    color: var(--muted-foreground);

    line-height: 1.6;

    max-width: 540px;

}

.release-heading {

    margin-top: 32px;

}

.release-heading h1 {

    font-size: 30px;

    font-weight: 500;

    letter-spacing: -0.8px;

    margin: 20px 0 12px;

    max-width: 600px;

}

.release-heading p,
.release-body p {

    font-size: 14px;

    color: var(--muted-foreground);

    line-height: 1.7;

    max-width: 650px;

}

.release-body h2 {

    font-size: 18px;

    font-weight: 500;

    margin: 32px 0 10px;

}

.search-dialog {

    padding: 0;

    width: 600px;

    border-radius: 12px;

    overflow: hidden;

}

.search-dialog .modal-head {

    display: none;

}

.command-input {

    display: flex;

    align-items: center;

    gap: 12px;

    border-bottom: 1px solid var(--border);

    padding: 14px 18px;

    color: var(--muted-foreground);

}

.command-input input {

    border: 0;

    background: transparent;

    outline: none;

    flex: 1;

    padding: 3px;

    font-size: 14px;

}

.command-results {

    max-height: 420px;

    overflow: auto;

    padding: 8px;

}

.command-results > p {

    font-size: 11px;

    color: var(--muted-foreground);

    padding: 7px 10px;

}

.command-results > button {

    display: flex;

    align-items: center;

    gap: 10px;

    width: 100%;

    text-align: left;

    border-radius: 6px;

    padding: 11px 10px;

    font-size: 13px;

}

.command-results > button:hover {

    background: var(--muted);

}

.command-results small {

    margin-left: auto;

    font-size: 11px;

}

.overview-heading {

    min-height: 53px;

}

.calendar-prompt button {

    color: var(--primary);

    text-decoration: none;

}

.btn.neutral-primary {

    color: var(--foreground);

    background: var(--background);

    height: 32px;

    padding: 0 10px;

}

.start-button {

    padding: 0 17px;

    border-width: 1px;

    border-color: var(--action);

    box-shadow: 0 2px 3px #00000012;

}

.start-button svg {

    width: 17px;

    height: 17px;

}

.modes-dialog .dialog-content {

    padding: 32px;

}

.editor-toolbar {

    gap: 6px;

}

.editor-toolbar button {

    width: 26px;

    height: 25px;

    border-radius: 4px;

    display: grid;

    place-items: center;

    font-size: 13px;

}

.editor-toolbar button:hover {

    background: var(--muted);

}

.detail-title-edit {

    font: inherit;

    letter-spacing: inherit;

    text-align: left;

    padding: 0;

    border-radius: 4px;

}

.detail-title-edit:hover {

    background: var(--muted);

}

/* Transparent HTML, opaque glyphs, and native monitor scale: no bitmap zoom. */
.assistant {

    position: relative;

    padding-top: 9px;

}

.overlay-drag-handle {

    position: absolute;

    inset: 0 0 auto;

    height: 10px;

    z-index: 2;

    -webkit-app-region: drag;

}

.assistant.compact .answer-area {

    display: none;

}

.assistant.expanded .answer-area {

    display: block;

    padding: 8px 18px 4px;

    flex: 1;

    min-height: 0;

}

.assistant .quick-actions {

    margin-top: auto;

    flex-shrink: 0;

    min-height: 32px;

    align-items: center;

    padding: 0 10px;

    overflow-x: auto;

}

.assistant .chip {

    padding: 6px 8px;

    font-size: 12px;

    white-space: nowrap;

}

.assistant .composer-wrap {

    padding: 6px 10px 10px;

    flex-shrink: 0;

}

.assistant .composer {

    padding: 9px 8px 7px;

}

.assistant .composer textarea {

    min-height: 32px;

    height: 32px;

    max-height: 80px;

    line-height: 20px;

    font-size: 13px;

    resize: none;

    font-weight: 500;

}

.assistant .composer-footer {

    padding-top: 5px;

    height: 29px;

    gap: 5px;

}

.composer-footer select {

    background: transparent;

    border: 0;

    padding: 3px 5px;

    font-size: 12px;

    font-weight: 500;

    max-width: 145px;

    color: #d1d1d8;

    height: 26px;

    outline: none;

}

.composer-auto {

    display: flex;

    align-items: center;

    gap: 5px;

    font-size: 11px;

    color: #8f8d9c;

    border: 1px solid #ffffff13;

    border-radius: 5px;

    padding: 4px 6px;

    height: 24px;

}

.composer-auto.active {

    color: var(--identity-mint);

    background: #347c5528;

    border-color: #6cddb440;

}

.composer-footer .send {

    margin-left: 3px;

    flex-shrink: 0;

}

.chat-collapse {

    height: 27px;

    min-height: 27px;

    display: flex;

    align-items: center;

    padding: 0 9px;

    gap: 7px;

    font-size: 12px;

    color: #a1a1aa;

    user-select: none;

    -webkit-app-region: drag;

}

.chat-collapse .icon-btn {

    -webkit-app-region: no-drag;

    height: 24px;

    width: 24px;

    border-radius: 6px;

    background: #2b3930;

    box-shadow: none;

}

.chat-collapse .overlay-recording-status {

    font-size: 10px;

    color: #a5b3a9;

}

.chat-collapse .icon-btn:last-child {

    background: transparent;

    box-shadow: none;

    color: #a5b3a9;

}

.compact-capture-indicator {

    height: 19px;

    padding: 3px 14px 0;

    flex-shrink: 0;

    font-size: 10px;

    color: #85818f;

    display: flex;

    gap: 5px;

    align-items: center;

}

.compact-capture-indicator span {

    display: flex;

    align-items: center;

    gap: 5px;

}

.overlay-menu {

    position: absolute;

    bottom: 116px;

    left: 10px;

    width: calc(100% - 20px);

    max-height: 365px;

    overflow: auto;

    background: #222126;

    border: 1px solid #ffffff18;

    box-shadow: 0 7px 24px #0005;

    border-radius: 8px;

    padding: 4px;

    z-index: 20;

}

.overlay-menu-caption {

    display: flex;

    justify-content: space-between;

    font-size: 11px;

    color: #93909f;

    padding: 7px 9px;

    font-weight: 500;

}

.overlay-menu button {

    width: 100%;

    display: flex;

    align-items: center;

    gap: 10px;

    text-align: left;

    font-size: 12px;

    color: #d4d2de;

    padding: 7px 9px;

    border-radius: 4px;

}

.overlay-menu button:hover {

    background: #ffffff0d;

}

.overlay-menu button small {

    margin-left: auto;

    font-size: 10px;

}

.overlay-menu hr {

    border: 0;

    border-top: 1px solid #ffffff12;

    margin: 4px -4px;

}

.browser-preview .overlay-shell {

    width: 540px;

    height: var(--overlay-height, 152px);

}

html:has(body.browser-preview) {

    background: #101218 !important;

}

.calendar-events {

    display: grid;

    gap: 8px;

    margin-top: 18px;

}

.calendar-events > article {

    display: flex;

    gap: 9px;

    align-items: center;

    border: 1px solid var(--border);

    padding: 12px;

    border-radius: 8px;

}

.calendar-events > article > div {

    flex: 1;

}

.calendar-events strong,
.calendar-events small {

    display: block;

    font-size: 13px;

}

.calendar-events small {

    font-size: 11px;

    margin-top: 5px;

}

.calendar-events .btn {

    font-size: 12px;

    height: 30px;

}

.calendar-empty {

    margin-top: 24px;

}

.overlay-shell {

    padding: 0;

    height: 100vh;

}

.assistant {

    border-radius: 10px;

    border: 1px solid #6887736b;
    border-top: 2px solid #67c79e;

    background: rgb(20 29 24 / var(--surface-alpha));

    box-shadow: none;

    isolation: isolate;

}

.overlay-top {

    height: 36px;

    padding: 0 11px;

    gap: 8px;

}

.overlay-top .wordmark {

    font-size: 12px;

}

.overlay-top select {

    font-size: 12px;

    height: 25px;

    padding: 3px 7px;

    background: transparent;

    border: 0;

}

.overlay-top .icon-btn {

    height: 24px;

    width: 24px;

}

.live-status {

    font-size: 11px;

    padding: 1px 12px 9px;

}

.live-status .btn {

    font-size: 11px;

    height: 26px;

}

.overlay-tabs {

    padding: 0 12px;

    gap: 8px;

}

.overlay-tab {

    font-size: 12px;

    padding: 8px 10px;

}

.answer-area {

    padding: 16px 18px;

}

.answer-welcome {

    padding: 5px 18px 20px;

}

.answer-welcome h2 {

    font-size: 21px;

    font-weight: 500;

}

.answer-welcome > p {

    font-size: 13px;

    line-height: 1.6;

}

.suggestion {

    font-size: 13px;

    border: 1px solid #ffffff12;

    background: #ffffff04;

    padding: 10px 12px;

    margin: 1px 0;

    border-radius: 8px;

}

.suggestion:hover {

    background: #ffffff05;

}

.answer-mark {

    display: none;

}

.response-meta {

    font-size: 11px;

}

.markdown {

    font-size: 14px;

    line-height: 1.65;

}

.markdown code {

    font-size: 12px;

}

.markdown pre {

    font-size: 12px;

}

.markdown h1,
.markdown h2,
.markdown h3 {

    font-size: 15px;

}

.user-message {

    font-size: 12px;

    background: #235641;

    border: 0;

    border-radius: 10px 10px 3px 10px;

    box-shadow: none;

    color: #f4f4f5;

    padding: 7px 10px;

}

.response-card {

    margin-bottom: 25px;

}

.quick-actions {

    padding: 8px 10px 0;

    gap: 5px;

    scrollbar-width: none;

}

.chip {

    font-size: 12px;

    border: 1px solid #ffffff18;

    background: #ffffff04;

    border-radius: 6px;

    padding: 6px 8px;

    color: #c2c1c9;

    font-weight: 500;

    gap: 6px;

}

.chip + .chip:before {

    content: none;

    color: #77747f;

    margin-right: 6px;

}

.chip:hover {

    background: #ffffff12;

}

.composer-wrap {

    padding: 6px 10px 10px;

}

.composer {

    background: #0d1510;

    border: 0.5px solid #ffffff29;

    border-radius: 6px;

    padding: 9px 9px 7px;

    box-shadow: none;

}

.composer textarea {

    font-size: 13px;

    line-height: 20px;

    min-height: 32px;

    color: #fafafa;

    font-weight: 500;

}

.composer-footer {

    padding-top: 4px;

}

.composer-footer .icon-btn {

    width: 25px;

    height: 25px;

    color: #a1a1aa;

}

.composer-footer small {

    font-size: 10px;

}

.send {

    border-radius: 6px;

    height: 24px;

    width: 24px;

    background: #235641;

    box-shadow: none;

    border: 0;

}

.footer-tip {

    display: none;

}

.transcript-line p {

    font-size: 13px;

}

.transcript-line .who {

    font-size: 11px;

}

.control-shell {

    padding: 0;

}

.control-pill {

    background: rgb(20 29 24 / var(--surface-alpha));

    border-radius: 10px;

    border-color: #ffffff25;

}

.browser-preview .overlay-shell {

    padding: 0;

    width: 560px;

    height: 660px;

}

.browser-preview {

    background: #101813 !important;

}

.browser-preview #app {

    height: 100%;

    display: grid;

    place-items: center;

}

@media (max-width: 950px) {

    .meeting-row-meta small {

        display: none;

    }

    .detail-columns {

        grid-template-columns: minmax(0, 1fr) 300px;

    }

    .studio-dialog {

        grid-template-columns: 220px 1fr;

    }

    .dialog-nav {

        font-size: 13px;

    }

    .preference-icon {

        width: 40px;

        height: 40px;

    }

    .preference-copy {

        gap: 12px;

    }

    .preference-copy p {

        max-width: 255px;

    }

    .settings-legacy .shortcut-input {

        width: 165px;

    }

    .start-tools {

        gap: 10px;

    }

    .overview-tools {

        gap: 7px;

    }

    .mode-selector {

        max-width: 133px;

    }

}

@media (max-width: 680px) {

    .global-search {

        max-width: 300px;

        width: 50vw;

    }

    .global-search span {

        overflow: hidden;

        white-space: nowrap;

        text-overflow: ellipsis;

    }

    .dashboard-overview {

        padding: 20px;

    }

    .overview-heading {

        gap: 20px;

    }

    .dashboard-history {

        padding: 0 20px 20px;

    }

    .studio-dialog-backdrop {

        padding: 12px;

    }

    .studio-dialog {

        width: 100%;

        height: calc(100dvh - 24px);

        grid-template-columns: 155px 1fr;

    }

    .dialog-content {

        padding: 18px;

    }

    .dialog-nav {

        font-size: 12px;

        padding: 6px 8px;

        gap: 7px;

    }

    .dialog-nav svg {

        width: 17px;

    }

    .preference-icon {

        display: none;

    }

    .preference-copy p {

        max-width: 190px;

    }

    .preference-control select {

        max-width: 120px;

    }

    .preference-row {

        gap: 9px;

    }

    .settings-legacy .shortcut-input {

        width: 125px;

        font-size: 10px;

    }

    .detail-columns {

        grid-template-columns: 1fr;

    }

    .session-assistant {

        min-height: 300px;

        border-top: 1px solid var(--border);

        border-left: 0;

    }

    .upcoming-meetings {

        grid-template-columns: 1fr;

    }

    .later-meetings:empty {

        display: none;

    }

    .account-menu {

        right: 16px;

    }

    .mode-editor-title h1 {

        font-size: 24px;

    }

}

body.browser-preview .overlay-shell {

    width: 540px;

    height: var(--overlay-height, 152px);

}

.assistant .composer textarea {

    max-height: 96px;

}

.markdown pre code {

    font-size: 13px;

    line-height: 1.65;

}

/* 3.1: authenticated client flow comparison, 14 October 2026. */
.search-dialog {
   width: 480px;
   max-width: calc(100vw - 32px);
 }

.command-results > button.command-selected {
   background: var(--muted);
 }

.command-results > button > span {
   flex: 1;
   min-width: 0;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

.command-results kbd {
   margin-left: auto;
   color: var(--muted-foreground);
   font-size: 11px;
 }

.assistant .quick-actions {
   padding: 4px 10px 0;
   gap: 0;
   min-height: 34px;
   overflow: hidden;
 }

.assistant .chip {
   padding: 5px 7px;
   font-size: 12px;
   gap: 5px;
 }

.assistant .chip + .chip:before {
   margin-right: 4px;
 }

.assistant .composer-footer {
   gap: 8px;
 }

.smart-chip {
   display: flex;
   align-items: center;
   gap: 5px;
   color: #c2c1cc;
   padding: 3px 6px;
   background: #ffffff08;
   border: .5px solid #ffffff18;
   border-radius: 5px;
   height: 23px;
   font-size: 11px;
 }

.smart-chip:hover {
   background: #ffffff12;
 }

.composer-listening {
   display: flex;
   align-items: center;
   gap: 5px;
   font-size: 10px;
   color: #b4b1c1;
 }

.overlay-mode-row {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 8px;
   font-size: 12px;
   color: #b8b7c2;
 }

.overlay-mode-row select {
   color-scheme: dark;
   font-size: 12px;
   max-width: 190px;
 }

.note-section-editor {
   border: 1px solid var(--border);
   border-radius: 8px;
   margin: 12px 0;
   overflow: hidden;
   background: var(--background);
 }

.note-section-title {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 8px 10px 2px 14px;
 }

.note-section-title input {
   flex: 1;
   min-width: 0;
   background: transparent;
   border: 0;
   box-shadow: none;
   padding: 4px 0;
   font-size: 14px;
   font-weight: 500;
   outline: none;
 }

.note-section-title .icon-btn {
   color: var(--muted-foreground);
 }

.note-section-editor textarea {
   display: block;
   width: 100%;
   background: transparent;
   border: 0;
   border-radius: 0;
   padding: 5px 14px 14px;
   font-size: 13px;
   line-height: 1.6;
   resize: vertical;
   box-shadow: none;
   outline: none;
 }

.note-section-footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 8px;
   margin-top: 12px;
 }

.notes-template-empty {
   padding: 24px 18px;
   border: 1px dashed var(--border);
   border-radius: 8px;
   color: var(--muted-foreground);
   text-align: center;
   font-size: 13px;
   margin-top: 16px;
 }

.notes-template-empty span {
   display: block;
   font-size: 12px;
   margin-top: 6px;
 }

.note-preset-grid {
   display: grid;
   gap: 10px;
   margin-top: 20px;
 }

.note-preset {
   display: grid;
   grid-template-columns: 25px 1fr;
   gap: 5px 12px;
   text-align: left;
   border: 1px solid var(--border);
   border-radius: 9px;
   padding: 16px;
 }

.note-preset:hover {
   background: var(--muted);
 }

.note-preset svg {
   grid-row: span 2;
   color: var(--muted-foreground);
 }

.note-preset strong {
   font-size: 14px;
   font-weight: 500;
 }

.note-preset span {
   color: var(--muted-foreground);
   font-size: 12px;
   line-height: 1.6;
 }

.session-detail-centered {
   min-height: 100%;
   height: 100%;
   overflow: hidden;
 }

.session-detail-scroll {
   flex: 1;
   min-height: 0;
   overflow: auto;
 }

.session-document {
   width: min(624px, calc(100% - 64px));
   margin: 0 auto;
   padding: 40px 0 30px;
 }

.session-document .detail-header {
   border: 0;
   padding: 0 0 24px;
   gap: 20px;
 }

.session-document .detail-header h1 {
   font-size: 28px;
   line-height: 1.25;
   letter-spacing: -.9px;
 }

.session-document .detail-title-edit {
   overflow-wrap: anywhere;
   text-align: left;
 }

.session-document .detail-tabs {
   padding: 0;
   height: 43px;
   gap: 24px;
   position: static;
 }

.session-document .detail-notes-content {
   padding: 20px 0 28px;
 }

.summary-actions {
   display: flex;
   gap: 8px;
   margin-bottom: 22px;
 }

.summary-actions .btn {
   font-size: 12px;
   height: 29px;
   padding: 0 9px;
   gap: 6px;
 }

.session-document .notes-empty {
   padding: 22px 0 60px;
 }

.session-document .detail-chat-log {
   overflow: visible;
   border-top: 1px solid var(--border);
   padding-top: 22px;
 }

.session-document .detail-chat-log h2 {
   font-size: 13px;
   font-weight: 500;
   color: var(--muted-foreground);
   margin-bottom: 20px;
 }

.session-document .detail-chat-log > article {
   border-bottom: 0;
   padding: 0 0 22px;
 }

.session-document .detail-chat-log .markdown {
   font-size: 14px;
   line-height: 1.7;
 }

.detail-user-question {
   margin: 0 0 14px auto;
   width: fit-content;
   max-width: 90%;
   padding: 9px 13px;
   border-radius: 12px 12px 3px 12px;
   background: var(--muted);
   font-size: 13px;
   line-height: 1.6;
   white-space: pre-wrap;
 }

.detail-answer-actions {
   margin-top: 7px;
 }

.session-detail-bottom {
   background: var(--background);
   flex-shrink: 0;
   padding: 12px 32px 20px;
 }

.meeting-bottom-bar {
   max-width: 624px;
   margin: 0 auto;
   display: flex;
   align-items: center;
   gap: 12px;
 }

.resume-meeting {
   border: 1px solid var(--border);
   border-radius: 7px;
   height: 37px;
   padding: 0 12px;
   display: flex;
   align-items: center;
   gap: 7px;
   white-space: nowrap;
   font-size: 12px;
 }

.resume-meeting:hover {
   background: var(--muted);
 }

.meeting-bottom-bar .detail-chat-composer {
   margin: 0;
   flex: 1;
   min-width: 0;
   padding: 8px 10px;
   align-items: center;
   border-radius: 8px;
   box-shadow: 0 2px 7px #00000006;
 }

.meeting-bottom-bar .detail-chat-composer textarea {
   font-size: 12px;
   max-height: 80px;
   line-height: 20px;
   padding: 0 8px 0 0;
 }

.meeting-bottom-bar .detail-chat-composer > button {
   width: 23px;
   height: 23px;
 }

.session-usage > div {
   padding: 15px 0;
   border-bottom: 1px solid var(--border);
   display: flex;
   justify-content: space-between;
   font-size: 13px;
 }

.session-usage strong {
   font-weight: 500;
 }

.custom-mode-navigation {
   flex-shrink: 1;
   min-height: 80px;
   overflow-y: auto;
 }

.custom-mode-navigation .dialog-nav > span:first-of-type {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   min-width: 0;
   flex: 1;
 }

.custom-mode-navigation .active-mode-label {
   font-size: 10px;
   color: var(--muted-foreground);
   font-weight: 400;
   margin-left: auto;
   flex: 0;
 }

.mode-template-link {
   margin-top: 12px;
   flex-shrink: 0;
 }

.mode-editor-title .mode-name-input {
   flex: 1;
   min-width: 50px;
   width: 100%;
   border: 0;
   background: transparent;
   box-shadow: none;
   border-radius: 4px;
   padding: 3px 0;
   font: inherit;
   font-size: 28px;
   font-weight: 600;
   letter-spacing: -.8px;
   color: inherit;
 }

.mode-editor-title .mode-name-input:focus {
   outline: 2px solid var(--border);
   outline-offset: 5px;
 }

.mode-editor-title .mode-active {
   flex-shrink: 0;
 }

.mode-type-row {
   display:flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin: -12px 0 30px;
   font-size: 12px;
   color: var(--muted-foreground);
 }

.mode-type-row select {
   font-size: 12px;
   max-width: 220px;
 }

.mode-catalog-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0,1fr));
   gap: 12px;
   margin-top: 22px;
 }

.mode-catalog-card {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   text-align: left;
   gap: 10px;
   border: 1px solid var(--border);
   border-radius: 9px;
   padding: 18px;
   min-height: 155px;
 }

.mode-catalog-card:hover {
   background: var(--muted);
 }

.mode-catalog-card strong {
   font-size: 14px;
   font-weight: 500;
 }

.mode-catalog-card span {
   font-size: 12px;
   line-height: 1.6;
   color: var(--muted-foreground);
 }

@media(max-width:660px) {
   .mode-catalog-grid {
     grid-template-columns: 1fr;
   }
   .mode-editor-title .mode-name-input {
     font-size: 22px;
   }
 }

@media(max-width: 660px) {
   .session-document {
     width: calc(100% - 32px);
     padding-top: 24px;
   }
   .session-detail-bottom {
     padding: 12px 16px;
   }
   .meeting-bottom-bar {
     gap: 8px;
   }
   .resume-meeting {
     padding: 0 9px;
     font-size: 11px;
   }
 }


/* 4.1: geometry measured against authenticated Windows reference captures. */
.global-search {
   height: 28px;
   border: 0;
   background: var(--muted);
   box-shadow: none;
   justify-content: center;
   gap: 5px;
   font-size: 12px;
   font-weight: 400;
 }

.global-search span {
   flex: 0 1 auto;
   text-align: center;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

.global-search kbd {
   display: none;
 }

.history-navigation button[data-action="forward"]:disabled {
   visibility: hidden;
 }

.account-button {
   background: #086da8;
   color: #e5f6ff;
   border: 1px solid #0a6090;
   border-radius: 8px;
   font-size: 12px;
 }

.account-button img {
   width: 100%;
   height: 100%;
   border-radius: inherit;
   object-fit: cover;
 }

.overview-heading {
   min-height: 49px;
 }

.round-outline {
   background: var(--muted);
 }

.capture-state {
   min-width: 154px;
   font-size: 14px;
   gap: 8px;
 }

.mini-switch {
   width: 32px;
   height: 18px;
   background: #71717a;
 }

.mini-switch:after {
   width: 14px;
   height: 14px;
 }

.mini-switch.on:after {
   left: 16px;
 }

.start-tools {
   position: relative;
   display: block;
   height: 43px;
 }

.start-button {
   height: 43px;
   padding: 0 25px;
   min-width: 164px;
 }

.start-mode-caption {
   position: absolute;
   top: 45px;
   left: 0;
   width: 100%;
   max-width: 100%;
   height: 17px;
   padding: 0 14px 0 4px;
   border: 0;
   border-radius: 0;
   text-align: center;
   text-align-last: center;
   font-size: 11px;
   color: var(--muted-foreground);
   box-shadow: none;
   background: transparent;
 }

.calendar-prompt {
   margin-top: 28px;
 }

.calendar-prompt button {
   font-weight: 400;
 }

.history-group > h2 {
   font-weight: 500;
 }

.meeting-row {
   height: 40px;
   padding: 0 8px 0 12px;
   margin-bottom: 4px;
   border-radius: 8px;
   display: flex;
   align-items: center;
   gap: 8px;
 }

.meeting-row:hover, .meeting-row:focus-within, .meeting-row.menu-active {
   background: color-mix(in oklab, var(--foreground) 8%, transparent);
 }

.meeting-main {
   flex: 1;
   min-width: 0;
   height: 40px;
   display: flex;
   align-items: center;
   gap: 16px;
   padding: 0;
   text-align: left;
 }

.meeting-main > strong {
   min-width: 0;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   font-size: 14px;
   font-weight: 500;
 }

.meeting-row-meta {
   margin-left: auto;
   gap: 8px;
   color: var(--foreground);
 }

.meeting-duration {
   font-size: 11px;
   font-weight: 500;
   line-height: 20px;
   border-radius: 20px;
   min-width: 36px;
   padding: 0 6px;
   text-align: center;
   background: color-mix(in oklab, var(--muted) 65%, transparent);
 }

.history-menu-trigger {
   width: 28px;
   height: 28px;
   border-radius: 5px;
   opacity: 0;
 }

.meeting-row:hover .history-menu-trigger, .meeting-row:focus-within .history-menu-trigger, .meeting-row.menu-active .history-menu-trigger {
   opacity: 1;
 }

.history-row-menu {
   position: absolute;
   z-index: 50;
   top: 40px;
   right: 12px;
   width: 146px;
   padding: 4px;
   border: 1px solid var(--border);
   border-radius: 8px;
   background: var(--sidebar);
   box-shadow: 0 3px 12px #0002;
 }

.history-row-menu.above {
   top: auto;
   bottom: 40px;
 }

.history-row-menu button {
   height: 32px;
   width: 100%;
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 0 8px;
   text-align: left;
   border-radius: 4px;
   color: #f87171;
   font-size: 14px;
 }

.history-row-menu button:hover {
   background: #ef444414;
 }

.empty-symbol {
   margin-bottom: 4px;
 }

.first-session {
   gap: 20px;
   min-height: 250px;
 }

.assistant {
   border-radius: 10px;
   border: 1px solid #6887736b;
   border-top: 2px solid #67c79e;
   background: rgb(20 29 24 / var(--surface-alpha));
   box-shadow: none;
 }

.assistant .composer-wrap {
   padding: 5px 10px 10px;
 }

.assistant .composer {
   border: 1px solid #425248;
   border-radius: 10px;
   background: rgb(10 18 13 / .72);
   box-shadow: none;
   padding: 8px 8px 6px;
 }

.assistant .composer textarea {
   font-weight: 400;
   color: #f4f4f5;
 }

.assistant .composer textarea::placeholder {
   color: #a1a1aa;
   opacity: 1;
 }

.assistant .chip {
   color: #e4eee7;
   font-size: 12px;
   font-weight: 500;
 }

.assistant .smart-chip {
   border: 0;
   border-radius: 6px;
   background: #2c3e32;
   font-size: 12px;
   padding: 2px 8px;
   height: 23px;
   color: #e4eee7;
 }

.assistant .smart-chip svg {
   display: none;
 }

.assistant .composer-footer {
   gap: 6px;
 }

.assistant .send {
   width: 24px;
   height: 24px;
   border: 1px solid var(--action);
   background: var(--action);
 }

.control-shell {
   padding: 0;
 }

.control-pill {
   padding: 5px 10px;
   gap: 7px;
   border: 1px solid #6887736b;
   background: rgb(20 29 24 / var(--surface-alpha));
   box-shadow: none;
   border-radius: 10px;
 }

.control-pill .control-brand {
   margin: 0;
   padding: 0;
   width: 28px;
   min-width: 28px;
   height: 28px;
   color: #f4f4f5;
   background: transparent;
   box-shadow: none;
 }

.control-pill .control-toggle {
   height: 32px;
   flex: 1;
   min-width: 0;
   padding: 0 11px;
   font-size: 12px;
   font-weight: 500;
   background: #2b3930;
   gap: 7px;
 }

.control-pill .control-stop {
   width: 32px;
   min-width: 32px;
   height: 32px;
   padding: 0;
   border-radius: 8px;
 }

.start-tools {
   width: 164px;
 }

.start-button {
   width: 164px;
   min-width: 164px;
   padding: 0 10px;
   white-space: nowrap;
 }


.assistant .quick-actions {
   padding-top: 8px;
   min-height: 39px;
 }

.assistant.compact .composer textarea {
   min-height: 26px;
   height: 26px;
 }

/* Composer bounds preserve native overlay sizing and keyboard reachability. */
.assistant .composer textarea {
   max-height: 50px;
   scrollbar-width: thin;
   scrollbar-color: #71717a transparent;
 }

.assistant .quick-actions {
   overflow-x: auto;
   overflow-y: hidden;
   overscroll-behavior-x: contain;
 }

.assistant .overlay-menu {

    bottom: var(--overlay-menu-bottom, 116px);

    max-height: var(--overlay-menu-available, 365px);

    overscroll-behavior: contain;

    scrollbar-width: thin;

    scrollbar-color: #71717a transparent;

}

.assistant .chat-collapse > .icon-btn:first-child {

    opacity: 0;

    transform: translateY(-3px);

    transition: opacity 150ms ease-out, transform 150ms ease-out, filter 150ms ease-out;

}

.assistant:hover .chat-collapse > .icon-btn:first-child,
.assistant:focus-within .chat-collapse > .icon-btn:first-child {

    opacity: 1;

    transform: translateY(0);

}

.assistant .chat-collapse > .icon-btn:first-child:hover {

    filter: brightness(1.1);

    transform: translateY(-1px);

}

@media (prefers-reduced-motion: reduce) {

    .assistant .chat-collapse > .icon-btn:first-child {
     transform: none !important;
   }

}

@media (hover: none) {

    .assistant .chat-collapse > .icon-btn:first-child {
     opacity: 1;
     transform: none;
   }

}

.microphone-test-dialog {
   max-width: 460px;
 }

.microphone-meter {
   height: 12px;
   background: var(--muted);
   border-radius: 20px;
   overflow: hidden;
   margin: 24px 0 14px;
 }

.microphone-meter > span {
   display: block;
   height: 100%;
   width: 0;
   background: linear-gradient(90deg,#0e705b,#6cddb4);
   border-radius: inherit;
   transition: width 80ms linear;
 }

.microphone-test-state {
   min-height: 42px;
   color: var(--muted-foreground);
 }

.browser-control-preview {
   background: #111216;
   display: grid;
   place-items: center;
   min-height: 100vh;
 }

.browser-control-preview #app {
   width: 166px;
   height: 50px;
 }

.browser-control-preview .control-shell {
   width: 166px;
   height: 50px;
 }


html[data-view="control"]:has(.browser-control-preview) {
   background: #111216 !important;
 }

body.control.browser-control-preview {
   background: #111216 !important;
 }

.dashboard-container {
  max-width: 1040px;
}
.dashboard-frame {
  border-radius: 14px;
}
.dashboard-overview {
  padding: 32px 32px 28px;
}
.overview-tools h1 {
  font-size: 29px;
  font-weight: 500;
  letter-spacing: -0.8px;
}
.round-outline {
  border-radius: 18px;
}
.start-button {
  border-radius: 16px;
  font-weight: 500;
  box-shadow: 0 2px 5px #00000012;
}
.account-button {
  border-radius: 50%;
}
.global-search {
  border-color: transparent;
  box-shadow: none;
}
.release-badge {
  border-radius: 14px;
  font-size: 12px;
  padding: 4px 10px;
}
.history-group {
  padding-top: 22px;
}
.history-group > h2 {
  font-weight: 400;
}
.meeting-row {
  min-height: 54px;
  height: auto;
  margin-bottom: 2px;
  padding: 4px 12px;
  border: 1px solid transparent;
  background: transparent;
  border-radius: 8px;
}
.meeting-row:hover,
.meeting-row:focus-within,
.meeting-row.menu-active {
  border-color: transparent;
  background: color-mix(in srgb, var(--foreground) 5%, transparent);
}
.history-row-menu {
  top: calc(100% - 2px);
}
.history-row-menu.above {
  top: auto;
  bottom: calc(100% - 2px);
}
.meeting-row-copy strong {
  font-weight: 500;
}
.meeting-row-symbol {
  border-radius: 12px;
}
.detail-toolbar h1,
.mode-editor-title h1 {
  font-weight: 500;
}
@media (max-width: 760px) {
  .dashboard-overview {
    padding: 24px 20px;
  }
  .overview-tools h1 {
    font-size: 25px;
  }
}
body.overlay,
body.control {
  --background: #17191b;
  --muted-foreground: #b0b6b2;
}
.assistant {
  border-radius: 18px;
  border: 1px solid #ffffff24;
  background: rgb(22 24 27 / var(--surface-alpha));
  box-shadow: inset 0 1px 0 #ffffff0a;
}
.assistant .composer {
  border-radius: 12px;
  border-color: #ffffff26;
  background: #ffffff03;
}
.assistant .composer textarea::placeholder {
  color: #a7aea9;
}
.assistant .chip {
  border-radius: 8px;
  border-color: transparent;
}
.assistant .send {
  border-radius: 50%;
}
.assistant .user-message {
  border-radius: 14px 14px 5px 14px;
  background: #205d47;
}
.assistant .chat-collapse .icon-btn {
  background: #ffffff0c;
}
.control-pill {
  border-radius: 24px;
  background: rgb(22 24 27 / var(--surface-alpha, 1));
  border-color: #ffffff2a;
  box-shadow: inset 0 1px 0 #ffffff10;
}
.control-pill button {
  border-radius: 18px;
  background: #ffffff0c;
  box-shadow: none;
}
.control-pill .control-brand {
  background: transparent;
}
.control-pill button.round {
  border-radius: 50%;
}
.overlay .modal {
  --background: #191b1e;
  --muted-foreground: #b0b6b2;
}
.browser-preview {
  background: #111315 !important;
}
.assistant .chat-collapse[hidden] {
  display: none;
}
.chat-speech-message {
  display: block;
  width: fit-content;
  max-width: min(90%, 600px);
  margin: 8px 0 12px auto;
  padding: 9px 12px;
  border: 0;
  background: transparent;
  color: var(--foreground, #ecf2ed);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  animation: chat-speech-appear 160ms ease-out both;
}
.chat-speech-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 7px;
  color: var(--muted-foreground, #adb3af);
  font-size: 10px;
  line-height: 16px;
}
.chat-speech-meta strong {
  font-weight: 600;
}
.chat-speech-meta time {
  color: inherit;
}
.chat-speech-state {
  margin-left: auto;
  color: inherit;
}
.chat-speech-message p {
  margin: 5px 0 0;
  white-space: pre-wrap;
}
.chat-speech-partial p,
.chat-speech-partial .chat-speech-state {
  font-style: italic;
}
@keyframes chat-speech-appear {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .chat-speech-message { animation: none; }
}
