.rio-list-page {
--rlp-content-max: 1440px;
--rlp-page-pad-x: var(--rio-s6);
}
.rio-main:has(> .rio-list-page) {
padding-inline: var(--rlp-page-pad-x);
}
.rio-list-page,
.rio-list-page > * {
max-width: var(--rlp-content-max);
margin-inline: auto;
}
.rio-list-page .rlp-header {
margin-bottom: var(--rio-s5);
}
.rio-list-page .rlp-header-row {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: var(--rio-s4);
flex-wrap: wrap;
}
.rio-list-page .rlp-header-titles {
flex: 1 1 320px;
min-width: 0;
}
.rio-list-page .rlp-title {
font-size: var(--rio-fs-h1);
font-weight: var(--rio-fw-bold);
line-height: var(--rio-lh-tight);
letter-spacing: var(--rio-tracking-display);
margin: var(--rio-s1) 0 var(--rio-s1);
color: var(--rio-text-strong);
}
.rio-list-page .rlp-subtitle {
font-size: var(--rio-fs-md);
line-height: 1.5;
color: var(--rio-text-muted);
margin: 0;
max-width: 60ch;
}
.rio-list-page .rlp-toolbar {
display: flex;
flex-direction: column;
gap: var(--rio-s3);
margin-bottom: var(--rio-s4);
}
.rio-list-page .rlp-find {
display: flex;
align-items: center;
gap: var(--rio-s2);
flex-wrap: wrap;
padding: var(--rio-s3);
background: var(--rio-accent-soft);
border: 1px solid var(--rio-accent-border);
border-radius: var(--rio-radius);
}
.rio-list-page .rlp-find .rio-search-bar {
flex: 1 1 360px;
min-width: 260px;
margin-bottom: 0;
}
.rio-list-page .rlp-find .rio-dropdown-toggle,
.rio-list-page .rlp-arrange .rio-dropdown-toggle {
min-height: 40px;
font-size: var(--rio-fs-sm);
padding-block: var(--rio-s2);
}
.rio-list-page .rlp-reset {
display: inline-flex;
align-items: center;
gap: var(--rio-s1);
height: 40px;
padding: 0 var(--rio-s3);
background: transparent;
border: 1px solid transparent;
border-radius: var(--rio-radius-sm);
color: var(--rio-text-muted);
font-size: var(--rio-fs-sm);
font-weight: var(--rio-fw-semibold);
text-decoration: none;
transition: background 0.12s, color 0.12s;
}
.rio-list-page .rlp-reset:hover {
background: var(--rio-surface-2);
color: var(--rio-danger);
text-decoration: none;
}
.rio-list-page .rlp-reset .rio-icon { width: 14px; height: 14px; }
.rio-list-page .rlp-arrange {
display: flex;
align-items: center;
gap: var(--rio-s2);
flex-wrap: wrap;
}
.rio-list-page .rlp-arrange-spacer {
flex: 1 1 auto;
min-width: var(--rio-s3);
}
.rio-list-page .rlp-sort-dir {
display: inline-flex;
align-items: center;
gap: var(--rio-s1);
height: 40px;
padding: 0 var(--rio-s3);
background: var(--rio-surface);
color: var(--rio-text-muted);
border: 1px solid var(--rio-border);
border-radius: var(--rio-radius-sm);
font-size: var(--rio-fs-sm);
font-weight: var(--rio-fw-semibold);
text-decoration: none;
white-space: nowrap;
transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.rio-list-page .rlp-sort-dir:hover {
background: var(--rio-surface-3);
border-color: var(--rio-border-strong);
color: var(--rio-text-strong);
text-decoration: none;
}
.rio-list-page .rlp-sort-dir .rio-icon { width: 14px; height: 14px; opacity: 0.7; }
.rio-list-page .rlp-data-link {
display: inline-flex;
align-items: center;
gap: var(--rio-s2);
height: 40px;
padding: 0 var(--rio-s3);
background: var(--rio-surface);
color: var(--rio-text);
border: 1px solid var(--rio-border);
border-radius: var(--rio-radius-sm);
font-size: var(--rio-fs-sm);
font-weight: var(--rio-fw-semibold);
text-decoration: none;
cursor: pointer;
transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.rio-list-page .rlp-data-link:hover {
background: var(--rio-surface-3);
border-color: var(--rio-border-strong);
color: var(--rio-text-strong);
text-decoration: none;
}
.rio-list-page .rlp-data-link .rio-icon { width: 15px; height: 15px; opacity: 0.85; }
.rio-list-page .rlp-import-form { margin: 0; display: inline-flex; }
.rio-list-page .rio-table {
font-size: var(--rio-fs-sm);
}
.rio-list-page .rio-table th,
.rio-list-page .rio-table td {
padding-block: var(--rio-s3);
}
.rio-list-page .rio-table tbody td {
padding-block: 14px;
}
.rio-list-page .rio-table thead {
--rio-text-strong: #F8FAFC;
--rio-text: #E2E8F0;
--rio-text-muted: #94A3B8;
--rio-text-subtle: #64748B;
--rio-border: #334155;
--rio-accent: #2DD4BF;
}
.rio-list-page .rio-table th {
background: var(--rio-surface-chrome);
color: var(--rio-text);
font-size: 13px;
letter-spacing: var(--rio-tracking-allcaps);
border-bottom-color: var(--rio-border);
}
.rio-list-page .rlp-empty {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: var(--rio-s7) var(--rio-s5);
background: var(--rio-surface);
}
.rio-list-page .rlp-empty-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 64px;
height: 64px;
border-radius: 999px;
background: var(--rio-accent-soft);
color: var(--rio-accent);
margin-bottom: var(--rio-s4);
}
.rio-list-page .rlp-empty-icon .rio-icon {
width: 28px;
height: 28px;
}
.rio-list-page .rlp-empty-title {
font-size: var(--rio-fs-h2);
font-weight: var(--rio-fw-bold);
color: var(--rio-text-strong);
margin: 0 0 var(--rio-s2);
line-height: var(--rio-lh-tight);
}
.rio-list-page .rlp-empty-body {
font-size: var(--rio-fs-md);
color: var(--rio-text-muted);
margin: 0 0 var(--rio-s5);
max-width: 44ch;
}
.rio-list-page .rlp-bottom-bar {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--rio-s3);
flex-wrap: wrap;
margin-top: var(--rio-s4);
padding: var(--rio-s2) 0;
color: var(--rio-text-muted);
font-size: var(--rio-fs-sm);
}
.rio-list-page .rlp-row-count {
font-weight: var(--rio-fw-medium);
font-variant-numeric: tabular-nums;
}
.rio-list-page .rlp-row-count strong {
color: var(--rio-text-strong);
font-weight: var(--rio-fw-semibold);
}
.rio-list-page .rlp-bottom-bar .rio-pagination {
margin: 0;
display: inline-flex;
align-items: center;
gap: var(--rio-s1);
}
@media (max-width: 1279px) {
.rio-list-page { --rlp-page-pad-x: var(--rio-s5); }
}
@media (max-width: 767px) {
.rio-list-page { --rlp-page-pad-x: var(--rio-s4); }
.rio-list-page .rlp-header-row { flex-direction: column; align-items: stretch; }
.rio-list-page .rlp-find .rio-search-bar { flex-basis: 100%; }
.rio-list-page .rlp-arrange { padding-top: var(--rio-s2); }
.rio-list-page .rlp-empty { padding: var(--rio-s5) var(--rio-s4); }
}