All checks were successful
continuous-integration/drone/push Build is passing
237 lines
5.3 KiB
CSS
237 lines
5.3 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
/* MCSManager Style Global Styles */
|
|
@layer base {
|
|
* {
|
|
@apply border-dark-700;
|
|
}
|
|
|
|
body {
|
|
@apply bg-dark-900 text-gray-100 antialiased;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
sans-serif;
|
|
}
|
|
|
|
/* Scrollbar styling */
|
|
::-webkit-scrollbar {
|
|
@apply w-2 h-2;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
@apply bg-dark-850;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
@apply bg-dark-600 rounded-full;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
@apply bg-dark-500;
|
|
}
|
|
}
|
|
|
|
@layer components {
|
|
/* Card styles */
|
|
.card {
|
|
@apply bg-dark-800 rounded-lg border border-dark-700 shadow-lg;
|
|
}
|
|
|
|
.card-hover {
|
|
@apply card transition-all duration-200 hover:border-primary-500 hover:shadow-glow;
|
|
}
|
|
|
|
/* Button styles */
|
|
.btn {
|
|
@apply px-4 py-2 rounded-lg font-medium transition-all duration-200
|
|
focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-dark-900;
|
|
}
|
|
|
|
.btn-primary {
|
|
@apply btn bg-primary-600 text-white hover:bg-primary-700
|
|
focus:ring-primary-500 shadow-md hover:shadow-glow;
|
|
}
|
|
|
|
.btn-secondary {
|
|
@apply btn bg-dark-700 text-gray-200 hover:bg-dark-600
|
|
focus:ring-dark-500 border border-dark-600;
|
|
}
|
|
|
|
.btn-success {
|
|
@apply btn bg-green-600 text-white hover:bg-green-700
|
|
focus:ring-green-500 shadow-md;
|
|
}
|
|
|
|
.btn-danger {
|
|
@apply btn bg-red-600 text-white hover:bg-red-700
|
|
focus:ring-red-500 shadow-md;
|
|
}
|
|
|
|
.btn-warning {
|
|
@apply btn bg-yellow-600 text-white hover:bg-yellow-700
|
|
focus:ring-yellow-500 shadow-md;
|
|
}
|
|
|
|
.btn-icon {
|
|
@apply p-2 rounded-lg transition-all duration-200
|
|
hover:bg-dark-700 focus:outline-none focus:ring-2
|
|
focus:ring-primary-500 focus:ring-offset-2 focus:ring-offset-dark-900;
|
|
}
|
|
|
|
/* Input styles */
|
|
.input {
|
|
@apply w-full px-4 py-2 bg-dark-850 border border-dark-700 rounded-lg
|
|
text-gray-100 placeholder-gray-500
|
|
focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent
|
|
transition-all duration-200;
|
|
}
|
|
|
|
.input:focus {
|
|
@apply shadow-glow;
|
|
}
|
|
|
|
/* Badge styles */
|
|
.badge {
|
|
@apply px-2 py-1 text-xs font-semibold rounded-full;
|
|
}
|
|
|
|
.badge-success {
|
|
@apply badge bg-green-600/20 text-green-400 border border-green-600/30;
|
|
}
|
|
|
|
.badge-danger {
|
|
@apply badge bg-red-600/20 text-red-400 border border-red-600/30;
|
|
}
|
|
|
|
.badge-warning {
|
|
@apply badge bg-yellow-600/20 text-yellow-400 border border-yellow-600/30;
|
|
}
|
|
|
|
.badge-info {
|
|
@apply badge bg-blue-600/20 text-blue-400 border border-blue-600/30;
|
|
}
|
|
|
|
/* Sidebar styles */
|
|
.sidebar-item {
|
|
@apply flex items-center gap-3 px-4 py-3 rounded-lg
|
|
text-gray-300 hover:text-white hover:bg-dark-700
|
|
transition-all duration-200 cursor-pointer;
|
|
}
|
|
|
|
.sidebar-item-active {
|
|
@apply sidebar-item bg-primary-600/20 text-primary-400
|
|
border-l-4 border-primary-500 hover:bg-primary-600/30;
|
|
}
|
|
|
|
/* Tab styles */
|
|
.tab {
|
|
@apply px-4 py-2 font-medium text-gray-400 hover:text-gray-200
|
|
border-b-2 border-transparent hover:border-dark-600
|
|
transition-all duration-200 cursor-pointer;
|
|
}
|
|
|
|
.tab-active {
|
|
@apply tab text-primary-400 border-primary-500 hover:border-primary-500;
|
|
}
|
|
|
|
/* Stats card */
|
|
.stat-card {
|
|
@apply card p-4 flex items-center gap-4;
|
|
}
|
|
|
|
.stat-icon {
|
|
@apply p-3 rounded-lg bg-primary-600/20 text-primary-400;
|
|
}
|
|
|
|
/* Server card */
|
|
.server-card {
|
|
@apply card-hover p-6 cursor-pointer;
|
|
}
|
|
|
|
.server-card-selected {
|
|
@apply server-card border-primary-500 bg-primary-600/10 shadow-glow;
|
|
}
|
|
|
|
/* Modal overlay */
|
|
.modal-overlay {
|
|
@apply fixed inset-0 bg-black/70 backdrop-blur-sm z-40
|
|
flex items-center justify-center p-4;
|
|
}
|
|
|
|
.modal-content {
|
|
@apply card p-6 max-w-5xl w-full max-h-[90vh] overflow-y-auto;
|
|
}
|
|
|
|
/* Console terminal */
|
|
.console-terminal {
|
|
@apply bg-dark-950 rounded-lg p-4 font-mono text-sm
|
|
text-green-400 overflow-auto border border-dark-700;
|
|
}
|
|
|
|
/* Loading spinner */
|
|
.spinner {
|
|
@apply animate-spin rounded-full border-2 border-gray-600
|
|
border-t-primary-500;
|
|
}
|
|
|
|
/* Tooltip */
|
|
.tooltip {
|
|
@apply absolute z-50 px-2 py-1 text-xs font-medium text-white
|
|
bg-dark-700 rounded shadow-lg pointer-events-none;
|
|
}
|
|
}
|
|
|
|
/* Animations */
|
|
@keyframes slideIn {
|
|
from {
|
|
transform: translateX(-100%);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.animate-slide-in {
|
|
animation: slideIn 0.3s ease-out;
|
|
}
|
|
|
|
.animate-fade-in {
|
|
animation: fadeIn 0.3s ease-out;
|
|
}
|
|
|
|
/* Glow effect for active elements */
|
|
.glow-effect {
|
|
position: relative;
|
|
}
|
|
|
|
.glow-effect::before {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -2px;
|
|
border-radius: inherit;
|
|
padding: 2px;
|
|
background: linear-gradient(45deg, #0ea5e9, #3b82f6, #8b5cf6);
|
|
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
-webkit-mask-composite: xor;
|
|
mask-composite: exclude;
|
|
opacity: 0;
|
|
transition: opacity 0.3s;
|
|
}
|
|
|
|
.glow-effect:hover::before {
|
|
opacity: 0.5;
|
|
}
|