:root { --sidebar-width: 240px; } body { min-height: 100vh; background: #f4f6f9; } .sidebar { width: var(--sidebar-width); min-height: 100vh; position: fixed; top: 0; left: 0; z-index: 100; overflow-y: auto; } .sidebar .nav-link { padding: 0.6rem 1rem; border-radius: 0.375rem; margin: 2px 8px; transition: background 0.15s; } .sidebar .nav-link:hover { background: rgba(255, 255, 255, 0.1); } .sidebar .nav-link.active { background: rgba(255, 255, 255, 0.15); font-weight: 600; } .sidebar .nav-link i { width: 24px; text-align: center; margin-right: 8px; } .main-content { margin-left: var(--sidebar-width); min-height: 100vh; padding: 1.5rem; } .status-dot { width: 16px; height: 16px; border-radius: 50%; display: inline-block; border: 1px solid rgba(0, 0, 0, 0.2); } .busylight-card { border: none; border-radius: 12px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); transition: box-shadow 0.2s; } .busylight-card:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); } .segment-bar { height: 40px; border-radius: 6px; display: flex; align-items: center; padding: 0 12px; color: #333; font-size: 0.9rem; border: 1px solid rgba(0, 0, 0, 0.1); } .segment-bar.empty { background: repeating-linear-gradient( 45deg, #f0f0f0, #f0f0f0 5px, #e8e8e8 5px, #e8e8e8 10px ); color: #999; font-style: italic; } .color-preview { width: 40px; height: 40px; border-radius: 8px; border: 2px solid rgba(0, 0, 0, 0.15); cursor: pointer; } .table th { font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; color: #6c757d; } .badge-online { background: #28a745; } .badge-offline { background: #6c757d; } .log-table { font-size: 0.85rem; } .log-table td { vertical-align: middle; } /* Compact dashboard */ .seg-compact { padding: 4px 8px; border-radius: 4px; margin-bottom: 3px; font-size: 0.8rem; } .seg-compact .seg-name { display: block; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.78rem; } .seg-compact .seg-badges { display: flex; gap: 3px; flex-wrap: wrap; margin-top: 2px; } .seg-compact.seg-empty { background: #f8f8f8; border-left: 3px solid #ddd; } .badge-sm { font-size: 0.65rem; padding: 1px 5px; border-radius: 3px; font-weight: 500; color: #fff; display: inline-block; line-height: 1.4; } @media (max-width: 768px) { .sidebar { width: 100%; min-height: auto; position: relative; } .main-content { margin-left: 0; } }