/* Remote Host tool window */ .view { height: 100%; min-height: 0; display: flex; flex-direction: column; } .toolbar { height: 32px; flex: none; display: flex; align-items: center; gap: 2px; padding: 0 6px; } .serverSelect { min-width: 0; max-width: 220px; margin-right: 4px; } .rootPath { flex: none; padding: 0 10px 4px; color: var(--fg-subtle); font-family: var(--font-mono); font-size: var(--fs-small); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .treeHost { flex: 1; min-height: 0; display: flex; flex-direction: column; } .treeHost > * { flex: 1; min-height: 0; } .viewError { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px; } .center { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 16px; color: var(--fg-subtle); } .error { color: var(--danger); white-space: pre-wrap; word-break: break-word; } .note { color: var(--fg-subtle); font-size: var(--fs-small); line-height: 1.4; word-break: break-word; } .mono { font-family: var(--font-mono); } /* Notifications */ .report { display: flex; flex-direction: column; gap: 4px; } .reportErrors { margin: 0; padding-left: 16px; } /* Sync dialog */ .nativeWindow { display: flex; flex-direction: column; height: 100%; min-width: 0; overflow: hidden; background: var(--bg-dialog, var(--bg-elev)); color: var(--fg); } .nativeBody { flex: 1; min-height: 0; overflow: hidden; } .nativeFooter { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; flex: none; } .syncWindow { height: calc(100vh - 48px); } .syncWindow [data-dialog-body] { overflow: hidden; } .sync { display: flex; flex-direction: column; gap: 8px; height: 100%; min-height: 0; padding: 8px 10px 0; } .comparisonToolbar { display: flex; flex-wrap: wrap; align-items: center; flex: none; gap: 4px; } .separator { height: 20px; border-left: 1px solid var(--border); margin: 0 5px; } .filterButton { width: 28px; height: 26px; padding: 0; border: 1px solid transparent; border-radius: var(--radius-control, 4px); color: var(--fg-muted); background: transparent; font-size: 19px; cursor: pointer; } .filterButton[aria-pressed="true"] { background: var(--bg-tree-hover); border-color: var(--border); color: var(--accent); } .filterButton:focus-visible { outline: 2px solid var(--focus-ring); } .compareBy, .fileFilter { display: flex; align-items: center; gap: 6px; white-space: nowrap; } .compareBy select { height: 26px; color: var(--fg); background: var(--bg-input, var(--bg-island)); border: 1px solid var(--border); border-radius: var(--radius-control, 4px); font: inherit; } .fileFilter { margin-left: auto; width: clamp(180px, 30%, 480px); } .fileFilter > input { width: 100%; min-width: 0; } .comparisonRoots { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; flex: none; } .comparisonRoots > span { display: flex; align-items: center; gap: 8px; min-width: 0; border: 1px solid var(--border); border-radius: var(--radius-control, 4px); padding: 5px 8px; } .comparisonRoots > span > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .comparisonSplit { flex: 1; min-height: 0; } .fileList { display: flex; flex-direction: column; height: 100%; min-height: 0; } .syncTableHost { flex: 1; min-height: 0; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-control, 4px); } .syncTable { width: 100%; min-width: 900px; border-collapse: collapse; table-layout: fixed; } .syncTable th { position: sticky; top: 0; z-index: 1; text-align: left; font-weight: normal; color: var(--fg-muted); background: var(--bg-island); height: var(--h-list-row); padding: 0 6px; border-bottom: 1px solid var(--border); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .syncTable td { height: var(--h-list-row); padding: 0 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .syncTable tbody tr:hover { background: var(--bg-tree-hover); } .syncTable tbody tr[aria-selected="true"] { background: var(--bg-tree-selected, var(--accent-soft)); } .fileName { display: flex; align-items: center; gap: 6px; overflow: hidden; text-overflow: ellipsis; } .operationCol { width: 108px; } .operationCell { border-left: 1px solid var(--border); border-right: 1px solid var(--border); } .sizeCol { width: 80px; } .timeCol { width: 148px; } .num { text-align: right; font-variant-numeric: tabular-nums; } .choice { width: 100%; height: 22px; color: var(--fg); background: var(--bg-input, var(--bg-island)); border: 1px solid var(--border); border-radius: var(--radius-control, 4px); font: inherit; } .skipped td:not(:first-child) { color: var(--fg-subtle); } .emptyCell { text-align: center; color: var(--fg-subtle); } .status-localOnly, .status-localNewer { color: var(--vcs-added, var(--accent)); } .status-remoteOnly, .status-remoteNewer { color: var(--vcs-modified, var(--accent)); } .status-different { color: var(--warning); } .status-same { color: var(--fg-subtle); } .listHint { flex: none; color: var(--fg-subtle); font-size: var(--fs-small); padding: 3px 6px; text-align: right; } .preview { height: 100%; min-height: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); } .previewMessage { padding: 18px; display: flex; align-items: flex-start; flex-direction: column; gap: 12px; } /* SSH password prompt */ .secret { display: flex; flex-direction: column; gap: 10px; }