.sidebar { height: 100%; width: 100%; padding: var(--mantine-spacing-md); display: flex; flex-direction: column; gap: var(--mantine-spacing-xs); } .header { display: flex; align-items: center; justify-content: space-between; padding-bottom: var(--mantine-spacing-xs); } .title { font-weight: 600; font-size: var(--mantine-font-size-sm); } .searchInput { margin-bottom: var(--mantine-spacing-xs); } .chatList { flex: 1; overflow-y: auto; } .chatGroup + .chatGroup { margin-top: var(--mantine-spacing-sm); } .chatGroupLabel { padding: 4px var(--mantine-spacing-xs); font-size: var(--mantine-font-size-xs); font-weight: 600; color: light-dark(var(--mantine-color-gray-6), var(--mantine-color-dark-2)); user-select: none; } .chatListEmpty { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--mantine-spacing-xl) var(--mantine-spacing-md); text-align: center; gap: 4px; user-select: none; } .chatListEmptyIcon { color: light-dark(var(--mantine-color-gray-5), var(--mantine-color-dark-3)); margin-bottom: var(--mantine-spacing-xs); } .chatListEmptyTitle { font-size: var(--mantine-font-size-sm); font-weight: 600; color: light-dark(var(--mantine-color-gray-7), var(--mantine-color-dark-1)); } .chatListEmptyHint { font-size: var(--mantine-font-size-xs); color: light-dark(var(--mantine-color-gray-6), var(--mantine-color-dark-3)); line-height: 1.4; } .chatItem { display: flex; align-items: center; padding: 8px var(--mantine-spacing-xs); border-radius: var(--mantine-radius-sm); cursor: pointer; text-decoration: none; color: light-dark(var(--mantine-color-gray-7), var(--mantine-color-dark-1)); font-size: var(--mantine-font-size-sm); user-select: none; gap: var(--mantine-spacing-xs); @mixin hover { background-color: light-dark( var(--mantine-color-gray-1), var(--mantine-color-dark-6) ); } &[data-active] { background-color: light-dark( var(--mantine-color-gray-2), var(--mantine-color-dark-6) ); } } .chatItemTitle { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .chatItemDate { font-size: var(--mantine-font-size-xs); color: light-dark(var(--mantine-color-gray-5), var(--mantine-color-dark-3)); white-space: nowrap; transition: opacity 150ms; } .chatItemRenameInput { font-size: var(--mantine-font-size-sm); padding: 0; height: auto; min-height: 0; background: transparent; color: inherit; } .chatItem:hover .chatItemDate { opacity: 0; } .chatItemActions { position: absolute; right: var(--mantine-spacing-xs); opacity: 0; transition: opacity 150ms; } .chatItem { position: relative; } .chatItem:hover .chatItemActions { opacity: 1; }