body {
   font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
   color: #6a6c6f;
}
/* Typography per specification */
.nexus-title-main { font-size: 1.75rem !important; font-weight: 800 !important; color: #2c3e50; letter-spacing: -0.5px; }
.nexus-title-secondary { font-size: 1.1rem !important; font-weight: 700 !important; color: #34495e; }
.nexus-text-general { font-size: 0.9rem !important; color: #7f8c8d; }
/* Cards */
.nexus-card {
   background-color: #ffffff;
   border: 1px solid #e0e0e0;
   border-radius: 0.5rem !important;
   box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
   height: 100%;
   display: flex;
   flex-direction: column;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nexus-card:hover {
   transform: translateY(-2px);
   box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
}
/* Buttons per specification */
.nexus-btn-standard {
   background-color: #34495e !important;
   color: #ffffff !important;
   height: 34px !important;
   padding: 0 10px !important;
   border-radius: 3px !important;
   font-size: 12px !important;
   font-weight: 400 !important;
   text-transform: none !important;
   box-shadow: none !important;
}
.nexus-btn-alt {
   background-color: transparent !important;
   border: 1px solid #6a6c6f !important;
   color: #6a6c6f !important;
   height: 34px !important;
   padding: 0 10px !important;
   border-radius: 3px !important;
   font-size: 12px !important;
   font-weight: 600 !important;
   text-transform: none !important;
   letter-spacing: 0.2px;
   box-shadow: none !important;
}
.nexus-btn-icon {
   background-color: #34495e !important;
   color: #ffffff !important;
   height: 34px !important;
   width: 34px !important;
   min-width: 34px !important;
   padding: 0 !important;
   border-radius: 3px !important;
   box-shadow: none !important;
}
.nexus-btn-icon .mud-icon-root { font-size: 13px !important; }
/* Layout & Sidebar overrides */
.nexus-appbar-industrial {
   background-color: #34495e !important;
   color: #ffffff !important;
}
.nexus-main-bg {
   background-color: #f4f7f9;
   min-height: 100vh;
}
.nexus-sidebar-v2 {
   background-color: #34495e !important;
   border-right: 1px solid rgba(255,255,255,0.05);
}
/* Status dots */
.status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.status-dot.bueno { background-color: #62cb31; }
.status-dot.afectado { background-color: #ffa500; }
.status-dot.desconectado { background-color: #e74c3c; }

/* Sidebar Active Link Override */
.mud-nav-link.active {
   background-color: #3498db !important; /* Info color */
   color: #ffffff !important;
}
.mud-nav-link.active .mud-icon-root {
   color: #ffffff !important;
}
