2026-06-11 01:01:53 +08:00

427 lines
7.5 KiB
CSS

.root {
display: flex;
height: calc(100vh - var(--header-height) - var(--space-8) - var(--space-4));
height: calc(100dvh - var(--header-height) - var(--space-8) - var(--space-4));
min-height: 0;
flex-direction: column;
}
.contentPanel {
display: flex;
flex: 1;
flex-direction: column;
min-height: 0;
overflow: hidden;
border: 1px solid var(--border);
border-radius: var(--radius-card);
background: var(--bg-card);
}
.contentPanel :global(.data-state),
.contentPanel :global(.table-frame) {
flex: 1;
min-height: 0;
border: 0;
border-radius: 0;
background: transparent;
}
.contentPanel :global(.table-scroll) {
overflow: auto;
}
.prettyContentPanel {
gap: 0;
}
.prettyWorkspace {
display: grid;
flex: 1;
min-height: 0;
grid-template-columns: minmax(380px, 0.78fr) minmax(0, 1.22fr);
}
.prettyPane {
display: flex;
min-width: 0;
min-height: 0;
flex-direction: column;
}
.prettyPoolPane {
border-right: 1px solid var(--border);
}
.prettyPane :global(.data-state) {
flex: 1;
min-height: 0;
}
.prettyPaneHeader {
display: flex;
min-height: 58px;
align-items: center;
justify-content: space-between;
gap: var(--space-3);
flex: 0 0 auto;
padding: var(--space-3) var(--space-4);
border-bottom: 1px solid var(--border);
background: var(--bg-card);
}
.prettyPaneTitle {
display: grid;
min-width: 0;
gap: 2px;
}
.prettyPaneTitle h2 {
overflow: hidden;
margin: 0;
color: var(--text-primary);
font-size: 16px;
font-weight: 750;
line-height: 1.25;
text-overflow: ellipsis;
white-space: nowrap;
}
.prettyPaneTitle span {
color: var(--text-tertiary);
font-size: 12px;
font-weight: 650;
}
.prettyFilters {
display: flex;
min-width: 0;
align-items: center;
flex-wrap: wrap;
gap: var(--space-2);
flex: 0 0 auto;
padding: var(--space-3) var(--space-4);
border-bottom: 1px solid var(--border);
background: var(--bg-subtle);
}
.compactTableFrame :global(.admin-row) {
min-height: 48px;
}
.compactTableFrame :global(.admin-row--head),
.compactTableFrame :global(.admin-cell--head) {
min-height: 38px;
}
.compactTableFrame :global(.admin-cell) {
padding-right: var(--space-3);
padding-left: var(--space-3);
}
.compactTableFrame :global(.pagination-bar) {
min-height: 42px;
padding: var(--space-2) var(--space-4);
border-top: 1px solid var(--border);
}
.toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-4);
flex: 0 0 auto;
padding: var(--space-4) var(--space-5);
border-bottom: 1px solid var(--border);
}
.toolbarLeft {
display: flex;
min-width: 0;
flex: 1;
align-items: center;
flex-wrap: wrap;
gap: var(--space-3);
}
.toolbarActions {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: var(--space-2);
}
.selectedMeta {
color: var(--text-secondary);
font-size: var(--admin-font-size);
font-weight: 650;
}
.timeFilter {
flex: 0 1 280px;
min-width: 220px;
}
.selectColumn {
display: flex;
align-items: center;
justify-content: center;
overflow: visible;
padding-right: var(--space-2) !important;
padding-left: var(--space-2) !important;
}
.selectColumn :global(.admin-cell__head-content) {
justify-content: center;
}
.sortHeader {
display: inline-flex;
max-width: 100%;
min-width: 0;
align-items: center;
gap: var(--space-1);
padding: 0;
border: 0;
background: transparent;
color: inherit;
cursor: pointer;
font: inherit;
font-weight: inherit;
}
.sortHeader:hover,
.sortHeaderActive {
color: var(--text-primary);
}
.sortHeader span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.sortIcon {
flex: 0 0 auto;
color: var(--text-tertiary);
font-size: 18px;
}
.sortHeaderActive .sortIcon {
color: var(--primary);
}
.filters {
display: flex;
min-width: 0;
flex: 1;
align-items: center;
flex-wrap: wrap;
gap: var(--space-3);
}
.search {
flex: 1 1 240px;
}
.compactControl {
flex: 0 1 150px;
}
.userIDControl {
flex: 0 1 130px;
}
.statusSelect {
flex: 0 0 150px;
}
.listBlock {
display: flex;
flex: 1;
min-height: 0;
flex-direction: column;
background: var(--bg-card);
}
.listBlock :global(.pagination-bar) {
margin: var(--space-3) var(--space-5) var(--space-4);
}
.identity {
display: flex;
min-width: 0;
align-items: center;
gap: var(--space-3);
}
.avatar {
display: inline-flex;
width: 36px;
height: 36px;
flex: 0 0 auto;
align-items: center;
justify-content: center;
overflow: hidden;
border: 1px solid var(--border);
border-radius: 50%;
background: var(--bg-card-strong);
color: var(--text-secondary);
font-weight: 700;
}
.avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.prettyIcon {
display: inline-flex;
width: 36px;
height: 36px;
flex: 0 0 auto;
align-items: center;
justify-content: center;
border: 1px solid var(--border);
border-radius: 50%;
background: var(--primary-surface);
color: var(--primary);
}
.identityText {
min-width: 0;
}
.nameLine {
display: flex;
min-width: 0;
align-items: center;
gap: var(--space-2);
color: var(--text-primary);
font-weight: 650;
}
.name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.gender {
display: inline-flex;
width: 18px;
height: 18px;
align-items: center;
justify-content: center;
border-radius: 50%;
font-weight: 700;
line-height: 1;
}
.genderMale {
background: rgba(37, 99, 235, 0.1);
color: #2563eb;
}
.genderFemale {
background: rgba(219, 39, 119, 0.12);
color: #db2777;
}
.genderUnknown {
background: var(--neutral-surface);
color: var(--text-tertiary);
}
.meta {
color: var(--text-tertiary);
font-size: var(--admin-font-size);
line-height: 1.3;
}
.stack {
display: grid;
gap: 1px;
min-width: 0;
}
.primaryText {
color: var(--text-primary);
font-weight: 650;
}
.countryButton {
display: inline-flex;
width: fit-content;
max-width: 100%;
align-items: center;
justify-content: flex-start;
overflow: hidden;
border: 0;
background: transparent;
color: var(--primary);
cursor: pointer;
font: inherit;
font-weight: 650;
padding: 0;
text-align: left;
text-overflow: ellipsis;
white-space: nowrap;
}
.countryButton:hover {
color: var(--primary-strong);
}
.rowActions {
display: inline-flex;
align-items: center;
gap: var(--space-2);
}
.formGridTwo {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-3);
}
@media (max-width: 760px) {
.prettyWorkspace {
grid-template-columns: 1fr;
}
.prettyPoolPane {
min-height: 42dvh;
border-right: 0;
border-bottom: 1px solid var(--border);
}
.prettyIDPane {
min-height: 50dvh;
}
.prettyPaneHeader,
.toolbar,
.toolbarLeft,
.toolbarActions,
.filters,
.prettyFilters {
align-items: stretch;
flex-direction: column;
}
.search,
.compactControl,
.userIDControl,
.statusSelect,
.timeFilter {
flex: 1 1 auto;
width: 100%;
}
.formGridTwo {
grid-template-columns: 1fr;
}
}