@use 'variables' as *; @use 'mixins' as *; // Audit log .audit-controls { @include flex(row, flex-start, center, $space-4); margin-bottom: $space-6; } .filter-select { padding: $space-2 24px $space-2 $space-4; font-size: $font-size-base; background: $bg-2; } .action-danger { background: $error-medium; color: $error-text; } .action-updated { background: $action-updated-bg; color: $action-updated-text; } .action-collection { background: $action-collection-bg; color: $action-collection-text; } .action-collection-remove { background: $action-collection-remove-bg; color: $action-collection-remove-text; } .action-opened { background: $action-opened-bg; color: $action-opened-text; } .action-scanned { background: $action-scanned-bg; color: $text-2; } .clickable { cursor: pointer; color: $accent-text; &:hover { text-decoration: underline; } } .clickable-row { cursor: pointer; &:hover { background: $overlay-light; } } // Duplicates .duplicates-view { padding: 0; } .duplicates-header { @include flex-between; margin-bottom: $space-8; h3 { margin: 0; } } .duplicates-summary { @include flex(row, flex-start, center, $space-6); } .duplicate-group { border: 1px solid $border; border-radius: $radius; margin-bottom: $space-4; overflow: hidden; } .duplicate-group-header { @include flex(row, flex-start, center, $space-6); width: 100%; padding: 10px 14px; background: $bg-2; border: none; cursor: pointer; text-align: left; color: $text-0; font-size: $font-size-lg; &:hover { background: $bg-3; } } .expand-icon { font-size: $font-size-sm; width: 14px; flex-shrink: 0; } .group-name { font-weight: $font-weight-semibold; flex: 1; @include text-truncate; } .group-badge { background: $accent; color: white; padding: $space-1 $space-4; border-radius: 10px; font-size: $font-size-base; font-weight: $font-weight-semibold; flex-shrink: 0; } .group-size { flex-shrink: 0; font-size: $font-size-md; } .group-hash { font-size: $font-size-base; flex-shrink: 0; } .duplicate-items { border-top: 1px solid $border; } .duplicate-item { @include flex(row, flex-start, center, $space-6); padding: 10px 14px; border-bottom: 1px solid $border-subtle; &:last-child { border-bottom: none; } &-keep { background: $green-light; } } .dup-thumb { width: 48px; height: 48px; flex-shrink: 0; border-radius: $radius-sm; overflow: hidden; } .dup-thumb-img { width: 100%; height: 100%; object-fit: cover; } .dup-thumb-placeholder { width: 100%; height: 100%; @include flex-center; background: $bg-3; font-size: 20px; color: $text-2; } .dup-info { flex: 1; min-width: 0; } .dup-filename { font-weight: $font-weight-semibold; font-size: $font-size-lg; @include text-truncate; } .dup-path { font-size: $font-size-base; @include text-truncate; } .dup-meta { font-size: $font-size-md; margin-top: $space-1; } .dup-actions { @include flex(row, flex-start, center, 6px); flex-shrink: 0; } .keep-badge { background: $green-medium; color: $green-text; padding: $space-1 $space-5; border-radius: 10px; font-size: $font-size-base; font-weight: $font-weight-semibold; } // Saved searches .saved-searches-list { @include flex(column, flex-start, stretch, $space-2); max-height: 300px; overflow-y: auto; } .saved-search-item { @include flex-between; padding: $space-4 $space-6; background: $bg-1; border-radius: $radius-sm; cursor: pointer; transition: background $transition-slow ease; &:hover { background: $bg-2; } } .saved-search-info { @include flex(column, flex-start, stretch, $space-1); flex: 1; min-width: 0; } .saved-search-name { font-weight: $font-weight-medium; color: $text-0; } .saved-search-query { font-size: $font-size-base; @include text-truncate; } // Backlinks .backlinks-panel, .outgoing-links-panel { background: $bg-2; border: 1px solid $border; border-radius: $radius; margin-top: $space-8; overflow: hidden; } .backlinks-header, .outgoing-links-header { @include flex(row, flex-start, center, $space-4); padding: 10px 14px; background: $bg-3; cursor: pointer; user-select: none; transition: background $transition-base; &:hover { background: $overlay-medium; } } .backlinks-toggle, .outgoing-links-toggle { font-size: $font-size-sm; color: $text-2; width: 12px; text-align: center; } .backlinks-title, .outgoing-links-title { font-size: $font-size-md; font-weight: $font-weight-semibold; color: $text-0; flex: 1; } .backlinks-count, .outgoing-links-count { font-size: $font-size-base; color: $text-2; } .backlinks-reindex-btn { @include flex-center; width: 22px; height: 22px; padding: 0; margin-left: auto; background: transparent; border: 1px solid $border; border-radius: $radius-sm; color: $text-2; font-size: $font-size-md; cursor: pointer; transition: background $transition-base, color $transition-base, border-color $transition-base; &:hover:not(:disabled) { background: $bg-2; color: $text-0; border-color: $border-strong; } &:disabled { opacity: 0.5; cursor: not-allowed; } } .backlinks-content, .outgoing-links-content { padding: $space-6; border-top: 1px solid $border-subtle; } .backlinks-loading, .outgoing-links-loading { @include flex(row, flex-start, center, $space-4); padding: $space-6; color: $text-2; font-size: $font-size-md; } .backlinks-error, .outgoing-links-error { padding: $space-4 $space-6; background: $error-bg; border: 1px solid $error-border; border-radius: $radius-sm; font-size: $font-size-md; color: $error; } .backlinks-empty, .outgoing-links-empty { padding: $space-8; text-align: center; color: $text-2; font-size: $font-size-md; font-style: italic; } .backlinks-list, .outgoing-links-list { list-style: none; padding: 0; margin: 0; @include flex(column, flex-start, stretch, 6px); } .backlink-item, .outgoing-link-item { padding: $space-5 $space-6; background: $bg-0; border: 1px solid $border-subtle; border-radius: $radius-sm; cursor: pointer; transition: background $transition-base, border-color $transition-base; &:hover { background: $bg-1; border-color: $border; } &.unresolved { opacity: 0.7; border-style: dashed; } } .backlink-source, .outgoing-link-target { @include flex(row, flex-start, center, $space-4); margin-bottom: $space-1; } .backlink-title, .outgoing-link-text { font-size: $font-size-lg; font-weight: $font-weight-medium; color: $text-0; flex: 1; @include text-truncate; } .backlink-type-badge, .outgoing-link-type-badge { display: inline-block; padding: 1px $space-3; border-radius: $radius-xl; font-size: 9px; font-weight: $font-weight-semibold; text-transform: uppercase; letter-spacing: $letter-spacing-wide; &.backlink-type-wikilink, &.link-type-wikilink { background: $accent-dim; color: $accent-text; } &.backlink-type-embed, &.link-type-embed { background: $type-audio-bg; color: $type-audio-text; } &.backlink-type-markdown_link, &.link-type-markdown_link { background: $type-document-bg; color: $type-document-text; } } .backlink-context { font-size: $font-size-base; color: $text-2; line-height: $line-height-normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .backlink-line { color: $text-1; font-weight: $font-weight-medium; } .unresolved-badge { padding: 1px $space-3; border-radius: $radius-xl; font-size: 9px; font-weight: $font-weight-semibold; background: $warning-light; color: $warning; } .outgoing-links-unresolved-badge { margin-left: $space-4; padding: $space-1 $space-4; border-radius: 10px; font-size: $font-size-sm; font-weight: $font-weight-medium; background: $warning-medium; color: $warning; } .outgoing-links-global-unresolved { @include flex(row, flex-start, center, 6px); margin-top: $space-6; padding: $space-5 $space-6; background: $warning-bg; border: 1px solid $warning-border; border-radius: $radius-sm; font-size: $font-size-base; color: $text-2; .unresolved-icon { color: $warning; } } .backlinks-message { padding: $space-4 $space-5; margin-bottom: 10px; border-radius: $radius-sm; font-size: $font-size-base; &.success { background: $success-bg; border: 1px solid $success-border; color: $success; } &.error { background: $error-bg; border: 1px solid $error-border; color: $error; } }