Files
smom-dbis-138/orchestration/portal/static/style.css

121 lines
2.1 KiB
CSS
Raw Normal View History

/* Additional custom styles for enhanced UX */
/* Loading spinner */
.spinner {
border: 3px solid #f3f3f3;
border-top: 3px solid var(--primary);
border-radius: 50%;
width: 40px;
height: 40px;
animation: spin 1s linear infinite;
margin: 20px auto;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* Toast notifications */
.toast {
position: fixed;
bottom: 20px;
right: 20px;
background: var(--card-bg);
padding: 1rem 1.5rem;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
z-index: 1000;
animation: slideIn 0.3s ease-out;
}
@keyframes slideIn {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
/* Progress bars */
.progress-bar {
width: 100%;
height: 8px;
background: var(--border);
border-radius: 4px;
overflow: hidden;
}
.progress-fill {
height: 100%;
background: var(--primary);
transition: width 0.3s ease;
}
/* Tooltips */
.tooltip {
position: relative;
display: inline-block;
}
.tooltip .tooltip-text {
visibility: hidden;
width: 200px;
background-color: var(--text);
color: white;
text-align: center;
border-radius: 6px;
padding: 5px;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -100px;
opacity: 0;
transition: opacity 0.3s;
font-size: 0.875rem;
}
.tooltip:hover .tooltip-text {
visibility: visible;
opacity: 1;
}
/* Responsive tables */
.table-responsive {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
}
table th,
table td {
padding: 0.75rem;
text-align: left;
border-bottom: 1px solid var(--border);
}
table th {
background: var(--bg);
font-weight: 600;
color: var(--text);
}
/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
:root {
--bg: #1f2937;
--card-bg: #374151;
--text: #f9fafb;
--text-light: #9ca3af;
--border: #4b5563;
}
}