Files
portal-api/public/css/service/console.css
T

186 lines
4.0 KiB
CSS

/* Admin Console */
/* Simple Loading Container */
.loading-container {
background: #1a1a2e;
min-height: 500px;
position: relative;
overflow: hidden;
}
/* LDS Roller Spinner */
.lds-roller,
.lds-roller div,
.lds-roller div:after {
box-sizing: border-box;
}
.lds-roller {
display: inline-block;
position: relative;
width: 80px;
height: 80px;
}
.lds-roller div {
animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
transform-origin: 40px 40px;
}
.lds-roller div:after {
content: " ";
display: block;
position: absolute;
width: 7.2px;
height: 7.2px;
border-radius: 50%;
background: currentColor;
margin: -3.6px 0 0 -3.6px;
}
.lds-roller div:nth-child(1) { animation-delay: -0.036s; }
.lds-roller div:nth-child(1):after { top: 62.62742px; left: 62.62742px; }
.lds-roller div:nth-child(2) { animation-delay: -0.072s; }
.lds-roller div:nth-child(2):after { top: 67.71281px; left: 56px; }
.lds-roller div:nth-child(3) { animation-delay: -0.108s; }
.lds-roller div:nth-child(3):after { top: 70.90963px; left: 48.28221px; }
.lds-roller div:nth-child(4) { animation-delay: -0.144s; }
.lds-roller div:nth-child(4):after { top: 72px; left: 40px; }
.lds-roller div:nth-child(5) { animation-delay: -0.18s; }
.lds-roller div:nth-child(5):after { top: 70.90963px; left: 31.71779px; }
.lds-roller div:nth-child(6) { animation-delay: -0.216s; }
.lds-roller div:nth-child(6):after { top: 67.71281px; left: 24px; }
.lds-roller div:nth-child(7) { animation-delay: -0.252s; }
.lds-roller div:nth-child(7):after { top: 62.62742px; left: 17.37258px; }
.lds-roller div:nth-child(8) { animation-delay: -0.288s; }
.lds-roller div:nth-child(8):after { top: 56px; left: 12.28719px; }
@keyframes lds-roller {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* Simple Loading Text */
.loading-title {
font-size: 1.25rem;
font-weight: 500;
color: #fff;
margin-bottom: 10px;
}
.loading-text {
color: rgba(255, 255, 255, 0.7);
font-size: 0.9rem;
}
.loading-status {
color: rgba(255, 255, 255, 0.5);
font-size: 0.8rem;
}
/* Legacy styles */
.console-container {
transition: all 0.5s ease-in-out;
min-height: 500px;
}
.fade-transition {
transition: opacity 0.4s ease-in-out;
}
/* User Console */
.console-container {
background: #1a1a1a;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.console-header {
background: #2a2a2a;
border-bottom: 1px solid #3a3a3a;
padding: 12px 20px;
}
.control-panel {
background: white;
border-radius: 8px;
border: 1px solid #e5e7eb;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.btn-primary {
background: #3b82f6;
color: white;
border: none;
padding: 8px 16px;
border-radius: 6px;
font-weight: 500;
transition: background-color 0.2s;
}
.btn-primary:hover {
background: #2563eb;
}
.btn-secondary {
background: #f8f9fa;
color: #374151;
border: 1px solid #d1d5db;
padding: 8px 16px;
border-radius: 6px;
font-weight: 500;
transition: all 0.2s;
}
.btn-secondary:hover {
background: #e5e7eb;
}
.input-field {
width: 100%;
padding: 8px 12px;
border: 1px solid #d1d5db;
border-radius: 6px;
font-size: 14px;
transition: border-color 0.2s;
}
.input-field:focus {
outline: none;
border-color: #3b82f6;
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.loading-spinner {
width: 32px;
height: 32px;
border: 3px solid #e5e7eb;
border-top: 3px solid #3b82f6;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.section-title {
font-size: 16px;
font-weight: 600;
color: #111827;
margin-bottom: 16px;
}
.status-dot {
width: 8px;
height: 8px;
border-radius: 50%;
display: inline-block;
}
.status-connecting { background: #f59e0b; }
.status-connected { background: #10b981; }
.status-error { background: #ef4444; }