     body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            display: flex;
            margin: 0;
            min-height: 100vh;
            background-color: #f4f4f9;
          
        }
        .menu {
            width: 250px;
            background-color: #fff;
            padding: 20px;
            border-right: 1px solid #ddd;
            box-shadow: 2px 0 5px rgba(0,0,0,0.1);
            display: flex;
            flex-direction: column;
            transform: translateX(0);
            transition: transform 0.3s ease-in-out;
         }
        .menu-header {
            display: flex;
            align-items: center;
            gap: 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid #eee;
        }
        .menu h2 {
            margin-top: 0;
            margin-bottom: 0;
            color: #333;
            /* Removed border and padding as it's on menu-header now */
            border-bottom: none;
            padding-bottom: 0;
        }
        .menu ul {
            list-style-type: none;
            padding: 0;
            flex-grow: 1;
        }
        .menu ul li a {
            display: block;
            padding: 10px 15px;
            color: #007bff;
            text-decoration: none;
            border-radius: 4px;
            margin-bottom: 5px;
        }
        .menu ul li a:hover {
            background-color: #e9ecef;
        }
            .menu-link.start-link { color: #007bff; } /* Blue, like other menu items */
        .menu-link.stop-link { color: #dc3545; } /* Red for destructive action */
             /* Menu HR separator */
        .menu ul li.hr-li {
            padding: 5px 0;
            margin: 5px 0;
        }
        .menu ul li.hr-li hr {
            border: 0;
            border-top: 1px solid #eee;
        }
    
        .menu.collapsed {
            transform: translateX(-100%);
        }
        .content {
            flex-grow: 1;
            transition: margin-left 0.3s ease-in-out;
            padding: 20px;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }
        .content-body {
            flex-grow: 1;
        }
        .content {
            flex-grow: 1;
            padding: 20px;
        }
      
        .error {
            color: #dc3545;
            font-weight: bold;
        }
        /* Broker Login Status Indicator */
        .broker-status-indicator {
            position: fixed;
            top: 20px;
            right: 20px;
            z-index: 1050; /* High z-index to appear on top */
            display: flex;
            gap: 8px;
            padding: 5px;
            background-color: rgba(255, 255, 255, 0.9);
            border-radius: 15px;
            box-shadow: 0 1px 4px rgba(0,0,0,0.2);
        }
        .status-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            cursor: help;
        }
        .status-dot.upstox {
            background-color: #28a745; /* Green */
        }
        .status-dot.kite {
            background-color: #3498db; /* Blue */
        }

  
 /* refresh data views */
     .refresh-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #555;
        text-decoration: none;
    }
    .refresh-link svg {
        width: 20px;
        height: 20px;
        transition: transform 0.5s ease;
    }
    .refresh-link:hover svg {
        transform: rotate(180deg);
    }
       .header-main {
        display: flex;
        align-items: center;
        gap: 15px;
        margin-bottom: 5px;
    }
        /* Menu Status Widget */
        .status-widget-menu {
            padding: 10px 15px;
            background-color: #f8f9fa;
            border: 1px solid #e9ecef;
            border-radius: 4px;
            margin-bottom: 10px;
            font-size: 0.9em;
        }
        .status-widget-menu .status-item {
            display: flex;
            justify-content: space-between;
            margin-bottom: 5px;
        }
        .status-widget-menu .status-item span:first-child {
            font-weight: 600;
            color: #495057;
        }
        .status-widget-menu .status-value {
            font-weight: bold;
            text-transform: capitalize;
        }
        .status-running, .status-connected { color: #28a745; }
        .status-standby, .status-codegen { color: #ffc107; }
        .status-stopped, .status-failed, .status-unknown { color: #dc3545; }

        /* Link styles for the status widget */
        #engine-control-widget-container .menu-link {
            display: block;
            padding: 10px 15px;
            text-decoration: none;
            border-radius: 4px;
            margin-bottom: 5px;
            font-weight: 500;
        }
        #engine-control-widget-container .menu-link:hover {
            background-color: #e9ecef;
        }
    
        .hamburger {
            position: fixed;
            top: 15px;
            left: 15px;
            z-index: 1000;
            cursor: pointer;
            background: #f1f1f1;
            border-radius: 50%;
            padding: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        }
        .hamburger svg {
            width: 24px;
            height: 24px;
        }
        .footer {
            text-align: center;
            padding: 20px;
            margin-top: auto;
            background-color: #f8f9fa;
            border-top: 1px solid #e7e7e7;
            font-size: 0.9em;
            color: #6c757d;
        }
        .footer a {
            color: #007bff;
            text-decoration: none;
            margin: 0 10px;
        }
        .footer a:hover {
            text-decoration: underline;
        }
    