.gwt-hidden { display: none; } .gwt-sidebar { padding: 12px; font-size: 13px; } .gwt-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; } .gwt-header h4 { margin: 0; } .gwt-btn-icon { background: none; border: none; cursor: pointer; font-size: 16px; color: var(--text-muted); padding: 2px 6px; border-radius: 4px; } .gwt-btn-icon:hover { color: var(--text-normal); background: var(--background-modifier-hover); } /* ── Ribbon icon alert badge ─────────────────────────────────────────────── */ .gwt-ribbon-alert { position: relative; } .gwt-ribbon-alert::after { content: ""; position: absolute; top: 4px; right: 4px; width: 8px; height: 8px; background: var(--color-orange); border-radius: 50%; border: 2px solid var(--background-primary); pointer-events: none; } /* ── Section layout ──────────────────────────────────────────────────────── */ .gwt-section { margin-bottom: 16px; } .gwt-section h5 { margin: 0 0 6px; color: var(--text-muted); font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; } .gwt-row { margin-bottom: 4px; } .gwt-label { color: var(--text-muted); margin-right: 4px; } /* ── Branch picker ───────────────────────────────────────────────────────── */ .gwt-branch-picker { position: relative; margin-bottom: 8px; } .gwt-branch-btn { display: flex; align-items: center; gap: 5px; width: 100%; padding: 4px 8px; border-radius: 5px; background: var(--background-secondary); color: var(--text-normal); border: 1px solid var(--background-modifier-border); cursor: pointer; font-size: 12px; text-align: left; } .gwt-branch-btn:hover { background: var(--background-modifier-hover); border-color: var(--interactive-accent); } .gwt-branch-btn.gwt-branch-btn-open { border-color: var(--interactive-accent); } .gwt-branch-btn-icon { color: var(--text-muted); flex-shrink: 0; display: flex; align-items: center; } .gwt-branch-btn-icon .svg-icon { width: 13px; height: 13px; } .gwt-branch-btn-name { flex: 1; font-family: var(--font-monospace); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .gwt-branch-btn-chevron { color: var(--text-muted); flex-shrink: 0; display: flex; align-items: center; transition: transform 0.15s; } .gwt-branch-btn-chevron .svg-icon { width: 13px; height: 13px; } .gwt-branch-btn-open .gwt-branch-btn-chevron { transform: rotate(180deg); } .gwt-branch-dropdown { position: absolute; top: calc(100% + 3px); left: 0; right: 0; z-index: 100; background: var(--background-primary); border: 1px solid var(--background-modifier-border); border-radius: 6px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25); overflow: hidden; } .gwt-branch-filter { display: block; width: 100%; padding: 7px 10px; font-size: 12px; border: none; border-bottom: 1px solid var(--background-modifier-border); background: var(--background-primary); color: var(--text-normal); box-sizing: border-box; } .gwt-branch-filter:focus { outline: none; } .gwt-branch-list { max-height: 240px; overflow-y: auto; padding: 4px 0; } .gwt-branch-group-label { padding: 4px 10px 2px; font-size: 10px; font-weight: 700; color: var(--text-faint); letter-spacing: 0.07em; text-transform: uppercase; user-select: none; } .gwt-branch-item { display: flex; align-items: center; gap: 6px; padding: 5px 10px; font-size: 12px; font-family: var(--font-monospace); cursor: pointer; border-radius: 0; } .gwt-branch-item:hover, .gwt-branch-highlighted { background: var(--background-modifier-hover); } .gwt-branch-item-icon { color: var(--text-muted); flex-shrink: 0; display: flex; align-items: center; } .gwt-branch-item-icon .svg-icon { width: 12px; height: 12px; } .gwt-branch-item-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .gwt-branch-current .gwt-branch-item-name { font-weight: 600; color: var(--interactive-accent); } .gwt-branch-item-check { color: var(--interactive-accent); font-size: 11px; flex-shrink: 0; } .gwt-branch-item-badge { font-size: 10px; font-family: var(--font-interface); color: var(--text-faint); background: var(--background-modifier-border); border-radius: 3px; padding: 1px 5px; flex-shrink: 0; } .gwt-branch-remote-item .gwt-branch-item-icon { color: var(--color-blue); } .gwt-branch-no-results { padding: 8px 10px; font-size: 12px; font-family: var(--font-interface); color: var(--text-faint); font-style: italic; } /* ── Action bar ──────────────────────────────────────────────────────────── */ .gwt-action-bar { display: flex; gap: 4px; margin-bottom: 10px; } .gwt-action-btn { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 5px 2px; border-radius: 4px; cursor: pointer; border: 1px solid var(--background-modifier-border); background: var(--background-secondary); color: var(--text-muted); font-size: 10px; } .gwt-action-btn:hover { background: var(--background-modifier-hover); color: var(--text-normal); } .gwt-action-btn .svg-icon { width: 14px; height: 14px; } .gwt-action-label { font-size: 10px; line-height: 1; } /* ── Commit inline button ────────────────────────────────────────────────── */ .gwt-commit-inline-btn { margin-left: auto; font-size: 11px; padding: 1px 7px; vertical-align: middle; } /* ── Modal: file list ────────────────────────────────────────────────────── */ .gwt-modal-file-list { max-height: 200px; overflow-y: auto; margin: 4px 0 12px; border: 1px solid var(--background-modifier-border); border-radius: 4px; padding: 4px; } .gwt-modal-file-item { display: flex; align-items: center; gap: 8px; padding: 3px 4px; border-radius: 3px; cursor: pointer; font-size: 12px; font-family: var(--font-monospace); } .gwt-modal-file-item:hover { background: var(--background-modifier-hover); } .gwt-modal-select-all { font-size: 11px; color: var(--text-muted); display: flex; gap: 10px; margin-bottom: 2px; } .gwt-modal-select-all a { cursor: pointer; color: var(--interactive-accent); text-decoration: none; } .gwt-modal-select-all a:hover { text-decoration: underline; } .gwt-modal-textarea { width: 100%; font-size: 13px; padding: 6px 8px; border-radius: 4px; background: var(--background-secondary); color: var(--text-normal); border: 1px solid var(--background-modifier-border); resize: vertical; font-family: inherit; box-sizing: border-box; margin-top: 4px; } .gwt-modal-textarea:focus { outline: none; border-color: var(--interactive-accent); } .gwt-modal-from-hint { font-size: 12px; color: var(--text-muted); margin: 0 0 10px; font-family: var(--font-monospace); } /* ── New branch buttons ──────────────────────────────────────────────────── */ .gwt-new-branch-row { display: flex; gap: 6px; margin-bottom: 8px; } .gwt-btn-sm { font-size: 11px; padding: 2px 6px; border-radius: 3px; cursor: pointer; white-space: nowrap; flex: 1; } /* ── New branch modal ────────────────────────────────────────────────────── */ .gwt-modal h3 { margin-top: 0; margin-bottom: 12px; } .gwt-modal-hint { font-size: 12px; color: var(--text-muted); margin-bottom: 12px; } .gwt-modal-row { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; } .gwt-modal-label { font-size: 12px; color: var(--text-muted); font-weight: 500; } .gwt-modal-select, .gwt-modal-input { width: 100%; font-size: 13px; padding: 4px 8px; border-radius: 4px; background: var(--background-secondary); color: var(--text-normal); border: 1px solid var(--background-modifier-border); } .gwt-modal-select:focus, .gwt-modal-input:focus { outline: none; border-color: var(--interactive-accent); } .gwt-modal-btns { display: flex; gap: 8px; justify-content: flex-end; margin-top: 4px; } .gwt-branch-sanitized-hint { font-size: 11px; color: var(--text-accent); margin: 0; font-family: var(--font-monospace); } /* ── Uncommitted files ───────────────────────────────────────────────────── */ .gwt-files-details { margin-bottom: 8px; } .gwt-files-summary { cursor: pointer; font-size: 12px; user-select: none; padding: 2px 0; list-style: none; } .gwt-files-summary::-webkit-details-marker { display: none; } .gwt-files-summary::before { content: "▶ "; font-size: 10px; transition: transform 0.1s; } details[open] .gwt-files-summary::before { content: "▼ "; } .gwt-files-list { margin-top: 6px; padding-left: 8px; } .gwt-file-row { display: flex; align-items: baseline; gap: 8px; font-size: 11px; font-family: var(--font-monospace); padding: 1px 0; } .gwt-file-status { font-weight: 700; min-width: 16px; text-align: center; font-size: 10px; } .gwt-status-M { color: var(--color-yellow); } .gwt-status-A { color: var(--color-green); } .gwt-status-D { color: var(--color-red); } .gwt-status-R { color: var(--color-blue); } .gwt-status-untracked { color: var(--text-muted); } .gwt-status-UU { color: var(--color-orange); } .gwt-file-path { color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* ── Conflict banner ─────────────────────────────────────────────────────── */ .gwt-conflict-banner { display: flex; align-items: center; gap: 8px; padding: 6px 8px; margin-bottom: 8px; border-radius: 4px; border-left: 3px solid var(--color-red); background: var(--background-secondary); } .gwt-conflict-icon { color: var(--color-red); flex-shrink: 0; } .gwt-conflict-text { flex: 1; font-size: 12px; color: var(--text-normal); } .gwt-conflict-resolve-btn { flex-shrink: 0; } .gwt-conflict-list { margin-bottom: 12px; } .gwt-conflict-row { padding: 6px 0; border-bottom: 1px solid var(--background-modifier-border); } .gwt-conflict-row-path { font-family: var(--font-monospace); font-size: 12px; word-break: break-word; margin-bottom: 2px; } /* ── Stash ────────────────────────────────────────────────────────────────── */ .gwt-stash-row { display: flex; align-items: center; gap: 8px; margin-top: 4px; } .gwt-stash-list { margin-bottom: 12px; } .gwt-stash-entry { padding: 8px 0; border-bottom: 1px solid var(--background-modifier-border); } .gwt-stash-entry-header { font-size: 12px; font-weight: 600; } .gwt-stash-entry-msg { font-size: 12px; color: var(--text-muted); margin-bottom: 4px; } .gwt-stash-entry-stat { font-family: var(--font-monospace); font-size: 11px; white-space: pre-wrap; margin-bottom: 6px; } /* ── Behind / pull ───────────────────────────────────────────────────────── */ .gwt-behind-row { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; } .gwt-behind-label { color: var(--color-yellow); font-size: 12px; flex: 1; } .gwt-warning { color: var(--color-orange); } .gwt-ok { color: var(--color-green); font-size: 12px; } .gwt-btn { font-size: 12px; padding: 2px 8px; cursor: pointer; border-radius: 3px; white-space: nowrap; } .gwt-btn-pull { background: var(--interactive-accent); color: var(--text-on-accent); border: none; } .gwt-btn-pull:hover { filter: brightness(1.1); } /* ── Collapsible PR section ──────────────────────────────────────────────── */ .gwt-pr-collapsible-summary { cursor: pointer; list-style: none; user-select: none; } .gwt-pr-collapsible-summary::-webkit-details-marker { display: none; } .gwt-pr-collapsible-summary h5 { display: inline-flex; align-items: center; gap: 4px; } .gwt-pr-collapsible-summary h5::before { content: "▶"; font-size: 9px; color: var(--text-faint); } details[open] .gwt-pr-collapsible-summary h5::before { content: "▼"; } /* ── PR list ─────────────────────────────────────────────────────────────── */ .gwt-pr { margin-bottom: 6px; padding: 6px 8px; border-radius: 4px; background: var(--background-secondary); border-left: 3px solid transparent; } .gwt-pr-new { border-left-color: var(--interactive-accent); } .gwt-pr-link { display: block; text-decoration: none; color: var(--text-normal); margin-bottom: 2px; line-height: 1.4; font-size: 13px; } .gwt-pr-link:hover { color: var(--interactive-accent); } .gwt-pr-meta { font-size: 11px; color: var(--text-muted); } .gwt-new-badge { color: var(--interactive-accent); font-weight: 600; } .gwt-draft { font-style: italic; } /* ── Misc ────────────────────────────────────────────────────────────────── */ .gwt-empty { font-size: 12px; color: var(--text-faint); font-style: italic; } .gwt-muted { color: var(--text-muted); font-size: 12px; } .gwt-error { color: var(--color-red); font-size: 12px; margin-bottom: 8px; word-break: break-word; } .gwt-status-bar { cursor: pointer; } .gwt-status-bar:hover { color: var(--text-normal); }