/* ============================================
   JM Tracking v2 - Custom Styles
   ============================================ */

/* Smooth transitions */
* {
    scrollbar-width: thin;
    scrollbar-color: #94a3b8 transparent;
}

::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 3px;
}

/* Sidebar transition */
#sidebar {
    transition: width 0.3s ease;
}

#sidebar.w-16 .sidebar-label {
    display: none;
}

/* Table styles */
.table-container {
    overflow-x: auto;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    background-color: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.data-table td {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    color: #374151;
    border-bottom: 1px solid #f3f4f6;
}

.data-table tr:hover td {
    background-color: #f9fafb;
}

/* Card hover effect */
.card-hover {
    transition: transform 0.2s, box-shadow 0.2s;
}

.card-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Status indicator dot */
.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.status-dot.online { background-color: #22c55e; }
.status-dot.offline { background-color: #ef4444; }
.status-dot.pending { background-color: #eab308; }

/* Alarm pulse animation */
@keyframes pulse-alarm {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.alarm-pulse {
    animation: pulse-alarm 1.5s ease-in-out infinite;
}

/* Print styles */
@media print {
    #sidebar, header, .no-print {
        display: none !important;
    }
    main {
        padding: 0 !important;
    }
}
