/* AID Enterprise System Styles v13.1.0 */

/* RTL/LTR Support */
.rtl { direction: rtl; }
.ltr { direction: ltr; }

/* Font Configuration */
.hebrew-font { font-family: 'Noto Sans Hebrew', sans-serif; }
.english-font { font-family: 'Inter', sans-serif; }

/* BiDi Text Support */
.bidi-text { unicode-bidi: plaintext; }

/* Custom Animations */
.sidebar-transition { transition: transform 0.3s ease-in-out; }
.fade-in { opacity: 0; animation: fadeIn 0.3s ease-in-out forwards; }

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

/* Module Cards */
.module-card {
    transition: all 0.2s ease-in-out;
    border: 2px solid transparent;
}

.module-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border-color: #3b82f6;
}

/* Enhanced hover effects for dashboard cards */
.dashboard-card {
    transition: all 0.3s ease-in-out;
}

.dashboard-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
}

/* Loading spinner */
.loading-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Focus styles for accessibility */
.focus-aid:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Custom button styles */
.btn-aid-primary {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    border: none;
    color: white;
    transition: all 0.2s ease-in-out;
}

.btn-aid-primary:hover {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

/* Status indicators */
.status-online { color: #10b981; }
.status-offline { color: #ef4444; }
.status-warning { color: #f59e0b; }

/* Toast notifications */
.toast {
    transition: all 0.3s ease-in-out;
    transform: translateX(100%);
}

.toast.show {
    transform: translateX(0);
}

/* Responsive breakpoints customization */
@media (max-width: 640px) {
    .mobile-stack > * {
        width: 100% !important;
        margin-bottom: 1rem;
    }
}

/* Print styles */
@media print {
    .no-print { display: none !important; }
    body { font-size: 12pt; }
    h1 { font-size: 18pt; }
    h2 { font-size: 16pt; }
    h3 { font-size: 14pt; }
}