/* ERP Hub - Custom Styles */

/* Additional utility classes */
.text-balance {
    text-wrap: balance;
}

/* Loading spinner */
.spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Fade in animation */
.fade-in {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Slide up animation */
.slide-up {
    animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Custom form styles */
input[type="checkbox"] {
    accent-color: #10B981;
}

/* Focus ring for accessibility */
.focus-ring:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.5);
}

/* Truncate text */
.truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Status indicators */
.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.status-dot.online {
    background-color: #10B981;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.5);
}

.status-dot.offline {
    background-color: #EF4444;
    box-shadow: 0 0 8px rgba(239, 68, 68, 0.5);
}

.status-dot.pending {
    background-color: #F59E0B;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.5);
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }

    body {
        background: white;
        color: black;
    }

    .glass-card,
    .glass-table {
        background: white;
        border: 1px solid #ccc;
        box-shadow: none;
    }
}
