.dock-enabled .commit-row { display: flex; align-items: center; gap: 6px; height: 22px; min-height: 22px; padding: 0 4px 0 12px; border-radius: 0; border-left: 1px solid transparent; font-size: 13px; line-height: 20px; overflow: visible; }
.commit-row.has-graph { display: flex; align-items: center; height: 22px; margin-left: 0; padding: 0 4px 0 0; width: 100%; border-left: 0; }
.dock-enabled .commit-row.has-graph { padding-left:0; gap:4px; }
.commit-row.has-graph::before, .commit-row.has-graph::after { display: none; }
.commit-graph { height: 22px; flex: 0 0 auto; overflow: visible; }
.commit-graph path { fill: none; stroke-width: 1.5; }
.commit-row.has-graph + .commit-files { margin-left: 0; padding-left: calc(var(--graph-width) + 6px); border-left: 0; }
.dock-enabled .commit-subject { flex: 0 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dock-enabled .commit-meta { flex: 0 2 auto; min-width: 0; max-width: 90px; grid-column: auto; font-size: 12px; line-height: inherit; margin: 0; color: #929292; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dock-enabled .commit-refs { flex: 0 1 auto; min-width: 35px; max-width: 45%; margin-left: auto; padding: 0 6px; grid-column: auto; font-size: 12px; line-height: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #e6f3ff; border-radius: 10px; background: #0078d4; }
.dock-enabled .commit-row:has(.commit-refs) .commit-meta { display: none; }
.dock-enabled .commit-files { margin-left: 7px; padding: 2px 0 5px 12px; }
.dock-enabled .commit-file { font-size: 12px; padding: 3px 5px; min-height: 24px; }
.dock-enabled .git-row { display: grid; grid-template-columns: minmax(0,1fr) 24px; gap: 2px; align-items: center; min-height: 24px; height: 24px; padding: 0 4px 0 6px; font-size: 12px; overflow: hidden; }
.dock-enabled .git-row-open { display: flex; align-items: center; gap: 7px; min-width: 0; height: 24px; padding: 2px 4px; }
.dock-enabled .git-discard { width: 22px; height: 22px; }
.dock-enabled .git-discard svg { width: 15px; height: 15px; }
.dock-enabled .git-path { flex: 0 1 auto; min-width: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.dock-enabled .git-folder { color: var(--muted); flex: 1; min-width: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; font-size: 11px; }
.dock-enabled .git-code { flex: 0 0 15px; min-width:0; width:15px; grid-column:3; font-size: 11px; text-align: right; }
.dock-enabled .git-row { grid-template-columns:minmax(0,1fr) auto 15px; }
.git-file-actions { display:none; align-items:center; gap:0; }
.git-row:hover .git-file-actions,.git-row:focus-within .git-file-actions { display:flex; }
.dock-enabled .git-file-action { width:22px;height:22px;padding:3px;min-width:0; }
.git-file-action .codicon-svg { width:16px;height:16px; }
.git-status-U .git-code,.git-status-A .git-code,.git-status-R .git-code,.git-status-C .git-code { color:#73c991; }
.git-status-M .git-code { color:#e2c08d; }
.git-status-D .git-code { color:#c74e39; }
.git-status-D .git-path { text-decoration:line-through; }
.git-status-conflict .git-code { color:#e4676b; }
.git-change-heading { display:flex;align-items:center;gap:5px;height:25px;padding:0 4px;font-size:12px;cursor:pointer;list-style:none; }
.git-change-heading::-webkit-details-marker { display:none; }
.git-change-heading .codicon-svg { width:16px;height:16px; }
.git-change-group:not([open])>.git-change-heading .codicon-svg { transform:rotate(-90deg); }
.git-group-count { margin-left:auto;background:#454545;border-radius:10px;padding:0 6px; }
.git-change-group+.git-change-group { margin-top:6px; }
@media (hover:none) { .git-file-actions { display:flex; } }
.dock-enabled #gitChangeCount { float: right; border-radius: 9px; padding: 0 5px; background: #454545; font-size: 10px; }
.dock-enabled .git-commit-bar { display: grid; grid-template-columns: minmax(0,1fr) 28px; gap: 0; padding: 7px 10px; }
.commit-message-field { grid-column:1 / -1; position:relative; min-width:0; margin-bottom:8px; }
.dock-enabled .git-commit-bar input { width:100%; font-size:12px; padding:4px 30px 4px 6px; }
.dock-enabled .git-commit-bar > button { color: white; background: #0078d4; font-size: 12px; border: 0; border-radius: 3px 0 0 3px; min-height: 27px; padding: 4px 6px; }
.dock-enabled .git-commit-bar > button:disabled { color: #858585; background: #343434; cursor: default; }
.dock-enabled .git-commit-bar > .commit-dropdown { position:relative; border-radius:0 3px 3px 0; font-size:0; display:flex; align-items:center; justify-content:center; padding:0; }
.commit-dropdown::after { content:''; position:absolute; left:0; top:5px; bottom:5px; width:1px; background:#78b4df; }
.commit-dropdown:disabled::after { background:#4a4a4a; }
.dock-enabled .commit-dropdown::before { content: ''; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.commit-actions-menu { position: fixed; margin: 0; inset: auto; width: 225px; padding: 5px; background: #252526; color: #ccc; border: 1px solid #454545; box-shadow: 0 5px 20px #0006; border-radius: 5px; }
.commit-actions-menu > button { width: 100%; display: block; border: 0; text-align: left; color: inherit; background: transparent; padding: 7px 10px; font-size: 12px; }
.commit-actions-menu > button:hover { background: #094771; }
.commit-actions-menu > button:disabled { color: #777; background: transparent; cursor: default; }
.dock-enabled .git-toolbar { display: flex; flex-wrap: nowrap; min-height: 28px; padding: 3px 9px; gap: 3px; background: #252526; }
.dock-enabled .git-toolbar > .repository-line { display: flex; align-items: center; gap: 7px; flex: 1; min-width: 0; }
.repository-name { font-size: 12px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
.repository-name::before { content: '▣'; margin-right: 6px; color: #ccc; }
.dock-enabled .repository-sync { display: inline-flex; align-items: center; gap: 3px; flex: 0 0 auto; min-height: 22px; padding: 0 3px; border: 0; background: transparent; font-size: 10px; white-space: nowrap; color: #ccc; }
.repository-sync:disabled { opacity: .5; }
.commit-sync-state { display: inline-flex; flex: 0 0 auto; }
.is-incoming .commit-sync-state { color: #c586c0; }
.is-outgoing .commit-sync-state { color: #569cd6; }
.dock-enabled #gitBranch { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 90px; }
.dock-enabled #gitBranch::before { content: '⑂ '; }
.dock-enabled #gitTracking { display: none; }
.dock-enabled #gitRemote { display: none; }
.dock-enabled .git-actions button { padding: 2px 4px; min-width: 20px; font-size: 15px; line-height: 19px; border: 0; background: transparent; }
.dock-enabled .git-actions button[hidden] { display: none; }
.dock-enabled .git-message { font-size: 10px; line-height: 1.35; padding: 4px 9px; }
.dock-enabled #gitMessage { padding: 0; }
.dock-enabled .git-feedback, .git-feedback { min-height: 0; color: var(--muted, #aaa); }
.git-feedback > span { display: block; }
.git-feedback > span:empty { display: none; }
.git-feedback #gitMessage { color: inherit; }
.git-feedback #gitMessage.error { color: var(--danger, #f48771); }
#gitOutputDetails { margin-top: 3px; }
#gitOutputDetails[hidden] { display: none; }
#gitOutputDetails summary { cursor: pointer; width: fit-content; }
#gitOutput { max-height: 160px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: 6px; margin: 4px 0; background: #181818; font-size: 11px; }
.commit-hover { position: fixed; inset: auto; margin: 0; box-sizing: border-box; max-height: min(300px,calc(100dvh - 16px)); overflow: auto; padding: 11px 13px; border: 1px solid #484848; border-radius: 3px; background: #252526; color: #ccc; box-shadow: 0 5px 18px #0008; font: 12px/1.5 'Segoe UI',sans-serif; }
.hover-author { color: #75beff; font-weight: 600; }
.hover-author time { color: #aaa; margin-left: 10px; font-size: 11px; font-weight: 400; }
.hover-subject { margin: 8px 0; overflow-wrap: anywhere; }
.hover-stats { margin: 8px 0; padding-top: 7px; border-top: 1px solid #444; }
.stat-added { color: #89d185; }
.stat-deleted { color: #f48771; }
.hover-refs { color: #c586c0; margin: 6px 0; overflow-wrap: anywhere; }
.hover-footer { display: flex; align-items: center; gap: 9px; padding-top: 7px; border-top: 1px solid #444; }
.hover-footer code, .hover-footer a { color: #75beff; }
.hover-footer button { color: #aaa; border: 0; background: transparent; padding: 0 4px; }
.workspace-storage{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:5px 9px;border-top:1px solid #333}
.workspace-storage-mode{font-size:12px;color:var(--muted,#aaa)}
.explorer-actions { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px; margin-left: auto; }
.refresh-line { flex-wrap: wrap; }
.refresh-line #filesRefreshStatus { flex: 1 1 150px; }
.refresh-line .explorer-actions button { min-height: 0; height: 22px; padding: 3px 5px; font-size: 10px; line-height: 14px; }
.workspace-cleanup-dialog{max-width:min(520px,calc(100vw - 32px));padding:20px}
.workspace-cleanup-dialog p{white-space:pre-line;line-height:1.5}
.workspace-cleanup-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

/* Source Control uses the same visual hierarchy as VS Code's sidebar. */
.dock-enabled .window-git { background:var(--panel); }
.dock-enabled .window-git > .window-head { height: 36px; min-height: 36px; flex-basis: 36px; padding: 0 10px; background: inherit; border-bottom: 0; cursor: grab; }
.dock-enabled .window-git > .window-head .window-title { color: #ccc; font-size: 13px; font-weight: 600; }
.dock-enabled .window-git > .window-head > .window-fold { display: none; }
.window-git > .window-head > .window-close { opacity: 0; }
.window-git > .window-head:hover > .window-close, .window-git > .window-head:focus-within > .window-close { opacity: 1; }
.window-git .section-summary { height: 28px; flex-basis: 28px; background: #181818; padding: 0 6px; }
.window-git .section-toggle { color: #ccc; padding: 0 5px; gap: 8px; font-size: 13px; }
.window-git .git-section { border-bottom: 0; }
.window-git .embedded-section > .section-repository > .section-summary { display: flex; }
.window-git .embedded-section > .section-changes[open] { flex: 1 0 150px; }
.window-git .embedded-section > .section-history[open] { flex:1 1 320px; min-height:160px; max-height:none; border-top:0; }
.window-git .section-history::before { content:''; position:absolute; top:0; left:10px; right:10px; height:1px; background:#333; }
.window-git .section-changes > .git-section-body { overflow: auto; }
.window-git .section-changes[open] > .git-section-body { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; overflow: hidden; }
.window-git .section-changes .git-commit-bar { flex: 0 0 auto; }
.window-git .section-changes .git-list { flex: 1 1 0; min-height: 0; max-height: none; overflow: auto; }
.window-git .section-history[open] > .git-section-body { flex: 1 1 0; overflow: auto; }
.dock-enabled .window-git .git-toolbar { height: 28px; min-height: 28px; padding: 0 5px 0 9px; margin: 0 6px 4px; border-radius: 4px; background: #37373d; gap: 4px; }
.repository-name { display: inline-flex; align-items: center; gap: 6px; color: #ccc; font-size: 13px; }
.repository-name::before, .dock-enabled #gitBranch::before { content: none; }
.dock-enabled #gitBranch { display: inline-flex; align-items: center; gap: 4px; max-width: 100px; font-size: 12px; font-weight: 400; }
.sc-action { display: inline-flex; align-items: center; justify-content: center; height: 22px; width: 22px; padding: 2px; flex: 0 0 auto; border: 0; border-radius: 3px; color: #ccc; background: transparent; cursor: pointer; }
.sc-action:hover:not(:disabled) { color: #fff; background: #37373d; }
.sc-action:disabled { color: #777; cursor: default; }
.sc-action .codex-icon, .repository-name .codex-icon, #gitBranch .codex-icon, .commit-refs .codex-icon, .graph-reference-option .codex-icon { display: inline-flex; align-items: center; width: 16px; height: 16px; flex: 0 0 16px; }
.sc-action svg, .repository-name svg, #gitBranch svg, .commit-refs svg, .graph-reference-option svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.sc-section-actions { display: flex; align-items: center; gap: 1px; margin-left: auto; flex: 0 0 auto; }
.window-git .section-toggle { flex: 1 1 auto; overflow: hidden; }
.graph-filter { width: auto; max-width: 100px; font-size: 12px; gap: 4px; overflow: hidden; white-space: nowrap; }
.dock-enabled .window-git .git-commit-bar { padding:6px 20px; border-top:0; }
.dock-enabled .window-git .git-commit-bar input { height:26px; min-height:26px; background:#313131; border:1px solid #3c3c3c; border-radius:3px; font-size:12px; line-height:16px; }
.dock-enabled .window-git .git-commit-bar > button { height:26px; min-height:26px; font-size:13px; padding-top:0; padding-bottom:0; }
.commit-message-generate { position:absolute; top:2px; right:3px; width:22px; height:22px; }
.commit-message-generate[aria-busy="true"] svg { animation:commit-message-pulse 1s ease-in-out infinite alternate; }
@keyframes commit-message-pulse { to { opacity:.3; } }
@media(prefers-reduced-motion:reduce) { .commit-message-generate[aria-busy="true"] svg { animation:none; } }
.dock-enabled .window-git .git-commit-bar > .commit-dropdown { font-size: 0; }
.window-git .git-feedback { padding: 3px 12px 5px; color: #999; }
.window-git #gitRefreshStatus { color: #999; }
.window-git #gitChanges:empty { padding: 0; }
.window-git .section-history .commit-list { padding: 0 5px 5px 9px; }
.dock-enabled .commit-row.has-graph { padding-left: 0; }
.commit-row.is-head .commit-subject { font-weight: 600; }
.dock-enabled .commit-refs { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; min-width: 0; max-width: 45%; padding: 0; background: transparent; overflow: hidden; }
.commit-ref-branch { display: inline-flex; align-items: center; gap: 2px; min-width: 0; height: 18px; padding: 0 4px 0 2px; line-height: 18px; border-radius: 10px; background: #569cd6; color: #102030; }
.commit-ref-name { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.commit-ref-remote { display: inline-flex; align-items: center; gap: 2px; min-width: 0; height: 18px; padding: 0 4px 0 3px; line-height: 18px; flex: 0 1 auto; border-radius: 10px; background: #b180d7; color: #30243d; }
.graph-reference-picker { position: fixed; inset: auto; margin: 0; width: min(550px,calc(100vw - 16px)); max-height: min(340px,calc(100dvh - 16px)); box-sizing: border-box; overflow: auto; padding: 8px; background: #252526; color: #ccc; border: 1px solid #454545; border-radius: 6px; box-shadow: 0 8px 28px #0009; font-size: 12px; }
.graph-reference-search { display: flex; align-items: center; gap: 6px; position: sticky; top: 0; background: #252526; padding-bottom: 7px; }
.graph-reference-search input { min-width: 0; flex: 1; height: 30px; border: 1px solid #0078d4; border-radius: 3px; padding: 4px 7px; background: #313131; color: #eee; }
.reference-selection-count { flex: 0 0 auto; padding: 3px 6px; font-size: 10px; border-radius: 10px; background: #555; }
.reference-apply { border: 0; border-radius: 3px; padding: 6px 10px; color: white; background: #0078d4; }
.graph-reference-option { display: flex; align-items: center; gap: 7px; min-height: 27px; padding: 2px 5px; border-radius: 3px; cursor: pointer; }
.graph-reference-option:hover { background: #37373d; }
.graph-reference-option[hidden] { display: none; }
.graph-reference-option input { margin: 0; accent-color: #0078d4; width: 15px; height: 15px; }
.reference-name { flex: 0 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.reference-description { margin-left: auto; flex: 0 1 auto; min-width: 0; color: #999; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
.section-history { container-type: inline-size; }
.window-git .section-history { position: relative; }
.graph-height-grip { position: absolute; top: 0; left: 0; right: 0; height: 5px; z-index: 3; cursor: row-resize; touch-action: none; }
.graph-height-grip[hidden] { display: none; }
.graph-height-grip:hover, .graph-height-grip:focus-visible, .graph-height-grip.is-resizing { background: #0078d4; outline: 0; }
@container (max-width: 280px) {
  .graph-reveal-head, .graph-actions [data-git-action="fetch"] { display: none; }
  .graph-filter { max-width: 76px; }
}
@media (max-width: 720px) {
  .graph-reference-picker { left: 8px !important; width: calc(100vw - 16px); }
  .reference-selection-count { display: none; }
  .window-git .embedded-section > .section-changes[open] { flex-basis: 110px; }
}

.dock-enabled .git-commit-bar > .git-sync-primary { grid-column: 1 / -1; border-radius: 3px; display: flex; align-items: center; justify-content: center; gap: 4px; }
.git-commit-bar > button[hidden] { display: none !important; }
