providers-metrics / style.css
victor's picture
victor HF Staff
style: Improve UI with enhanced visuals, responsiveness, and loading
e5231eb
body {
padding: 2rem;
font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
}
h1 {
font-size: 16px;
margin-top: 0;
}
p {
color: rgb(107, 114, 128);
font-size: 15px;
margin-bottom: 10px;
margin-top: 5px;
}
.card {
max-width: 620px;
margin: 0 auto;
padding: 16px;
border: 1px solid lightgray;
border-radius: 16px;
}
.card p:last-child {
margin-bottom: 0;
}
/* Sortable Table Header Styles */
.sortable-header {
cursor: pointer;
position: relative; /* Needed for pseudo-element positioning */
padding-right: 20px; /* Make space for the arrow */
}
.sortable-header::after {
content: '';
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
opacity: 0.4; /* Dim by default */
}
.sortable-header:hover::after {
opacity: 0.7; /* Slightly brighter on hover */
}
.sortable-header.sort-asc::after {
border-bottom: 5px solid var(--text-color); /* Arrow pointing up */
opacity: 1;
}
.sortable-header.sort-desc::after {
border-top: 5px solid var(--text-color); /* Arrow pointing down */
opacity: 1;
}
/* Spinner Styles */
#loading {
display: flex;
flex-direction: column; /* Stack spinner and message */
align-items: center;
justify-content: center;
min-height: 150px; /* Give it some space */
text-align: center;
font-size: 1.2em;
color: var(--muted-text-color);
}
.spinner {
border: 3px solid transparent;
width: 40px;
height: 40px;
border-radius: 50%;
border-top-color: var(--primary-color);
border-left-color: var(--primary-color);
margin-bottom: 20px;
animation: spin 1s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite;
position: relative;
will-change: transform;
}
.skeleton {
background: linear-gradient(90deg, rgba(22, 27, 34, 0.2) 25%, rgba(22, 27, 34, 0.3) 50%, rgba(22, 27, 34, 0.2) 75%);
background-size: 200% 100%;
animation: skeleton-loading 1.5s infinite;
border-radius: 8px;
min-height: 100px;
}
@keyframes skeleton-loading {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
.spinner::after {
content: '';
position: absolute;
top: -6px;
left: -6px;
right: -6px;
bottom: -6px;
border: 3px solid transparent;
border-radius: 50%;
border-top-color: rgba(88, 166, 255, 0.3);
border-left-color: rgba(88, 166, 255, 0.3);
animation: spin 1.5s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite reverse;
}
#loading-message {
font-size: 1rem; /* Slightly smaller message */
}
@keyframes spin {
0% {
transform: rotate(0deg);
opacity: 1;
}
50% {
opacity: 0.7;
}
100% {
transform: rotate(360deg);
opacity: 1;
}
}